aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-06-23 15:17:00 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-06-23 15:17:00 +0200
commit42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f (patch)
tree21d49c3a1dadc54dda399a4b8cfe8dc028563f51 /Application/org.eclipse.viatra.solver.language
parentMeasurements framework fixes (diff)
downloadVIATRA-Generator-42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f.tar.gz
VIATRA-Generator-42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f.tar.zst
VIATRA-Generator-42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f.zip
New configuration language parser WIP
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language')
-rw-r--r--Application/org.eclipse.viatra.solver.language/.classpath1
-rw-r--r--Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF10
-rw-r--r--Application/org.eclipse.viatra.solver.language/build.properties3
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java115
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java95
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java463
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java115
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java95
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java92
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java60
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java92
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java92
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java60
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java49
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java256
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java139
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java92
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java72
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java210
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java115
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java39
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java95
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java233
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java538
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java5191
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java37
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java72
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java302
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java69
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java378
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java154
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java221
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java221
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java373
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java246
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java241
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java318
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java152
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java247
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java152
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java178
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java291
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java208
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java311
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java248
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java134
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java314
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java246
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java246
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java248
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java224
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java154
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java166
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java430
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java309
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java166
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java249
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java372
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java154
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java318
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java905
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java2726
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java165
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java152
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java221
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java249
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java247
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java159
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java1147
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java1388
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore291
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel249
-rw-r--r--Application/org.eclipse.viatra.solver.language/plugin.xml8
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java7
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin13021 -> 14135 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g2871
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java8995
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens139
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g30
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java1325
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens139
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java1375
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java87
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java2840
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe22
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext215
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbinbin2742 -> 2742 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbinbin2758 -> 2758 bytes
149 files changed, 10560 insertions, 36132 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/.classpath b/Application/org.eclipse.viatra.solver.language/.classpath
index 6b0b4bdb..9081d4f7 100644
--- a/Application/org.eclipse.viatra.solver.language/.classpath
+++ b/Application/org.eclipse.viatra.solver.language/.classpath
@@ -3,7 +3,6 @@
3 <classpathentry kind="src" path="src"/> 3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/> 4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/> 5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="src" path="ecore-gen"/>
7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9 <classpathentry kind="output" path="bin"/> 8 <classpathentry kind="output" path="bin"/>
diff --git a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
index c45bb276..5ee256a4 100644
--- a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
+++ b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
@@ -14,18 +14,16 @@ Require-Bundle: org.eclipse.xtext,
14 org.eclipse.xtext.util, 14 org.eclipse.xtext.util,
15 org.eclipse.emf.common, 15 org.eclipse.emf.common,
16 org.eclipse.xtend.lib;bundle-version="2.14.0", 16 org.eclipse.xtend.lib;bundle-version="2.14.0",
17 org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" 17 org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
18 org.eclipse.viatra.solver.language.model;bundle-version="0.1.0";visibility:=reexport
18Bundle-RequiredExecutionEnvironment: JavaSE-1.8 19Bundle-RequiredExecutionEnvironment: JavaSE-1.8
19Export-Package: org.eclipse.viatra.solver.language, 20Export-Package: org.eclipse.viatra.solver.language,
20 org.eclipse.viatra.solver.language.generator, 21 org.eclipse.viatra.solver.language.generator,
21 org.eclipse.viatra.solver.language.parser.antlr, 22 org.eclipse.viatra.solver.language.parser.antlr,
22 org.eclipse.viatra.solver.language.parser.antlr.internal, 23 org.eclipse.viatra.solver.language.parser.antlr.internal,
24 org.eclipse.viatra.solver.language.parser.antlr.lexer,
23 org.eclipse.viatra.solver.language.scoping, 25 org.eclipse.viatra.solver.language.scoping,
24 org.eclipse.viatra.solver.language.serializer, 26 org.eclipse.viatra.solver.language.serializer,
25 org.eclipse.viatra.solver.language.services, 27 org.eclipse.viatra.solver.language.services,
26 org.eclipse.viatra.solver.language.solverLanguage, 28 org.eclipse.viatra.solver.language.validation
27 org.eclipse.viatra.solver.language.solverLanguage.impl,
28 org.eclipse.viatra.solver.language.solverLanguage.util,
29 org.eclipse.viatra.solver.language.validation,
30 org.eclipse.viatra.solver.language.parser.antlr.lexer
31Import-Package: org.apache.log4j 29Import-Package: org.apache.log4j
diff --git a/Application/org.eclipse.viatra.solver.language/build.properties b/Application/org.eclipse.viatra.solver.language/build.properties
index aa338a94..b1584c24 100644
--- a/Application/org.eclipse.viatra.solver.language/build.properties
+++ b/Application/org.eclipse.viatra.solver.language/build.properties
@@ -1,8 +1,7 @@
1source.. = src/,\ 1source.. = src/,\
2 src-gen/,\ 2 src-gen/,\
3 xtend-gen/ 3 xtend-gen/
4bin.includes = model/generated/,\ 4bin.includes = .,\
5 .,\
6 META-INF/,\ 5 META-INF/,\
7 plugin.xml 6 plugin.xml
8bin.excludes = **/*.mwe2,\ 7bin.excludes = **/*.mwe2,\
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
deleted file mode 100644
index f6159bd8..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
+++ /dev/null
@@ -1,115 +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#getLocalVariables <em>Local Variables</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation()
23 * @model
24 * @generated
25 */
26public interface Aggregation extends Expression {
27 /**
28 * Returns the value of the '<em><b>Op</b></em>' reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Op</em>' reference.
32 * @see #setOp(NamedElement)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op()
34 * @model
35 * @generated
36 */
37 NamedElement getOp();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}' reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Op</em>' reference.
44 * @see #getOp()
45 * @generated
46 */
47 void setOp(NamedElement value);
48
49 /**
50 * Returns the value of the '<em><b>Local Variables</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Local Variables</em>' containment reference.
54 * @see #setLocalVariables(LocalVariables)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_LocalVariables()
56 * @model containment="true"
57 * @generated
58 */
59 LocalVariables getLocalVariables();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables <em>Local Variables</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Local Variables</em>' containment reference.
66 * @see #getLocalVariables()
67 * @generated
68 */
69 void setLocalVariables(LocalVariables value);
70
71 /**
72 * Returns the value of the '<em><b>Body</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Body</em>' containment reference.
76 * @see #setBody(Expression)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body()
78 * @model containment="true"
79 * @generated
80 */
81 Expression getBody();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Body</em>' containment reference.
88 * @see #getBody()
89 * @generated
90 */
91 void setBody(Expression value);
92
93 /**
94 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Condition</em>' containment reference.
98 * @see #setCondition(Expression)
99 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition()
100 * @model containment="true"
101 * @generated
102 */
103 Expression getCondition();
104
105 /**
106 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}' containment reference.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @param value the new value of the '<em>Condition</em>' containment reference.
110 * @see #getCondition()
111 * @generated
112 */
113 void setCondition(Expression value);
114
115} // Aggregation
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
deleted file mode 100644
index 3f5d1b45..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
+++ /dev/null
@@ -1,19 +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} // Argument
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
deleted file mode 100644
index 2be01423..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
+++ /dev/null
@@ -1,39 +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 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Arguments</em>' containment reference list.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments()
34 * @model containment="true"
35 * @generated
36 */
37 EList<Argument> getArguments();
38
39} // ArgumentList
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
deleted file mode 100644
index 6b50beba..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
+++ /dev/null
@@ -1,95 +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 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Left</em>' containment reference.
31 * @see #setLeft(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getLeft();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Left</em>' containment reference.
43 * @see #getLeft()
44 * @generated
45 */
46 void setLeft(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Op</b></em>' attribute.
50 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Op</em>' attribute.
54 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
55 * @see #setOp(BinaryOperator)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op()
57 * @model
58 * @generated
59 */
60 BinaryOperator getOp();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Op</em>' attribute.
67 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
68 * @see #getOp()
69 * @generated
70 */
71 void setOp(BinaryOperator value);
72
73 /**
74 * Returns the value of the '<em><b>Right</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Right</em>' containment reference.
78 * @see #setRight(Expression)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right()
80 * @model containment="true"
81 * @generated
82 */
83 Expression getRight();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Right</em>' containment reference.
90 * @see #getRight()
91 * @generated
92 */
93 void setRight(Expression value);
94
95} // BinaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
deleted file mode 100644
index ce34afc7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
+++ /dev/null
@@ -1,463 +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 * The '<em><b>EQ</b></em>' literal object.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @see #EQ_VALUE
27 * @generated
28 * @ordered
29 */
30 EQ(0, "EQ", "EQ"),
31
32 /**
33 * The '<em><b>NOT EQ</b></em>' literal object.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #NOT_EQ_VALUE
37 * @generated
38 * @ordered
39 */
40 NOT_EQ(1, "NOT_EQ", "NOT_EQ"),
41
42 /**
43 * The '<em><b>LESS</b></em>' literal object.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #LESS_VALUE
47 * @generated
48 * @ordered
49 */
50 LESS(2, "LESS", "LESS"),
51
52 /**
53 * The '<em><b>LESS EQ</b></em>' literal object.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #LESS_EQ_VALUE
57 * @generated
58 * @ordered
59 */
60 LESS_EQ(3, "LESS_EQ", "LESS_EQ"),
61
62 /**
63 * The '<em><b>GREATER</b></em>' literal object.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #GREATER_VALUE
67 * @generated
68 * @ordered
69 */
70 GREATER(4, "GREATER", "GREATER"),
71
72 /**
73 * The '<em><b>GREATER EQ</b></em>' literal object.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #GREATER_EQ_VALUE
77 * @generated
78 * @ordered
79 */
80 GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"),
81
82 /**
83 * The '<em><b>IN</b></em>' literal object.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @see #IN_VALUE
87 * @generated
88 * @ordered
89 */
90 IN(6, "IN", "IN"),
91
92 /**
93 * The '<em><b>ADD</b></em>' literal object.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @see #ADD_VALUE
97 * @generated
98 * @ordered
99 */
100 ADD(7, "ADD", "ADD"),
101
102 /**
103 * The '<em><b>SUB</b></em>' literal object.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @see #SUB_VALUE
107 * @generated
108 * @ordered
109 */
110 SUB(8, "SUB", "SUB"),
111
112 /**
113 * The '<em><b>MUL</b></em>' literal object.
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @see #MUL_VALUE
117 * @generated
118 * @ordered
119 */
120 MUL(9, "MUL", "MUL"),
121
122 /**
123 * The '<em><b>DIV</b></em>' literal object.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @see #DIV_VALUE
127 * @generated
128 * @ordered
129 */
130 DIV(10, "DIV", "DIV"),
131
132 /**
133 * The '<em><b>POW</b></em>' literal object.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see #POW_VALUE
137 * @generated
138 * @ordered
139 */
140 POW(11, "POW", "POW"),
141
142 /**
143 * The '<em><b>IMPLIES</b></em>' literal object.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @see #IMPLIES_VALUE
147 * @generated
148 * @ordered
149 */
150 IMPLIES(12, "IMPLIES", "IMPLIES");
151
152 /**
153 * The '<em><b>EQ</b></em>' literal value.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @see #EQ
157 * @model
158 * @generated
159 * @ordered
160 */
161 public static final int EQ_VALUE = 0;
162
163 /**
164 * The '<em><b>NOT EQ</b></em>' literal value.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @see #NOT_EQ
168 * @model
169 * @generated
170 * @ordered
171 */
172 public static final int NOT_EQ_VALUE = 1;
173
174 /**
175 * The '<em><b>LESS</b></em>' literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @see #LESS
179 * @model
180 * @generated
181 * @ordered
182 */
183 public static final int LESS_VALUE = 2;
184
185 /**
186 * The '<em><b>LESS EQ</b></em>' literal value.
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @see #LESS_EQ
190 * @model
191 * @generated
192 * @ordered
193 */
194 public static final int LESS_EQ_VALUE = 3;
195
196 /**
197 * The '<em><b>GREATER</b></em>' literal value.
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @see #GREATER
201 * @model
202 * @generated
203 * @ordered
204 */
205 public static final int GREATER_VALUE = 4;
206
207 /**
208 * The '<em><b>GREATER EQ</b></em>' literal value.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @see #GREATER_EQ
212 * @model
213 * @generated
214 * @ordered
215 */
216 public static final int GREATER_EQ_VALUE = 5;
217
218 /**
219 * The '<em><b>IN</b></em>' literal value.
220 * <!-- begin-user-doc -->
221 * <!-- end-user-doc -->
222 * @see #IN
223 * @model
224 * @generated
225 * @ordered
226 */
227 public static final int IN_VALUE = 6;
228
229 /**
230 * The '<em><b>ADD</b></em>' literal value.
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @see #ADD
234 * @model
235 * @generated
236 * @ordered
237 */
238 public static final int ADD_VALUE = 7;
239
240 /**
241 * The '<em><b>SUB</b></em>' literal value.
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @see #SUB
245 * @model
246 * @generated
247 * @ordered
248 */
249 public static final int SUB_VALUE = 8;
250
251 /**
252 * The '<em><b>MUL</b></em>' literal value.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @see #MUL
256 * @model
257 * @generated
258 * @ordered
259 */
260 public static final int MUL_VALUE = 9;
261
262 /**
263 * The '<em><b>DIV</b></em>' literal value.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @see #DIV
267 * @model
268 * @generated
269 * @ordered
270 */
271 public static final int DIV_VALUE = 10;
272
273 /**
274 * The '<em><b>POW</b></em>' literal value.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @see #POW
278 * @model
279 * @generated
280 * @ordered
281 */
282 public static final int POW_VALUE = 11;
283
284 /**
285 * The '<em><b>IMPLIES</b></em>' literal value.
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @see #IMPLIES
289 * @model
290 * @generated
291 * @ordered
292 */
293 public static final int IMPLIES_VALUE = 12;
294
295 /**
296 * An array of all the '<em><b>Binary Operator</b></em>' enumerators.
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 private static final BinaryOperator[] VALUES_ARRAY =
302 new BinaryOperator[] {
303 EQ,
304 NOT_EQ,
305 LESS,
306 LESS_EQ,
307 GREATER,
308 GREATER_EQ,
309 IN,
310 ADD,
311 SUB,
312 MUL,
313 DIV,
314 POW,
315 IMPLIES,
316 };
317
318 /**
319 * A public read-only list of all the '<em><b>Binary Operator</b></em>' enumerators.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 */
324 public static final List<BinaryOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
325
326 /**
327 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified literal value.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @param literal the literal.
331 * @return the matching enumerator or <code>null</code>.
332 * @generated
333 */
334 public static BinaryOperator get(String literal) {
335 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
336 BinaryOperator result = VALUES_ARRAY[i];
337 if (result.toString().equals(literal)) {
338 return result;
339 }
340 }
341 return null;
342 }
343
344 /**
345 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified name.
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @param name the name.
349 * @return the matching enumerator or <code>null</code>.
350 * @generated
351 */
352 public static BinaryOperator getByName(String name) {
353 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
354 BinaryOperator result = VALUES_ARRAY[i];
355 if (result.getName().equals(name)) {
356 return result;
357 }
358 }
359 return null;
360 }
361
362 /**
363 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified integer value.
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @param value the integer value.
367 * @return the matching enumerator or <code>null</code>.
368 * @generated
369 */
370 public static BinaryOperator get(int value) {
371 switch (value) {
372 case EQ_VALUE: return EQ;
373 case NOT_EQ_VALUE: return NOT_EQ;
374 case LESS_VALUE: return LESS;
375 case LESS_EQ_VALUE: return LESS_EQ;
376 case GREATER_VALUE: return GREATER;
377 case GREATER_EQ_VALUE: return GREATER_EQ;
378 case IN_VALUE: return IN;
379 case ADD_VALUE: return ADD;
380 case SUB_VALUE: return SUB;
381 case MUL_VALUE: return MUL;
382 case DIV_VALUE: return DIV;
383 case POW_VALUE: return POW;
384 case IMPLIES_VALUE: return IMPLIES;
385 }
386 return null;
387 }
388
389 /**
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @generated
393 */
394 private final int value;
395
396 /**
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 */
401 private final String name;
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 private final String literal;
409
410 /**
411 * Only this class can construct instances.
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 */
416 private BinaryOperator(int value, String name, String literal) {
417 this.value = value;
418 this.name = name;
419 this.literal = literal;
420 }
421
422 /**
423 * <!-- begin-user-doc -->
424 * <!-- end-user-doc -->
425 * @generated
426 */
427 @Override
428 public int getValue() {
429 return value;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public String getName() {
439 return name;
440 }
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 @Override
448 public String getLiteral() {
449 return literal;
450 }
451
452 /**
453 * Returns the literal value of the enumerator, which is its string representation.
454 * <!-- begin-user-doc -->
455 * <!-- end-user-doc -->
456 * @generated
457 */
458 @Override
459 public String toString() {
460 return literal;
461 }
462
463} //BinaryOperator
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
deleted file mode 100644
index e0cea7d4..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
+++ /dev/null
@@ -1,69 +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 * 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#getBoundedMultiplicity_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#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 /**
48 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Upper Bound</em>' attribute.
52 * @see #setUpperBound(int)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound()
54 * @model
55 * @generated
56 */
57 int getUpperBound();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Upper Bound</em>' attribute.
64 * @see #getUpperBound()
65 * @generated
66 */
67 void setUpperBound(int value);
68
69} // BoundedMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
deleted file mode 100644
index 81f87193..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
+++ /dev/null
@@ -1,69 +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 * 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#getBoundedScopeDefinition_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#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 /**
48 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Upper Bound</em>' attribute.
52 * @see #setUpperBound(int)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound()
54 * @model
55 * @generated
56 */
57 int getUpperBound();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Upper Bound</em>' attribute.
64 * @see #getUpperBound()
65 * @generated
66 */
67 void setUpperBound(int value);
68
69} // BoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
deleted file mode 100644
index ab0940bb..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
+++ /dev/null
@@ -1,115 +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 * Returns the value of the '<em><b>Functor</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Functor</em>' containment reference.
32 * @see #setFunctor(Reference)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor()
34 * @model containment="true"
35 * @generated
36 */
37 Reference getFunctor();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Functor</em>' containment reference.
44 * @see #getFunctor()
45 * @generated
46 */
47 void setFunctor(Reference value);
48
49 /**
50 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Transitive Closure</em>' attribute.
54 * @see #setTransitiveClosure(boolean)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure()
56 * @model
57 * @generated
58 */
59 boolean isTransitiveClosure();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
66 * @see #isTransitiveClosure()
67 * @generated
68 */
69 void setTransitiveClosure(boolean value);
70
71 /**
72 * Returns the value of the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Reflexive Transitive Closure</em>' attribute.
76 * @see #setReflexiveTransitiveClosure(boolean)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure()
78 * @model
79 * @generated
80 */
81 boolean isReflexiveTransitiveClosure();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Reflexive Transitive Closure</em>' attribute.
88 * @see #isReflexiveTransitiveClosure()
89 * @generated
90 */
91 void setReflexiveTransitiveClosure(boolean value);
92
93 /**
94 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Argument List</em>' containment reference.
98 * @see #setArgumentList(ArgumentList)
99 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
100 * @model containment="true"
101 * @generated
102 */
103 ArgumentList getArgumentList();
104
105 /**
106 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @param value the new value of the '<em>Argument List</em>' containment reference.
110 * @see #getArgumentList()
111 * @generated
112 */
113 void setArgumentList(ArgumentList value);
114
115} // Call
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
deleted file mode 100644
index f2d2e5a7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
+++ /dev/null
@@ -1,69 +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#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</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 * 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#getCase_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.Case#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 /**
48 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Condition</em>' containment reference.
52 * @see #setCondition(Expression)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition()
54 * @model containment="true"
55 * @generated
56 */
57 Expression getCondition();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Condition</em>' containment reference.
64 * @see #getCondition()
65 * @generated
66 */
67 void setCondition(Expression value);
68
69} // Case
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java
deleted file mode 100644
index d8fe4945..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java
+++ /dev/null
@@ -1,69 +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>Cast 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.CastExpression#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType <em>Type</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression()
21 * @model
22 * @generated
23 */
24public interface CastExpression extends Expression {
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#getCastExpression_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.CastExpression#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 /**
48 * Returns the value of the '<em><b>Type</b></em>' reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Type</em>' reference.
52 * @see #setType(NamedElement)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression_Type()
54 * @model
55 * @generated
56 */
57 NamedElement getType();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType <em>Type</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Type</em>' reference.
64 * @see #getType()
65 * @generated
66 */
67 void setType(NamedElement value);
68
69} // CastExpression
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
deleted file mode 100644
index 0963c7a1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
+++ /dev/null
@@ -1,96 +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 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Abstract</em>' attribute.
33 * @see #setAbstract(boolean)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract()
35 * @model
36 * @generated
37 */
38 boolean isAbstract();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Abstract</em>' attribute.
45 * @see #isAbstract()
46 * @generated
47 */
48 void setAbstract(boolean value);
49
50 /**
51 * Returns the value of the '<em><b>Name</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Name</em>' attribute.
55 * @see #setName(String)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name()
57 * @model
58 * @generated
59 */
60 String getName();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Name</em>' attribute.
67 * @see #getName()
68 * @generated
69 */
70 void setName(String value);
71
72 /**
73 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
74 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Superclasses</em>' reference list.
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses()
79 * @model
80 * @generated
81 */
82 EList<NamedElement> getSuperclasses();
83
84 /**
85 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
86 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @return the value of the '<em>Members</em>' containment reference list.
90 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members()
91 * @model containment="true"
92 * @generated
93 */
94 EList<MemberDefinition> getMembers();
95
96} // ClassDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
deleted file mode 100644
index 5187c5db..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
+++ /dev/null
@@ -1,95 +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 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Left</em>' containment reference.
31 * @see #setLeft(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getLeft();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Left</em>' containment reference.
43 * @see #getLeft()
44 * @generated
45 */
46 void setLeft(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Op</b></em>' attribute.
50 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Op</em>' attribute.
54 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
55 * @see #setOp(BinaryOperator)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op()
57 * @model
58 * @generated
59 */
60 BinaryOperator getOp();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Op</em>' attribute.
67 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
68 * @see #getOp()
69 * @generated
70 */
71 void setOp(BinaryOperator value);
72
73 /**
74 * Returns the value of the '<em><b>Right</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Right</em>' containment reference.
78 * @see #setRight(Expression)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right()
80 * @model containment="true"
81 * @generated
82 */
83 Expression getRight();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Right</em>' containment reference.
90 * @see #getRight()
91 * @generated
92 */
93 void setRight(Expression value);
94
95} // Comparison
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
deleted file mode 100644
index 788f5a97..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
+++ /dev/null
@@ -1,37 +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 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
27 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Children</em>' containment reference list.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children()
32 * @model containment="true"
33 * @generated
34 */
35 EList<Expression> getChildren();
36
37} // Conjunction
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
deleted file mode 100644
index ac5f6f32..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
+++ /dev/null
@@ -1,69 +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 * 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#getDefaultDefinition_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.DefaultDefinition#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 /**
48 * Returns the value of the '<em><b>Range</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Range</em>' containment reference.
52 * @see #setRange(Expression)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range()
54 * @model containment="true"
55 * @generated
56 */
57 Expression getRange();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Range</em>' containment reference.
64 * @see #getRange()
65 * @generated
66 */
67 void setRange(Expression value);
68
69} // DefaultDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
deleted file mode 100644
index eb1cafde..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
+++ /dev/null
@@ -1,37 +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 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
27 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Children</em>' containment reference list.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children()
32 * @model containment="true"
33 * @generated
34 */
35 EList<Expression> getChildren();
36
37} // Disjunction
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
deleted file mode 100644
index b3e5ccf7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
+++ /dev/null
@@ -1,18 +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} // EmptyIntervalLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
deleted file mode 100644
index 666c2f43..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Multiplicity</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Multiplicity</em>' attribute.
29 * @see #setMultiplicity(int)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity()
31 * @model
32 * @generated
33 */
34 int getMultiplicity();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Multiplicity</em>' attribute.
41 * @see #getMultiplicity()
42 * @generated
43 */
44 void setMultiplicity(int value);
45
46} // ExactMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
deleted file mode 100644
index 035329e2..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Exact Scope</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Exact Scope</em>' attribute.
29 * @see #setExactScope(int)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope()
31 * @model
32 * @generated
33 */
34 int getExactScope();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Exact Scope</em>' attribute.
41 * @see #getExactScope()
42 * @generated
43 */
44 void setExactScope(int value);
45
46} // ExactScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
deleted file mode 100644
index 2034cdfd..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
+++ /dev/null
@@ -1,18 +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 abstract="true"
15 * @generated
16 */
17public interface Expression extends Statement {
18} // Expression
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
deleted file mode 100644
index 26f6142e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Body</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Body</em>' containment reference.
29 * @see #setBody(Expression)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body()
31 * @model containment="true"
32 * @generated
33 */
34 Expression getBody();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Body</em>' containment reference.
41 * @see #getBody()
42 * @generated
43 */
44 void setBody(Expression value);
45
46} // ExpressionArgument
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java
deleted file mode 100644
index eb6b8cdf..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java
+++ /dev/null
@@ -1,92 +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 Aggregator 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.ExternAggregatorDefinition#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName <em>Name</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType <em>Input Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition()
22 * @model
23 * @generated
24 */
25public interface ExternAggregatorDefinition extends Statement {
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#getExternAggregatorDefinition_Type()
33 * @model
34 * @generated
35 */
36 NamedElement getType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#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>Name</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Name</em>' attribute.
53 * @see #setName(String)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_Name()
55 * @model
56 * @generated
57 */
58 String getName();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName <em>Name</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Name</em>' attribute.
65 * @see #getName()
66 * @generated
67 */
68 void setName(String value);
69
70 /**
71 * Returns the value of the '<em><b>Input Type</b></em>' reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Input Type</em>' reference.
75 * @see #setInputType(NamedElement)
76 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_InputType()
77 * @model
78 * @generated
79 */
80 NamedElement getInputType();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType <em>Input Type</em>}' reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Input Type</em>' reference.
87 * @see #getInputType()
88 * @generated
89 */
90 void setInputType(NamedElement value);
91
92} // ExternAggregatorDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java
deleted file mode 100644
index a0fb33eb..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java
+++ /dev/null
@@ -1,60 +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>Extern Datatype 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.ExternDatatypeDefinition#getName <em>Name</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes <em>Supertypes</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition()
22 * @model
23 * @generated
24 */
25public interface ExternDatatypeDefinition extends Statement {
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#getExternDatatypeDefinition_Name()
33 * @model
34 * @generated
35 */
36 String getName();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#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 /**
49 * Returns the value of the '<em><b>Supertypes</b></em>' reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Supertypes</em>' reference list.
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition_Supertypes()
55 * @model
56 * @generated
57 */
58 EList<NamedElement> getSupertypes();
59
60} // ExternDatatypeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
deleted file mode 100644
index 45cac1e2..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
+++ /dev/null
@@ -1,92 +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#getName <em>Name</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList <em>Argument List</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition()
22 * @model
23 * @generated
24 */
25public interface ExternMetricDefinition extends Statement {
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#getExternMetricDefinition_Type()
33 * @model
34 * @generated
35 */
36 NamedElement getType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#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>Name</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Name</em>' attribute.
53 * @see #setName(String)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Name()
55 * @model
56 * @generated
57 */
58 String getName();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName <em>Name</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Name</em>' attribute.
65 * @see #getName()
66 * @generated
67 */
68 void setName(String value);
69
70 /**
71 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Argument List</em>' containment reference.
75 * @see #setArgumentList(ArgumentList)
76 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_ArgumentList()
77 * @model containment="true"
78 * @generated
79 */
80 ArgumentList getArgumentList();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList <em>Argument List</em>}' containment reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Argument List</em>' containment reference.
87 * @see #getArgumentList()
88 * @generated
89 */
90 void setArgumentList(ArgumentList value);
91
92} // ExternMetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
deleted file mode 100644
index 647f7b91..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
+++ /dev/null
@@ -1,69 +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#getName <em>Name</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList <em>Argument List</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition()
21 * @model
22 * @generated
23 */
24public interface ExternPredicateDefinition extends Statement {
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47 /**
48 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Argument List</em>' containment reference.
52 * @see #setArgumentList(ArgumentList)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_ArgumentList()
54 * @model containment="true"
55 * @generated
56 */
57 ArgumentList getArgumentList();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList <em>Argument List</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Argument List</em>' containment reference.
64 * @see #getArgumentList()
65 * @generated
66 */
67 void setArgumentList(ArgumentList value);
68
69} // ExternPredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java
deleted file mode 100644
index 45861d3e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java
+++ /dev/null
@@ -1,37 +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>Functor</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.Functor#getParameters <em>Parameters</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor()
21 * @model abstract="true"
22 * @generated
23 */
24public interface Functor extends NamedElement {
25 /**
26 * Returns the value of the '<em><b>Parameters</b></em>' reference list.
27 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Parameters</em>' reference list.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor_Parameters()
32 * @model
33 * @generated
34 */
35 EList<Variable> getParameters();
36
37} // Functor
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
deleted file mode 100644
index d32ca1e3..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
+++ /dev/null
@@ -1,92 +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#getThen <em>Then</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</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 * Returns the value of the '<em><b>Then</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Then</em>' containment reference.
31 * @see #setThen(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getThen();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Then</em>' containment reference.
43 * @see #getThen()
44 * @generated
45 */
46 void setThen(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Else</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Else</em>' containment reference.
53 * @see #setElse(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getElse();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Else</em>' containment reference.
65 * @see #getElse()
66 * @generated
67 */
68 void setElse(Expression value);
69
70 /**
71 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Condition</em>' containment reference.
75 * @see #setCondition(Expression)
76 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition()
77 * @model containment="true"
78 * @generated
79 */
80 Expression getCondition();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}' containment reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Condition</em>' containment reference.
87 * @see #getCondition()
88 * @generated
89 */
90 void setCondition(Expression value);
91
92} // IfElse
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
deleted file mode 100644
index 5a584019..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
+++ /dev/null
@@ -1,18 +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} // InfinityLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
deleted file mode 100644
index 4d1b6b77..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
+++ /dev/null
@@ -1,69 +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>Interpretation</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.Interpretation#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation()
21 * @model
22 * @generated
23 */
24public interface Interpretation extends Statement {
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#getInterpretation_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.Interpretation#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 /**
48 * Returns the value of the '<em><b>Range</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Range</em>' containment reference.
52 * @see #setRange(Expression)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation_Range()
54 * @model containment="true"
55 * @generated
56 */
57 Expression getRange();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange <em>Range</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Range</em>' containment reference.
64 * @see #getRange()
65 * @generated
66 */
67 void setRange(Expression value);
68
69} // Interpretation
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
deleted file mode 100644
index 39e4cbf3..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
+++ /dev/null
@@ -1,69 +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 * Returns the value of the '<em><b>Lower Bound</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Lower Bound</em>' containment reference.
30 * @see #setLowerBound(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Lower Bound</em>' containment reference.
42 * @see #getLowerBound()
43 * @generated
44 */
45 void setLowerBound(Expression value);
46
47 /**
48 * Returns the value of the '<em><b>Upper Bound</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Upper Bound</em>' containment reference.
52 * @see #setUpperBound(Expression)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound()
54 * @model containment="true"
55 * @generated
56 */
57 Expression getUpperBound();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Upper Bound</em>' containment reference.
64 * @see #getUpperBound()
65 * @generated
66 */
67 void setUpperBound(Expression value);
68
69} // Interval
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java
deleted file mode 100644
index d3e76c1e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java
+++ /dev/null
@@ -1,60 +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>Let</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.Let#getBindings <em>Bindings</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody <em>Body</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet()
22 * @model
23 * @generated
24 */
25public interface Let extends Expression {
26 /**
27 * Returns the value of the '<em><b>Bindings</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Bindings</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet_Bindings()
33 * @model containment="true"
34 * @generated
35 */
36 EList<LetBinding> getBindings();
37
38 /**
39 * Returns the value of the '<em><b>Body</b></em>' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @return the value of the '<em>Body</em>' containment reference.
43 * @see #setBody(Expression)
44 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet_Body()
45 * @model containment="true"
46 * @generated
47 */
48 Expression getBody();
49
50 /**
51 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody <em>Body</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param value the new value of the '<em>Body</em>' containment reference.
55 * @see #getBody()
56 * @generated
57 */
58 void setBody(Expression value);
59
60} // Let
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java
deleted file mode 100644
index f6569b11..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java
+++ /dev/null
@@ -1,70 +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>Let Binding</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.LetBinding#getVariable <em>Variable</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue <em>Value</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding()
22 * @model
23 * @generated
24 */
25public interface LetBinding extends EObject {
26 /**
27 * Returns the value of the '<em><b>Variable</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Variable</em>' containment reference.
31 * @see #setVariable(NamedElement)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Variable()
33 * @model containment="true"
34 * @generated
35 */
36 NamedElement getVariable();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable <em>Variable</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Variable</em>' containment reference.
43 * @see #getVariable()
44 * @generated
45 */
46 void setVariable(NamedElement value);
47
48 /**
49 * Returns the value of the '<em><b>Value</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Value</em>' containment reference.
53 * @see #setValue(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Value()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getValue();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue <em>Value</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Value</em>' containment reference.
65 * @see #getValue()
66 * @generated
67 */
68 void setValue(Expression value);
69
70} // LetBinding
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
deleted file mode 100644
index c7f7a31a..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
+++ /dev/null
@@ -1,18 +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} // Literal
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java
deleted file mode 100644
index d5edda19..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java
+++ /dev/null
@@ -1,39 +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>Local Variables</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.LocalVariables#getVariables <em>Variables</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables()
23 * @model
24 * @generated
25 */
26public interface LocalVariables extends EObject {
27 /**
28 * Returns the value of the '<em><b>Variables</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Variables</em>' containment reference list.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables_Variables()
34 * @model containment="true"
35 * @generated
36 */
37 EList<NamedElement> getVariables();
38
39} // LocalVariables
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
deleted file mode 100644
index 8c60650b..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
+++ /dev/null
@@ -1,49 +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 * Returns the value of the '<em><b>Value</b></em>' attribute.
26 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute.
30 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
31 * @see #setValue(LogicValue)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value()
33 * @model
34 * @generated
35 */
36 LogicValue getValue();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#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 org.eclipse.viatra.solver.language.solverLanguage.LogicValue
44 * @see #getValue()
45 * @generated
46 */
47 void setValue(LogicValue value);
48
49} // LogicLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
deleted file mode 100644
index 5f129c05..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
+++ /dev/null
@@ -1,256 +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 * The '<em><b>TRUE</b></em>' literal object.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @see #TRUE_VALUE
27 * @generated
28 * @ordered
29 */
30 TRUE(0, "TRUE", "true"),
31
32 /**
33 * The '<em><b>FALSE</b></em>' literal object.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #FALSE_VALUE
37 * @generated
38 * @ordered
39 */
40 FALSE(1, "FALSE", "false"),
41
42 /**
43 * The '<em><b>UNKNOWN</b></em>' literal object.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #UNKNOWN_VALUE
47 * @generated
48 * @ordered
49 */
50 UNKNOWN(2, "UNKNOWN", "unknown"),
51
52 /**
53 * The '<em><b>ERROR</b></em>' literal object.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #ERROR_VALUE
57 * @generated
58 * @ordered
59 */
60 ERROR(3, "ERROR", "error");
61
62 /**
63 * The '<em><b>TRUE</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #TRUE
67 * @model literal="true"
68 * @generated
69 * @ordered
70 */
71 public static final int TRUE_VALUE = 0;
72
73 /**
74 * The '<em><b>FALSE</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #FALSE
78 * @model literal="false"
79 * @generated
80 * @ordered
81 */
82 public static final int FALSE_VALUE = 1;
83
84 /**
85 * The '<em><b>UNKNOWN</b></em>' literal value.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #UNKNOWN
89 * @model literal="unknown"
90 * @generated
91 * @ordered
92 */
93 public static final int UNKNOWN_VALUE = 2;
94
95 /**
96 * The '<em><b>ERROR</b></em>' literal value.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #ERROR
100 * @model literal="error"
101 * @generated
102 * @ordered
103 */
104 public static final int ERROR_VALUE = 3;
105
106 /**
107 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 private static final LogicValue[] VALUES_ARRAY =
113 new LogicValue[] {
114 TRUE,
115 FALSE,
116 UNKNOWN,
117 ERROR,
118 };
119
120 /**
121 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
127
128 /**
129 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param literal the literal.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static LogicValue get(String literal) {
137 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
138 LogicValue result = VALUES_ARRAY[i];
139 if (result.toString().equals(literal)) {
140 return result;
141 }
142 }
143 return null;
144 }
145
146 /**
147 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @param name the name.
151 * @return the matching enumerator or <code>null</code>.
152 * @generated
153 */
154 public static LogicValue getByName(String name) {
155 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
156 LogicValue result = VALUES_ARRAY[i];
157 if (result.getName().equals(name)) {
158 return result;
159 }
160 }
161 return null;
162 }
163
164 /**
165 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @param value the integer value.
169 * @return the matching enumerator or <code>null</code>.
170 * @generated
171 */
172 public static LogicValue get(int value) {
173 switch (value) {
174 case TRUE_VALUE: return TRUE;
175 case FALSE_VALUE: return FALSE;
176 case UNKNOWN_VALUE: return UNKNOWN;
177 case ERROR_VALUE: return ERROR;
178 }
179 return null;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 private final int value;
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 private final String name;
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 private final String literal;
202
203 /**
204 * Only this class can construct instances.
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private LogicValue(int value, String name, String literal) {
210 this.value = value;
211 this.name = name;
212 this.literal = literal;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public int getValue() {
222 return value;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public String getName() {
232 return name;
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public String getLiteral() {
242 return literal;
243 }
244
245 /**
246 * Returns the literal value of the enumerator, which is its string representation.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public String toString() {
253 return literal;
254 }
255
256} //LogicValue
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
deleted file mode 100644
index 1c1c6764..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Lower Bound</em>' attribute.
29 * @see #setLowerBound(int)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound()
31 * @model
32 * @generated
33 */
34 int getLowerBound();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Lower Bound</em>' attribute.
41 * @see #getLowerBound()
42 * @generated
43 */
44 void setLowerBound(int value);
45
46} // LowerBoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
deleted file mode 100644
index 2d40f570..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
+++ /dev/null
@@ -1,18 +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} // ManyMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
deleted file mode 100644
index 6a8d507e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
+++ /dev/null
@@ -1,139 +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 * Returns the value of the '<em><b>Containment</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Containment</em>' attribute.
34 * @see #setContainment(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment()
36 * @model
37 * @generated
38 */
39 boolean isContainment();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Containment</em>' attribute.
46 * @see #isContainment()
47 * @generated
48 */
49 void setContainment(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Type</b></em>' reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Type</em>' reference.
56 * @see #setType(NamedElement)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type()
58 * @model
59 * @generated
60 */
61 NamedElement getType();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}' reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Type</em>' reference.
68 * @see #getType()
69 * @generated
70 */
71 void setType(NamedElement value);
72
73 /**
74 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Multiplicity</em>' containment reference.
78 * @see #setMultiplicity(Multiplicity)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity()
80 * @model containment="true"
81 * @generated
82 */
83 Multiplicity getMultiplicity();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
90 * @see #getMultiplicity()
91 * @generated
92 */
93 void setMultiplicity(Multiplicity value);
94
95 /**
96 * Returns the value of the '<em><b>Name</b></em>' attribute.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @return the value of the '<em>Name</em>' attribute.
100 * @see #setName(String)
101 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name()
102 * @model
103 * @generated
104 */
105 String getName();
106
107 /**
108 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}' attribute.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param value the new value of the '<em>Name</em>' attribute.
112 * @see #getName()
113 * @generated
114 */
115 void setName(String value);
116
117 /**
118 * Returns the value of the '<em><b>Opposite</b></em>' reference.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @return the value of the '<em>Opposite</em>' reference.
122 * @see #setOpposite(NamedElement)
123 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite()
124 * @model
125 * @generated
126 */
127 NamedElement getOpposite();
128
129 /**
130 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}' reference.
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @param value the new value of the '<em>Opposite</em>' reference.
134 * @see #getOpposite()
135 * @generated
136 */
137 void setOpposite(NamedElement value);
138
139} // MemberDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java
deleted file mode 100644
index 02724d03..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java
+++ /dev/null
@@ -1,46 +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</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.Metric#getReturnType <em>Return Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric()
20 * @model
21 * @generated
22 */
23public interface Metric extends Functor {
24 /**
25 * Returns the value of the '<em><b>Return Type</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Return Type</em>' reference.
29 * @see #setReturnType(NamedElement)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric_ReturnType()
31 * @model
32 * @generated
33 */
34 NamedElement getReturnType();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType <em>Return Type</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Return Type</em>' reference.
41 * @see #getReturnType()
42 * @generated
43 */
44 void setReturnType(NamedElement value);
45
46} // Metric
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
deleted file mode 100644
index fa86f55e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
+++ /dev/null
@@ -1,92 +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 * 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(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getHead();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#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(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#getMetricDefinition_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.MetricDefinition#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 /**
71 * Returns the value of the '<em><b>Type</b></em>' reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Type</em>' reference.
75 * @see #setType(NamedElement)
76 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type()
77 * @model
78 * @generated
79 */
80 NamedElement getType();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}' reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Type</em>' reference.
87 * @see #getType()
88 * @generated
89 */
90 void setType(NamedElement value);
91
92} // MetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
deleted file mode 100644
index 5b6f1306..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
+++ /dev/null
@@ -1,19 +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} // Multiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
deleted file mode 100644
index 4daa21ab..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
+++ /dev/null
@@ -1,47 +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 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // NamedElement
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java
deleted file mode 100644
index f9c5d833..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java
+++ /dev/null
@@ -1,46 +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>Node</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.Node#isWithId <em>With Id</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode()
20 * @model
21 * @generated
22 */
23public interface Node extends NamedElement {
24 /**
25 * Returns the value of the '<em><b>With Id</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>With Id</em>' attribute.
29 * @see #setWithId(boolean)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode_WithId()
31 * @model
32 * @generated
33 */
34 boolean isWithId();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId <em>With Id</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>With Id</em>' attribute.
41 * @see #isWithId()
42 * @generated
43 */
44 void setWithId(boolean value);
45
46} // Node
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
deleted file mode 100644
index dcefba48..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
+++ /dev/null
@@ -1,47 +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 * 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(BigDecimal)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value()
32 * @model
33 * @generated
34 */
35 BigDecimal getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#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(BigDecimal value);
46
47} // NumericLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
deleted file mode 100644
index ffd46d01..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
+++ /dev/null
@@ -1,72 +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 * Returns the value of the '<em><b>Kind</b></em>' attribute.
27 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Kind</em>' attribute.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
32 * @see #setKind(ObjectiveKind)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind()
34 * @model
35 * @generated
36 */
37 ObjectiveKind getKind();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Kind</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
45 * @see #getKind()
46 * @generated
47 */
48 void setKind(ObjectiveKind value);
49
50 /**
51 * Returns the value of the '<em><b>Objective</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Objective</em>' containment reference.
55 * @see #setObjective(Expression)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective()
57 * @model containment="true"
58 * @generated
59 */
60 Expression getObjective();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Objective</em>' containment reference.
67 * @see #getObjective()
68 * @generated
69 */
70 void setObjective(Expression value);
71
72} // ObjectiveDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
deleted file mode 100644
index 72f5947c..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
+++ /dev/null
@@ -1,210 +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 * The '<em><b>MINIMIZE</b></em>' literal object.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @see #MINIMIZE_VALUE
27 * @generated
28 * @ordered
29 */
30 MINIMIZE(0, "MINIMIZE", "minimize"),
31
32 /**
33 * The '<em><b>MAXIMIZE</b></em>' literal object.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #MAXIMIZE_VALUE
37 * @generated
38 * @ordered
39 */
40 MAXIMIZE(1, "MAXIMIZE", "maximize");
41
42 /**
43 * The '<em><b>MINIMIZE</b></em>' literal value.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #MINIMIZE
47 * @model literal="minimize"
48 * @generated
49 * @ordered
50 */
51 public static final int MINIMIZE_VALUE = 0;
52
53 /**
54 * The '<em><b>MAXIMIZE</b></em>' literal value.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #MAXIMIZE
58 * @model literal="maximize"
59 * @generated
60 * @ordered
61 */
62 public static final int MAXIMIZE_VALUE = 1;
63
64 /**
65 * An array of all the '<em><b>Objective Kind</b></em>' enumerators.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 private static final ObjectiveKind[] VALUES_ARRAY =
71 new ObjectiveKind[] {
72 MINIMIZE,
73 MAXIMIZE,
74 };
75
76 /**
77 * A public read-only list of all the '<em><b>Objective Kind</b></em>' enumerators.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public static final List<ObjectiveKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
83
84 /**
85 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified literal value.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param literal the literal.
89 * @return the matching enumerator or <code>null</code>.
90 * @generated
91 */
92 public static ObjectiveKind get(String literal) {
93 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
94 ObjectiveKind result = VALUES_ARRAY[i];
95 if (result.toString().equals(literal)) {
96 return result;
97 }
98 }
99 return null;
100 }
101
102 /**
103 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified name.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @param name the name.
107 * @return the matching enumerator or <code>null</code>.
108 * @generated
109 */
110 public static ObjectiveKind getByName(String name) {
111 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
112 ObjectiveKind result = VALUES_ARRAY[i];
113 if (result.getName().equals(name)) {
114 return result;
115 }
116 }
117 return null;
118 }
119
120 /**
121 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified integer value.
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @param value the integer value.
125 * @return the matching enumerator or <code>null</code>.
126 * @generated
127 */
128 public static ObjectiveKind get(int value) {
129 switch (value) {
130 case MINIMIZE_VALUE: return MINIMIZE;
131 case MAXIMIZE_VALUE: return MAXIMIZE;
132 }
133 return null;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 private final int value;
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 private final String name;
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private final String literal;
156
157 /**
158 * Only this class can construct instances.
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 private ObjectiveKind(int value, String name, String literal) {
164 this.value = value;
165 this.name = name;
166 this.literal = literal;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public int getValue() {
176 return value;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public String getName() {
186 return name;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public String getLiteral() {
196 return literal;
197 }
198
199 /**
200 * Returns the literal value of the enumerator, which is its string representation.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public String toString() {
207 return literal;
208 }
209
210} //ObjectiveKind
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
deleted file mode 100644
index cfeaa0f2..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
+++ /dev/null
@@ -1,18 +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</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate()
14 * @model
15 * @generated
16 */
17public interface Predicate extends Functor {
18} // Predicate
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
deleted file mode 100644
index ff248906..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
+++ /dev/null
@@ -1,115 +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 * 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#getPredicateDefinition_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.PredicateDefinition#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#getPredicateDefinition_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.PredicateDefinition#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>Functional</b></em>' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Functional</em>' attribute.
76 * @see #setFunctional(boolean)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional()
78 * @model
79 * @generated
80 */
81 boolean isFunctional();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Functional</em>' attribute.
88 * @see #isFunctional()
89 * @generated
90 */
91 void setFunctional(boolean value);
92
93 /**
94 * Returns the value of the '<em><b>Error</b></em>' attribute.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Error</em>' attribute.
98 * @see #setError(boolean)
99 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error()
100 * @model
101 * @generated
102 */
103 boolean isError();
104
105 /**
106 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}' attribute.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @param value the new value of the '<em>Error</em>' attribute.
110 * @see #isError()
111 * @generated
112 */
113 void setError(boolean value);
114
115} // PredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
deleted file mode 100644
index 56fac081..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
+++ /dev/null
@@ -1,39 +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 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Statements</em>' containment reference list.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements()
34 * @model containment="true"
35 * @generated
36 */
37 EList<Statement> getStatements();
38
39} // Problem
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java
deleted file mode 100644
index 0b2edb36..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java
+++ /dev/null
@@ -1,95 +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>Quantified 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.QuantifiedExpression#getLocalVariables <em>Local Variables</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier <em>Quantifier</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression()
22 * @model
23 * @generated
24 */
25public interface QuantifiedExpression extends Expression {
26 /**
27 * Returns the value of the '<em><b>Local Variables</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Local Variables</em>' containment reference.
31 * @see #setLocalVariables(LocalVariables)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_LocalVariables()
33 * @model containment="true"
34 * @generated
35 */
36 LocalVariables getLocalVariables();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables <em>Local Variables</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Local Variables</em>' containment reference.
43 * @see #getLocalVariables()
44 * @generated
45 */
46 void setLocalVariables(LocalVariables 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#getQuantifiedExpression_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.QuantifiedExpression#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 /**
71 * Returns the value of the '<em><b>Quantifier</b></em>' attribute.
72 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier}.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Quantifier</em>' attribute.
76 * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier
77 * @see #setQuantifier(Quantifier)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_Quantifier()
79 * @model
80 * @generated
81 */
82 Quantifier getQuantifier();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier <em>Quantifier</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Quantifier</em>' attribute.
89 * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier
90 * @see #getQuantifier()
91 * @generated
92 */
93 void setQuantifier(Quantifier value);
94
95} // QuantifiedExpression
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java
deleted file mode 100644
index 4c674fe0..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java
+++ /dev/null
@@ -1,233 +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>Quantifier</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifier()
18 * @model
19 * @generated
20 */
21public enum Quantifier implements Enumerator {
22 /**
23 * The '<em><b>EXISTS</b></em>' literal object.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @see #EXISTS_VALUE
27 * @generated
28 * @ordered
29 */
30 EXISTS(0, "EXISTS", "EXISTS"),
31
32 /**
33 * The '<em><b>FORALL</b></em>' literal object.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #FORALL_VALUE
37 * @generated
38 * @ordered
39 */
40 FORALL(1, "FORALL", "FORALL"),
41
42 /**
43 * The '<em><b>COUNT</b></em>' literal object.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #COUNT_VALUE
47 * @generated
48 * @ordered
49 */
50 COUNT(2, "COUNT", "COUNT");
51
52 /**
53 * The '<em><b>EXISTS</b></em>' literal value.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #EXISTS
57 * @model
58 * @generated
59 * @ordered
60 */
61 public static final int EXISTS_VALUE = 0;
62
63 /**
64 * The '<em><b>FORALL</b></em>' literal value.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #FORALL
68 * @model
69 * @generated
70 * @ordered
71 */
72 public static final int FORALL_VALUE = 1;
73
74 /**
75 * The '<em><b>COUNT</b></em>' literal value.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #COUNT
79 * @model
80 * @generated
81 * @ordered
82 */
83 public static final int COUNT_VALUE = 2;
84
85 /**
86 * An array of all the '<em><b>Quantifier</b></em>' enumerators.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 private static final Quantifier[] VALUES_ARRAY =
92 new Quantifier[] {
93 EXISTS,
94 FORALL,
95 COUNT,
96 };
97
98 /**
99 * A public read-only list of all the '<em><b>Quantifier</b></em>' enumerators.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public static final List<Quantifier> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
105
106 /**
107 * Returns the '<em><b>Quantifier</b></em>' literal with the specified literal value.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param literal the literal.
111 * @return the matching enumerator or <code>null</code>.
112 * @generated
113 */
114 public static Quantifier get(String literal) {
115 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
116 Quantifier result = VALUES_ARRAY[i];
117 if (result.toString().equals(literal)) {
118 return result;
119 }
120 }
121 return null;
122 }
123
124 /**
125 * Returns the '<em><b>Quantifier</b></em>' literal with the specified name.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @param name the name.
129 * @return the matching enumerator or <code>null</code>.
130 * @generated
131 */
132 public static Quantifier getByName(String name) {
133 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
134 Quantifier result = VALUES_ARRAY[i];
135 if (result.getName().equals(name)) {
136 return result;
137 }
138 }
139 return null;
140 }
141
142 /**
143 * Returns the '<em><b>Quantifier</b></em>' literal with the specified integer value.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @param value the integer value.
147 * @return the matching enumerator or <code>null</code>.
148 * @generated
149 */
150 public static Quantifier get(int value) {
151 switch (value) {
152 case EXISTS_VALUE: return EXISTS;
153 case FORALL_VALUE: return FORALL;
154 case COUNT_VALUE: return COUNT;
155 }
156 return null;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 private final int value;
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 private final String name;
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 private final String literal;
179
180 /**
181 * Only this class can construct instances.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 private Quantifier(int value, String name, String literal) {
187 this.value = value;
188 this.name = name;
189 this.literal = literal;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public int getValue() {
199 return value;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getName() {
209 return name;
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public String getLiteral() {
219 return literal;
220 }
221
222 /**
223 * Returns the literal value of the enumerator, which is its string representation.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public String toString() {
230 return literal;
231 }
232
233} //Quantifier
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
deleted file mode 100644
index 5fd43f34..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Referred</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Referred</em>' reference.
29 * @see #setReferred(NamedElement)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred()
31 * @model
32 * @generated
33 */
34 NamedElement getReferred();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Referred</em>' reference.
41 * @see #getReferred()
42 * @generated
43 */
44 void setReferred(NamedElement value);
45
46} // Reference
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
deleted file mode 100644
index 6cd03ef0..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Type</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Type</em>' reference.
29 * @see #setType(NamedElement)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type()
31 * @model
32 * @generated
33 */
34 NamedElement getType();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Type</em>' reference.
41 * @see #getType()
42 * @generated
43 */
44 void setType(NamedElement value);
45
46} // ScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
deleted file mode 100644
index 6589eaa4..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ /dev/null
@@ -1,538 +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 * The singleton instance of the factory.
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init();
24
25 /**
26 * Returns a new object of class '<em>Problem</em>'.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return a new object of class '<em>Problem</em>'.
30 * @generated
31 */
32 Problem createProblem();
33
34 /**
35 * Returns a new object of class '<em>Statement</em>'.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @return a new object of class '<em>Statement</em>'.
39 * @generated
40 */
41 Statement createStatement();
42
43 /**
44 * Returns a new object of class '<em>Predicate Definition</em>'.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @return a new object of class '<em>Predicate Definition</em>'.
48 * @generated
49 */
50 PredicateDefinition createPredicateDefinition();
51
52 /**
53 * Returns a new object of class '<em>Unnamed Error Prediate Definition</em>'.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return a new object of class '<em>Unnamed Error Prediate Definition</em>'.
57 * @generated
58 */
59 UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
60
61 /**
62 * Returns a new object of class '<em>Default Definition</em>'.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return a new object of class '<em>Default Definition</em>'.
66 * @generated
67 */
68 DefaultDefinition createDefaultDefinition();
69
70 /**
71 * Returns a new object of class '<em>Metric Definition</em>'.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return a new object of class '<em>Metric Definition</em>'.
75 * @generated
76 */
77 MetricDefinition createMetricDefinition();
78
79 /**
80 * Returns a new object of class '<em>Extern Predicate Definition</em>'.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @return a new object of class '<em>Extern Predicate Definition</em>'.
84 * @generated
85 */
86 ExternPredicateDefinition createExternPredicateDefinition();
87
88 /**
89 * Returns a new object of class '<em>Extern Metric Definition</em>'.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @return a new object of class '<em>Extern Metric Definition</em>'.
93 * @generated
94 */
95 ExternMetricDefinition createExternMetricDefinition();
96
97 /**
98 * Returns a new object of class '<em>Extern Aggregator Definition</em>'.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @return a new object of class '<em>Extern Aggregator Definition</em>'.
102 * @generated
103 */
104 ExternAggregatorDefinition createExternAggregatorDefinition();
105
106 /**
107 * Returns a new object of class '<em>Extern Datatype Definition</em>'.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @return a new object of class '<em>Extern Datatype Definition</em>'.
111 * @generated
112 */
113 ExternDatatypeDefinition createExternDatatypeDefinition();
114
115 /**
116 * Returns a new object of class '<em>Named Element</em>'.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @return a new object of class '<em>Named Element</em>'.
120 * @generated
121 */
122 NamedElement createNamedElement();
123
124 /**
125 * Returns a new object of class '<em>If Else</em>'.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @return a new object of class '<em>If Else</em>'.
129 * @generated
130 */
131 IfElse createIfElse();
132
133 /**
134 * Returns a new object of class '<em>Let</em>'.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @return a new object of class '<em>Let</em>'.
138 * @generated
139 */
140 Let createLet();
141
142 /**
143 * Returns a new object of class '<em>Let Binding</em>'.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @return a new object of class '<em>Let Binding</em>'.
147 * @generated
148 */
149 LetBinding createLetBinding();
150
151 /**
152 * Returns a new object of class '<em>Case</em>'.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @return a new object of class '<em>Case</em>'.
156 * @generated
157 */
158 Case createCase();
159
160 /**
161 * Returns a new object of class '<em>Local Variables</em>'.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @return a new object of class '<em>Local Variables</em>'.
165 * @generated
166 */
167 LocalVariables createLocalVariables();
168
169 /**
170 * Returns a new object of class '<em>Quantified Expression</em>'.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @return a new object of class '<em>Quantified Expression</em>'.
174 * @generated
175 */
176 QuantifiedExpression createQuantifiedExpression();
177
178 /**
179 * Returns a new object of class '<em>Aggregation</em>'.
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @return a new object of class '<em>Aggregation</em>'.
183 * @generated
184 */
185 Aggregation createAggregation();
186
187 /**
188 * Returns a new object of class '<em>Call</em>'.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @return a new object of class '<em>Call</em>'.
192 * @generated
193 */
194 Call createCall();
195
196 /**
197 * Returns a new object of class '<em>Argument List</em>'.
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @return a new object of class '<em>Argument List</em>'.
201 * @generated
202 */
203 ArgumentList createArgumentList();
204
205 /**
206 * Returns a new object of class '<em>Argument</em>'.
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @return a new object of class '<em>Argument</em>'.
210 * @generated
211 */
212 Argument createArgument();
213
214 /**
215 * Returns a new object of class '<em>Expression Argument</em>'.
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @return a new object of class '<em>Expression Argument</em>'.
219 * @generated
220 */
221 ExpressionArgument createExpressionArgument();
222
223 /**
224 * Returns a new object of class '<em>Star Argument</em>'.
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @return a new object of class '<em>Star Argument</em>'.
228 * @generated
229 */
230 StarArgument createStarArgument();
231
232 /**
233 * Returns a new object of class '<em>Typed Argument</em>'.
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @return a new object of class '<em>Typed Argument</em>'.
237 * @generated
238 */
239 TypedArgument createTypedArgument();
240
241 /**
242 * Returns a new object of class '<em>Typed Star Argument</em>'.
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @return a new object of class '<em>Typed Star Argument</em>'.
246 * @generated
247 */
248 TypedStarArgument createTypedStarArgument();
249
250 /**
251 * Returns a new object of class '<em>Reference</em>'.
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @return a new object of class '<em>Reference</em>'.
255 * @generated
256 */
257 Reference createReference();
258
259 /**
260 * Returns a new object of class '<em>Interval</em>'.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @return a new object of class '<em>Interval</em>'.
264 * @generated
265 */
266 Interval createInterval();
267
268 /**
269 * Returns a new object of class '<em>Literal</em>'.
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @return a new object of class '<em>Literal</em>'.
273 * @generated
274 */
275 Literal createLiteral();
276
277 /**
278 * Returns a new object of class '<em>Logic Literal</em>'.
279 * <!-- begin-user-doc -->
280 * <!-- end-user-doc -->
281 * @return a new object of class '<em>Logic Literal</em>'.
282 * @generated
283 */
284 LogicLiteral createLogicLiteral();
285
286 /**
287 * Returns a new object of class '<em>Numeric Literal</em>'.
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @return a new object of class '<em>Numeric Literal</em>'.
291 * @generated
292 */
293 NumericLiteral createNumericLiteral();
294
295 /**
296 * Returns a new object of class '<em>Infinity Literal</em>'.
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @return a new object of class '<em>Infinity Literal</em>'.
300 * @generated
301 */
302 InfinityLiteral createInfinityLiteral();
303
304 /**
305 * Returns a new object of class '<em>Empty Interval Literal</em>'.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @return a new object of class '<em>Empty Interval Literal</em>'.
309 * @generated
310 */
311 EmptyIntervalLiteral createEmptyIntervalLiteral();
312
313 /**
314 * Returns a new object of class '<em>String Literal</em>'.
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @return a new object of class '<em>String Literal</em>'.
318 * @generated
319 */
320 StringLiteral createStringLiteral();
321
322 /**
323 * Returns a new object of class '<em>Class Definition</em>'.
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @return a new object of class '<em>Class Definition</em>'.
327 * @generated
328 */
329 ClassDefinition createClassDefinition();
330
331 /**
332 * Returns a new object of class '<em>Member Definition</em>'.
333 * <!-- begin-user-doc -->
334 * <!-- end-user-doc -->
335 * @return a new object of class '<em>Member Definition</em>'.
336 * @generated
337 */
338 MemberDefinition createMemberDefinition();
339
340 /**
341 * Returns a new object of class '<em>Multiplicity</em>'.
342 * <!-- begin-user-doc -->
343 * <!-- end-user-doc -->
344 * @return a new object of class '<em>Multiplicity</em>'.
345 * @generated
346 */
347 Multiplicity createMultiplicity();
348
349 /**
350 * Returns a new object of class '<em>Many Multiplicity</em>'.
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @return a new object of class '<em>Many Multiplicity</em>'.
354 * @generated
355 */
356 ManyMultiplicity createManyMultiplicity();
357
358 /**
359 * Returns a new object of class '<em>Exact Multiplicity</em>'.
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @return a new object of class '<em>Exact Multiplicity</em>'.
363 * @generated
364 */
365 ExactMultiplicity createExactMultiplicity();
366
367 /**
368 * Returns a new object of class '<em>Bounded Multiplicity</em>'.
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @return a new object of class '<em>Bounded Multiplicity</em>'.
372 * @generated
373 */
374 BoundedMultiplicity createBoundedMultiplicity();
375
376 /**
377 * Returns a new object of class '<em>Scope Definition</em>'.
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @return a new object of class '<em>Scope Definition</em>'.
381 * @generated
382 */
383 ScopeDefinition createScopeDefinition();
384
385 /**
386 * Returns a new object of class '<em>Exact Scope Definition</em>'.
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @return a new object of class '<em>Exact Scope Definition</em>'.
390 * @generated
391 */
392 ExactScopeDefinition createExactScopeDefinition();
393
394 /**
395 * Returns a new object of class '<em>Bounded Scope Definition</em>'.
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @return a new object of class '<em>Bounded Scope Definition</em>'.
399 * @generated
400 */
401 BoundedScopeDefinition createBoundedScopeDefinition();
402
403 /**
404 * Returns a new object of class '<em>Lower Bounded Scope Definition</em>'.
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @return a new object of class '<em>Lower Bounded Scope Definition</em>'.
408 * @generated
409 */
410 LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
411
412 /**
413 * Returns a new object of class '<em>Objective Definition</em>'.
414 * <!-- begin-user-doc -->
415 * <!-- end-user-doc -->
416 * @return a new object of class '<em>Objective Definition</em>'.
417 * @generated
418 */
419 ObjectiveDefinition createObjectiveDefinition();
420
421 /**
422 * Returns a new object of class '<em>Interpretation</em>'.
423 * <!-- begin-user-doc -->
424 * <!-- end-user-doc -->
425 * @return a new object of class '<em>Interpretation</em>'.
426 * @generated
427 */
428 Interpretation createInterpretation();
429
430 /**
431 * Returns a new object of class '<em>Variable</em>'.
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @return a new object of class '<em>Variable</em>'.
435 * @generated
436 */
437 Variable createVariable();
438
439 /**
440 * Returns a new object of class '<em>Disjunction</em>'.
441 * <!-- begin-user-doc -->
442 * <!-- end-user-doc -->
443 * @return a new object of class '<em>Disjunction</em>'.
444 * @generated
445 */
446 Disjunction createDisjunction();
447
448 /**
449 * Returns a new object of class '<em>Switch</em>'.
450 * <!-- begin-user-doc -->
451 * <!-- end-user-doc -->
452 * @return a new object of class '<em>Switch</em>'.
453 * @generated
454 */
455 Switch createSwitch();
456
457 /**
458 * Returns a new object of class '<em>Conjunction</em>'.
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @return a new object of class '<em>Conjunction</em>'.
462 * @generated
463 */
464 Conjunction createConjunction();
465
466 /**
467 * Returns a new object of class '<em>Comparison</em>'.
468 * <!-- begin-user-doc -->
469 * <!-- end-user-doc -->
470 * @return a new object of class '<em>Comparison</em>'.
471 * @generated
472 */
473 Comparison createComparison();
474
475 /**
476 * Returns a new object of class '<em>Binary Expression</em>'.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @return a new object of class '<em>Binary Expression</em>'.
480 * @generated
481 */
482 BinaryExpression createBinaryExpression();
483
484 /**
485 * Returns a new object of class '<em>Cast Expression</em>'.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @return a new object of class '<em>Cast Expression</em>'.
489 * @generated
490 */
491 CastExpression createCastExpression();
492
493 /**
494 * Returns a new object of class '<em>Unary Expression</em>'.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @return a new object of class '<em>Unary Expression</em>'.
498 * @generated
499 */
500 UnaryExpression createUnaryExpression();
501
502 /**
503 * Returns a new object of class '<em>Node</em>'.
504 * <!-- begin-user-doc -->
505 * <!-- end-user-doc -->
506 * @return a new object of class '<em>Node</em>'.
507 * @generated
508 */
509 Node createNode();
510
511 /**
512 * Returns a new object of class '<em>Predicate</em>'.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @return a new object of class '<em>Predicate</em>'.
516 * @generated
517 */
518 Predicate createPredicate();
519
520 /**
521 * Returns a new object of class '<em>Metric</em>'.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @return a new object of class '<em>Metric</em>'.
525 * @generated
526 */
527 Metric createMetric();
528
529 /**
530 * Returns the package supported by this factory.
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @return the package supported by this factory.
534 * @generated
535 */
536 SolverLanguagePackage getSolverLanguagePackage();
537
538} //SolverLanguageFactory
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
deleted file mode 100644
index 9e01d8db..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ /dev/null
@@ -1,5191 +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 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "solverLanguage";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "solverLanguage";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
65 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
66 * @generated
67 */
68 int PROBLEM = 0;
69
70 /**
71 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int PROBLEM__STATEMENTS = 0;
78
79 /**
80 * The number of structural features of the '<em>Problem</em>' class.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int PROBLEM_FEATURE_COUNT = 1;
87
88 /**
89 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
93 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
94 * @generated
95 */
96 int STATEMENT = 1;
97
98 /**
99 * The number of structural features of the '<em>Statement</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int STATEMENT_FEATURE_COUNT = 0;
106
107 /**
108 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
113 * @generated
114 */
115 int PREDICATE_DEFINITION = 2;
116
117 /**
118 * The feature id for the '<em><b>Head</b></em>' containment reference.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
125
126 /**
127 * The feature id for the '<em><b>Body</b></em>' containment reference.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
134
135 /**
136 * The feature id for the '<em><b>Functional</b></em>' attribute.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 * @ordered
141 */
142 int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2;
143
144 /**
145 * The feature id for the '<em><b>Error</b></em>' attribute.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3;
152
153 /**
154 * The number of structural features of the '<em>Predicate Definition</em>' class.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 * @ordered
159 */
160 int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
161
162 /**
163 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
167 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
168 * @generated
169 */
170 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
171
172 /**
173 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 * @ordered
178 */
179 int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0;
180
181 /**
182 * The feature id for the '<em><b>Body</b></em>' containment reference.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 * @ordered
187 */
188 int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
189
190 /**
191 * The number of structural features of the '<em>Unnamed Error Prediate Definition</em>' class.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 * @ordered
196 */
197 int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
198
199 /**
200 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
204 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
205 * @generated
206 */
207 int DEFAULT_DEFINITION = 4;
208
209 /**
210 * The feature id for the '<em><b>Head</b></em>' containment reference.
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 * @ordered
215 */
216 int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
217
218 /**
219 * The feature id for the '<em><b>Range</b></em>' containment reference.
220 * <!-- begin-user-doc -->
221 * <!-- end-user-doc -->
222 * @generated
223 * @ordered
224 */
225 int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1;
226
227 /**
228 * The number of structural features of the '<em>Default Definition</em>' class.
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 * @ordered
233 */
234 int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
235
236 /**
237 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
241 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
242 * @generated
243 */
244 int METRIC_DEFINITION = 5;
245
246 /**
247 * The feature id for the '<em><b>Head</b></em>' containment reference.
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 * @ordered
252 */
253 int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
254
255 /**
256 * The feature id for the '<em><b>Body</b></em>' containment reference.
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 * @ordered
261 */
262 int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
263
264 /**
265 * The feature id for the '<em><b>Type</b></em>' reference.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 * @ordered
270 */
271 int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2;
272
273 /**
274 * The number of structural features of the '<em>Metric Definition</em>' class.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 * @ordered
279 */
280 int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
281
282 /**
283 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
287 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
288 * @generated
289 */
290 int EXTERN_PREDICATE_DEFINITION = 6;
291
292 /**
293 * The feature id for the '<em><b>Name</b></em>' attribute.
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 * @ordered
298 */
299 int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0;
300
301 /**
302 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 * @ordered
307 */
308 int EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 1;
309
310 /**
311 * The number of structural features of the '<em>Extern Predicate Definition</em>' class.
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 * @ordered
316 */
317 int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
318
319 /**
320 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
324 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
325 * @generated
326 */
327 int EXTERN_METRIC_DEFINITION = 7;
328
329 /**
330 * The feature id for the '<em><b>Type</b></em>' reference.
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 * @ordered
335 */
336 int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
337
338 /**
339 * The feature id for the '<em><b>Name</b></em>' attribute.
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 * @ordered
344 */
345 int EXTERN_METRIC_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
346
347 /**
348 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 * @ordered
353 */
354 int EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 2;
355
356 /**
357 * The number of structural features of the '<em>Extern Metric Definition</em>' class.
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 * @ordered
362 */
363 int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
364
365 /**
366 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl <em>Extern Aggregator Definition</em>}' class.
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl
370 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition()
371 * @generated
372 */
373 int EXTERN_AGGREGATOR_DEFINITION = 8;
374
375 /**
376 * The feature id for the '<em><b>Type</b></em>' reference.
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 * @ordered
381 */
382 int EXTERN_AGGREGATOR_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
383
384 /**
385 * The feature id for the '<em><b>Name</b></em>' attribute.
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 * @ordered
390 */
391 int EXTERN_AGGREGATOR_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
392
393 /**
394 * The feature id for the '<em><b>Input Type</b></em>' reference.
395 * <!-- begin-user-doc -->
396 * <!-- end-user-doc -->
397 * @generated
398 * @ordered
399 */
400 int EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = STATEMENT_FEATURE_COUNT + 2;
401
402 /**
403 * The number of structural features of the '<em>Extern Aggregator Definition</em>' class.
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 * @ordered
408 */
409 int EXTERN_AGGREGATOR_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
410
411 /**
412 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl <em>Extern Datatype Definition</em>}' class.
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl
416 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition()
417 * @generated
418 */
419 int EXTERN_DATATYPE_DEFINITION = 9;
420
421 /**
422 * The feature id for the '<em><b>Name</b></em>' attribute.
423 * <!-- begin-user-doc -->
424 * <!-- end-user-doc -->
425 * @generated
426 * @ordered
427 */
428 int EXTERN_DATATYPE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0;
429
430 /**
431 * The feature id for the '<em><b>Supertypes</b></em>' reference list.
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @generated
435 * @ordered
436 */
437 int EXTERN_DATATYPE_DEFINITION__SUPERTYPES = STATEMENT_FEATURE_COUNT + 1;
438
439 /**
440 * The number of structural features of the '<em>Extern Datatype Definition</em>' class.
441 * <!-- begin-user-doc -->
442 * <!-- end-user-doc -->
443 * @generated
444 * @ordered
445 */
446 int EXTERN_DATATYPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
447
448 /**
449 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
450 * <!-- begin-user-doc -->
451 * <!-- end-user-doc -->
452 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
453 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
454 * @generated
455 */
456 int NAMED_ELEMENT = 10;
457
458 /**
459 * The feature id for the '<em><b>Name</b></em>' attribute.
460 * <!-- begin-user-doc -->
461 * <!-- end-user-doc -->
462 * @generated
463 * @ordered
464 */
465 int NAMED_ELEMENT__NAME = 0;
466
467 /**
468 * The number of structural features of the '<em>Named Element</em>' class.
469 * <!-- begin-user-doc -->
470 * <!-- end-user-doc -->
471 * @generated
472 * @ordered
473 */
474 int NAMED_ELEMENT_FEATURE_COUNT = 1;
475
476 /**
477 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
478 * <!-- begin-user-doc -->
479 * <!-- end-user-doc -->
480 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
481 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
482 * @generated
483 */
484 int EXPRESSION = 11;
485
486 /**
487 * The number of structural features of the '<em>Expression</em>' class.
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 * @ordered
492 */
493 int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
494
495 /**
496 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
497 * <!-- begin-user-doc -->
498 * <!-- end-user-doc -->
499 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
500 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
501 * @generated
502 */
503 int IF_ELSE = 12;
504
505 /**
506 * The feature id for the '<em><b>Then</b></em>' containment reference.
507 * <!-- begin-user-doc -->
508 * <!-- end-user-doc -->
509 * @generated
510 * @ordered
511 */
512 int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 0;
513
514 /**
515 * The feature id for the '<em><b>Else</b></em>' containment reference.
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @generated
519 * @ordered
520 */
521 int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 1;
522
523 /**
524 * The feature id for the '<em><b>Condition</b></em>' containment reference.
525 * <!-- begin-user-doc -->
526 * <!-- end-user-doc -->
527 * @generated
528 * @ordered
529 */
530 int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 2;
531
532 /**
533 * The number of structural features of the '<em>If Else</em>' class.
534 * <!-- begin-user-doc -->
535 * <!-- end-user-doc -->
536 * @generated
537 * @ordered
538 */
539 int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
540
541 /**
542 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl <em>Let</em>}' class.
543 * <!-- begin-user-doc -->
544 * <!-- end-user-doc -->
545 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl
546 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet()
547 * @generated
548 */
549 int LET = 13;
550
551 /**
552 * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
553 * <!-- begin-user-doc -->
554 * <!-- end-user-doc -->
555 * @generated
556 * @ordered
557 */
558 int LET__BINDINGS = EXPRESSION_FEATURE_COUNT + 0;
559
560 /**
561 * The feature id for the '<em><b>Body</b></em>' containment reference.
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @generated
565 * @ordered
566 */
567 int LET__BODY = EXPRESSION_FEATURE_COUNT + 1;
568
569 /**
570 * The number of structural features of the '<em>Let</em>' class.
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 * @ordered
575 */
576 int LET_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
577
578 /**
579 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl <em>Let Binding</em>}' class.
580 * <!-- begin-user-doc -->
581 * <!-- end-user-doc -->
582 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding()
584 * @generated
585 */
586 int LET_BINDING = 14;
587
588 /**
589 * The feature id for the '<em><b>Variable</b></em>' containment reference.
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 * @ordered
594 */
595 int LET_BINDING__VARIABLE = 0;
596
597 /**
598 * The feature id for the '<em><b>Value</b></em>' containment reference.
599 * <!-- begin-user-doc -->
600 * <!-- end-user-doc -->
601 * @generated
602 * @ordered
603 */
604 int LET_BINDING__VALUE = 1;
605
606 /**
607 * The number of structural features of the '<em>Let Binding</em>' class.
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @generated
611 * @ordered
612 */
613 int LET_BINDING_FEATURE_COUNT = 2;
614
615 /**
616 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
617 * <!-- begin-user-doc -->
618 * <!-- end-user-doc -->
619 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
620 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
621 * @generated
622 */
623 int CASE = 15;
624
625 /**
626 * The feature id for the '<em><b>Body</b></em>' containment reference.
627 * <!-- begin-user-doc -->
628 * <!-- end-user-doc -->
629 * @generated
630 * @ordered
631 */
632 int CASE__BODY = EXPRESSION_FEATURE_COUNT + 0;
633
634 /**
635 * The feature id for the '<em><b>Condition</b></em>' containment reference.
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @generated
639 * @ordered
640 */
641 int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 1;
642
643 /**
644 * The number of structural features of the '<em>Case</em>' class.
645 * <!-- begin-user-doc -->
646 * <!-- end-user-doc -->
647 * @generated
648 * @ordered
649 */
650 int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
651
652 /**
653 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl <em>Local Variables</em>}' class.
654 * <!-- begin-user-doc -->
655 * <!-- end-user-doc -->
656 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl
657 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables()
658 * @generated
659 */
660 int LOCAL_VARIABLES = 16;
661
662 /**
663 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 * @ordered
668 */
669 int LOCAL_VARIABLES__VARIABLES = 0;
670
671 /**
672 * The number of structural features of the '<em>Local Variables</em>' class.
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @generated
676 * @ordered
677 */
678 int LOCAL_VARIABLES_FEATURE_COUNT = 1;
679
680 /**
681 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl <em>Quantified Expression</em>}' class.
682 * <!-- begin-user-doc -->
683 * <!-- end-user-doc -->
684 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl
685 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression()
686 * @generated
687 */
688 int QUANTIFIED_EXPRESSION = 17;
689
690 /**
691 * The feature id for the '<em><b>Local Variables</b></em>' containment reference.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 * @ordered
696 */
697 int QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 0;
698
699 /**
700 * The feature id for the '<em><b>Body</b></em>' containment reference.
701 * <!-- begin-user-doc -->
702 * <!-- end-user-doc -->
703 * @generated
704 * @ordered
705 */
706 int QUANTIFIED_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
707
708 /**
709 * The feature id for the '<em><b>Quantifier</b></em>' attribute.
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @generated
713 * @ordered
714 */
715 int QUANTIFIED_EXPRESSION__QUANTIFIER = EXPRESSION_FEATURE_COUNT + 2;
716
717 /**
718 * The number of structural features of the '<em>Quantified Expression</em>' class.
719 * <!-- begin-user-doc -->
720 * <!-- end-user-doc -->
721 * @generated
722 * @ordered
723 */
724 int QUANTIFIED_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
725
726 /**
727 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
728 * <!-- begin-user-doc -->
729 * <!-- end-user-doc -->
730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
732 * @generated
733 */
734 int AGGREGATION = 18;
735
736 /**
737 * The feature id for the '<em><b>Op</b></em>' reference.
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 * @ordered
742 */
743 int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0;
744
745 /**
746 * The feature id for the '<em><b>Local Variables</b></em>' containment reference.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @generated
750 * @ordered
751 */
752 int AGGREGATION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 1;
753
754 /**
755 * The feature id for the '<em><b>Body</b></em>' containment reference.
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @generated
759 * @ordered
760 */
761 int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 2;
762
763 /**
764 * The feature id for the '<em><b>Condition</b></em>' containment reference.
765 * <!-- begin-user-doc -->
766 * <!-- end-user-doc -->
767 * @generated
768 * @ordered
769 */
770 int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 3;
771
772 /**
773 * The number of structural features of the '<em>Aggregation</em>' class.
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 * @ordered
778 */
779 int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
780
781 /**
782 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
783 * <!-- begin-user-doc -->
784 * <!-- end-user-doc -->
785 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
786 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
787 * @generated
788 */
789 int CALL = 19;
790
791 /**
792 * The feature id for the '<em><b>Functor</b></em>' containment reference.
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 * @ordered
797 */
798 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
799
800 /**
801 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
802 * <!-- begin-user-doc -->
803 * <!-- end-user-doc -->
804 * @generated
805 * @ordered
806 */
807 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1;
808
809 /**
810 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
811 * <!-- begin-user-doc -->
812 * <!-- end-user-doc -->
813 * @generated
814 * @ordered
815 */
816 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
817
818 /**
819 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
820 * <!-- begin-user-doc -->
821 * <!-- end-user-doc -->
822 * @generated
823 * @ordered
824 */
825 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3;
826
827 /**
828 * The number of structural features of the '<em>Call</em>' class.
829 * <!-- begin-user-doc -->
830 * <!-- end-user-doc -->
831 * @generated
832 * @ordered
833 */
834 int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
835
836 /**
837 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
838 * <!-- begin-user-doc -->
839 * <!-- end-user-doc -->
840 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
841 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
842 * @generated
843 */
844 int ARGUMENT_LIST = 20;
845
846 /**
847 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @generated
851 * @ordered
852 */
853 int ARGUMENT_LIST__ARGUMENTS = 0;
854
855 /**
856 * The number of structural features of the '<em>Argument List</em>' class.
857 * <!-- begin-user-doc -->
858 * <!-- end-user-doc -->
859 * @generated
860 * @ordered
861 */
862 int ARGUMENT_LIST_FEATURE_COUNT = 1;
863
864 /**
865 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
866 * <!-- begin-user-doc -->
867 * <!-- end-user-doc -->
868 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
869 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
870 * @generated
871 */
872 int ARGUMENT = 21;
873
874 /**
875 * The number of structural features of the '<em>Argument</em>' class.
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @generated
879 * @ordered
880 */
881 int ARGUMENT_FEATURE_COUNT = 0;
882
883 /**
884 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
885 * <!-- begin-user-doc -->
886 * <!-- end-user-doc -->
887 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
888 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
889 * @generated
890 */
891 int EXPRESSION_ARGUMENT = 22;
892
893 /**
894 * The feature id for the '<em><b>Body</b></em>' containment reference.
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @generated
898 * @ordered
899 */
900 int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0;
901
902 /**
903 * The number of structural features of the '<em>Expression Argument</em>' class.
904 * <!-- begin-user-doc -->
905 * <!-- end-user-doc -->
906 * @generated
907 * @ordered
908 */
909 int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
910
911 /**
912 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
913 * <!-- begin-user-doc -->
914 * <!-- end-user-doc -->
915 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
916 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
917 * @generated
918 */
919 int STAR_ARGUMENT = 23;
920
921 /**
922 * The number of structural features of the '<em>Star Argument</em>' class.
923 * <!-- begin-user-doc -->
924 * <!-- end-user-doc -->
925 * @generated
926 * @ordered
927 */
928 int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0;
929
930 /**
931 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
932 * <!-- begin-user-doc -->
933 * <!-- end-user-doc -->
934 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
935 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
936 * @generated
937 */
938 int TYPED_ARGUMENT = 24;
939
940 /**
941 * The feature id for the '<em><b>Type</b></em>' reference.
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 * @ordered
946 */
947 int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
948
949 /**
950 * The feature id for the '<em><b>Variable</b></em>' reference.
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @generated
954 * @ordered
955 */
956 int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
957
958 /**
959 * The number of structural features of the '<em>Typed Argument</em>' class.
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @generated
963 * @ordered
964 */
965 int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
966
967 /**
968 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
972 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
973 * @generated
974 */
975 int TYPED_STAR_ARGUMENT = 25;
976
977 /**
978 * The feature id for the '<em><b>Type</b></em>' reference.
979 * <!-- begin-user-doc -->
980 * <!-- end-user-doc -->
981 * @generated
982 * @ordered
983 */
984 int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
985
986 /**
987 * The number of structural features of the '<em>Typed Star Argument</em>' class.
988 * <!-- begin-user-doc -->
989 * <!-- end-user-doc -->
990 * @generated
991 * @ordered
992 */
993 int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
994
995 /**
996 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
997 * <!-- begin-user-doc -->
998 * <!-- end-user-doc -->
999 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
1000 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
1001 * @generated
1002 */
1003 int REFERENCE = 26;
1004
1005 /**
1006 * The feature id for the '<em><b>Referred</b></em>' reference.
1007 * <!-- begin-user-doc -->
1008 * <!-- end-user-doc -->
1009 * @generated
1010 * @ordered
1011 */
1012 int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0;
1013
1014 /**
1015 * The number of structural features of the '<em>Reference</em>' class.
1016 * <!-- begin-user-doc -->
1017 * <!-- end-user-doc -->
1018 * @generated
1019 * @ordered
1020 */
1021 int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1022
1023 /**
1024 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
1025 * <!-- begin-user-doc -->
1026 * <!-- end-user-doc -->
1027 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
1028 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
1029 * @generated
1030 */
1031 int INTERVAL = 27;
1032
1033 /**
1034 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
1035 * <!-- begin-user-doc -->
1036 * <!-- end-user-doc -->
1037 * @generated
1038 * @ordered
1039 */
1040 int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0;
1041
1042 /**
1043 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
1044 * <!-- begin-user-doc -->
1045 * <!-- end-user-doc -->
1046 * @generated
1047 * @ordered
1048 */
1049 int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1;
1050
1051 /**
1052 * The number of structural features of the '<em>Interval</em>' class.
1053 * <!-- begin-user-doc -->
1054 * <!-- end-user-doc -->
1055 * @generated
1056 * @ordered
1057 */
1058 int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
1059
1060 /**
1061 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
1062 * <!-- begin-user-doc -->
1063 * <!-- end-user-doc -->
1064 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
1065 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
1066 * @generated
1067 */
1068 int LITERAL = 28;
1069
1070 /**
1071 * The number of structural features of the '<em>Literal</em>' class.
1072 * <!-- begin-user-doc -->
1073 * <!-- end-user-doc -->
1074 * @generated
1075 * @ordered
1076 */
1077 int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
1078
1079 /**
1080 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
1081 * <!-- begin-user-doc -->
1082 * <!-- end-user-doc -->
1083 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
1084 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
1085 * @generated
1086 */
1087 int LOGIC_LITERAL = 29;
1088
1089 /**
1090 * The feature id for the '<em><b>Value</b></em>' attribute.
1091 * <!-- begin-user-doc -->
1092 * <!-- end-user-doc -->
1093 * @generated
1094 * @ordered
1095 */
1096 int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1097
1098 /**
1099 * The number of structural features of the '<em>Logic Literal</em>' class.
1100 * <!-- begin-user-doc -->
1101 * <!-- end-user-doc -->
1102 * @generated
1103 * @ordered
1104 */
1105 int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1106
1107 /**
1108 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
1109 * <!-- begin-user-doc -->
1110 * <!-- end-user-doc -->
1111 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
1112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
1113 * @generated
1114 */
1115 int NUMERIC_LITERAL = 30;
1116
1117 /**
1118 * The feature id for the '<em><b>Value</b></em>' attribute.
1119 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc -->
1121 * @generated
1122 * @ordered
1123 */
1124 int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1125
1126 /**
1127 * The number of structural features of the '<em>Numeric Literal</em>' class.
1128 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc -->
1130 * @generated
1131 * @ordered
1132 */
1133 int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1134
1135 /**
1136 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
1137 * <!-- begin-user-doc -->
1138 * <!-- end-user-doc -->
1139 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
1140 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
1141 * @generated
1142 */
1143 int INFINITY_LITERAL = 31;
1144
1145 /**
1146 * The number of structural features of the '<em>Infinity Literal</em>' class.
1147 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc -->
1149 * @generated
1150 * @ordered
1151 */
1152 int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1153
1154 /**
1155 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
1156 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc -->
1158 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
1159 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
1160 * @generated
1161 */
1162 int EMPTY_INTERVAL_LITERAL = 32;
1163
1164 /**
1165 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
1166 * <!-- begin-user-doc -->
1167 * <!-- end-user-doc -->
1168 * @generated
1169 * @ordered
1170 */
1171 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1172
1173 /**
1174 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
1175 * <!-- begin-user-doc -->
1176 * <!-- end-user-doc -->
1177 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
1178 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
1179 * @generated
1180 */
1181 int STRING_LITERAL = 33;
1182
1183 /**
1184 * The feature id for the '<em><b>Value</b></em>' attribute.
1185 * <!-- begin-user-doc -->
1186 * <!-- end-user-doc -->
1187 * @generated
1188 * @ordered
1189 */
1190 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1191
1192 /**
1193 * The number of structural features of the '<em>String Literal</em>' class.
1194 * <!-- begin-user-doc -->
1195 * <!-- end-user-doc -->
1196 * @generated
1197 * @ordered
1198 */
1199 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1200
1201 /**
1202 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
1203 * <!-- begin-user-doc -->
1204 * <!-- end-user-doc -->
1205 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
1206 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
1207 * @generated
1208 */
1209 int CLASS_DEFINITION = 34;
1210
1211 /**
1212 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1213 * <!-- begin-user-doc -->
1214 * <!-- end-user-doc -->
1215 * @generated
1216 * @ordered
1217 */
1218 int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0;
1219
1220 /**
1221 * The feature id for the '<em><b>Name</b></em>' attribute.
1222 * <!-- begin-user-doc -->
1223 * <!-- end-user-doc -->
1224 * @generated
1225 * @ordered
1226 */
1227 int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
1228
1229 /**
1230 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1231 * <!-- begin-user-doc -->
1232 * <!-- end-user-doc -->
1233 * @generated
1234 * @ordered
1235 */
1236 int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2;
1237
1238 /**
1239 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1240 * <!-- begin-user-doc -->
1241 * <!-- end-user-doc -->
1242 * @generated
1243 * @ordered
1244 */
1245 int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3;
1246
1247 /**
1248 * The number of structural features of the '<em>Class Definition</em>' class.
1249 * <!-- begin-user-doc -->
1250 * <!-- end-user-doc -->
1251 * @generated
1252 * @ordered
1253 */
1254 int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
1255
1256 /**
1257 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
1258 * <!-- begin-user-doc -->
1259 * <!-- end-user-doc -->
1260 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
1261 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1262 * @generated
1263 */
1264 int MEMBER_DEFINITION = 35;
1265
1266 /**
1267 * The feature id for the '<em><b>Containment</b></em>' attribute.
1268 * <!-- begin-user-doc -->
1269 * <!-- end-user-doc -->
1270 * @generated
1271 * @ordered
1272 */
1273 int MEMBER_DEFINITION__CONTAINMENT = 0;
1274
1275 /**
1276 * The feature id for the '<em><b>Type</b></em>' reference.
1277 * <!-- begin-user-doc -->
1278 * <!-- end-user-doc -->
1279 * @generated
1280 * @ordered
1281 */
1282 int MEMBER_DEFINITION__TYPE = 1;
1283
1284 /**
1285 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
1286 * <!-- begin-user-doc -->
1287 * <!-- end-user-doc -->
1288 * @generated
1289 * @ordered
1290 */
1291 int MEMBER_DEFINITION__MULTIPLICITY = 2;
1292
1293 /**
1294 * The feature id for the '<em><b>Name</b></em>' attribute.
1295 * <!-- begin-user-doc -->
1296 * <!-- end-user-doc -->
1297 * @generated
1298 * @ordered
1299 */
1300 int MEMBER_DEFINITION__NAME = 3;
1301
1302 /**
1303 * The feature id for the '<em><b>Opposite</b></em>' reference.
1304 * <!-- begin-user-doc -->
1305 * <!-- end-user-doc -->
1306 * @generated
1307 * @ordered
1308 */
1309 int MEMBER_DEFINITION__OPPOSITE = 4;
1310
1311 /**
1312 * The number of structural features of the '<em>Member Definition</em>' class.
1313 * <!-- begin-user-doc -->
1314 * <!-- end-user-doc -->
1315 * @generated
1316 * @ordered
1317 */
1318 int MEMBER_DEFINITION_FEATURE_COUNT = 5;
1319
1320 /**
1321 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
1322 * <!-- begin-user-doc -->
1323 * <!-- end-user-doc -->
1324 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
1325 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1326 * @generated
1327 */
1328 int MULTIPLICITY = 36;
1329
1330 /**
1331 * The number of structural features of the '<em>Multiplicity</em>' class.
1332 * <!-- begin-user-doc -->
1333 * <!-- end-user-doc -->
1334 * @generated
1335 * @ordered
1336 */
1337 int MULTIPLICITY_FEATURE_COUNT = 0;
1338
1339 /**
1340 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
1341 * <!-- begin-user-doc -->
1342 * <!-- end-user-doc -->
1343 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
1344 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1345 * @generated
1346 */
1347 int MANY_MULTIPLICITY = 37;
1348
1349 /**
1350 * The number of structural features of the '<em>Many Multiplicity</em>' class.
1351 * <!-- begin-user-doc -->
1352 * <!-- end-user-doc -->
1353 * @generated
1354 * @ordered
1355 */
1356 int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1357
1358 /**
1359 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1360 * <!-- begin-user-doc -->
1361 * <!-- end-user-doc -->
1362 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
1363 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1364 * @generated
1365 */
1366 int EXACT_MULTIPLICITY = 38;
1367
1368 /**
1369 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
1370 * <!-- begin-user-doc -->
1371 * <!-- end-user-doc -->
1372 * @generated
1373 * @ordered
1374 */
1375 int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0;
1376
1377 /**
1378 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1379 * <!-- begin-user-doc -->
1380 * <!-- end-user-doc -->
1381 * @generated
1382 * @ordered
1383 */
1384 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1385
1386 /**
1387 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
1388 * <!-- begin-user-doc -->
1389 * <!-- end-user-doc -->
1390 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
1391 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1392 * @generated
1393 */
1394 int BOUNDED_MULTIPLICITY = 39;
1395
1396 /**
1397 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1398 * <!-- begin-user-doc -->
1399 * <!-- end-user-doc -->
1400 * @generated
1401 * @ordered
1402 */
1403 int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1404
1405 /**
1406 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1407 * <!-- begin-user-doc -->
1408 * <!-- end-user-doc -->
1409 * @generated
1410 * @ordered
1411 */
1412 int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1413
1414 /**
1415 * The number of structural features of the '<em>Bounded Multiplicity</em>' class.
1416 * <!-- begin-user-doc -->
1417 * <!-- end-user-doc -->
1418 * @generated
1419 * @ordered
1420 */
1421 int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1422
1423 /**
1424 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
1425 * <!-- begin-user-doc -->
1426 * <!-- end-user-doc -->
1427 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
1428 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1429 * @generated
1430 */
1431 int SCOPE_DEFINITION = 40;
1432
1433 /**
1434 * The feature id for the '<em><b>Type</b></em>' reference.
1435 * <!-- begin-user-doc -->
1436 * <!-- end-user-doc -->
1437 * @generated
1438 * @ordered
1439 */
1440 int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
1441
1442 /**
1443 * The number of structural features of the '<em>Scope Definition</em>' class.
1444 * <!-- begin-user-doc -->
1445 * <!-- end-user-doc -->
1446 * @generated
1447 * @ordered
1448 */
1449 int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
1450
1451 /**
1452 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
1453 * <!-- begin-user-doc -->
1454 * <!-- end-user-doc -->
1455 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
1456 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1457 * @generated
1458 */
1459 int EXACT_SCOPE_DEFINITION = 41;
1460
1461 /**
1462 * The feature id for the '<em><b>Type</b></em>' reference.
1463 * <!-- begin-user-doc -->
1464 * <!-- end-user-doc -->
1465 * @generated
1466 * @ordered
1467 */
1468 int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1469
1470 /**
1471 * The feature id for the '<em><b>Exact Scope</b></em>' attribute.
1472 * <!-- begin-user-doc -->
1473 * <!-- end-user-doc -->
1474 * @generated
1475 * @ordered
1476 */
1477 int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1478
1479 /**
1480 * The number of structural features of the '<em>Exact Scope Definition</em>' class.
1481 * <!-- begin-user-doc -->
1482 * <!-- end-user-doc -->
1483 * @generated
1484 * @ordered
1485 */
1486 int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1487
1488 /**
1489 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
1490 * <!-- begin-user-doc -->
1491 * <!-- end-user-doc -->
1492 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
1493 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
1494 * @generated
1495 */
1496 int BOUNDED_SCOPE_DEFINITION = 42;
1497
1498 /**
1499 * The feature id for the '<em><b>Type</b></em>' reference.
1500 * <!-- begin-user-doc -->
1501 * <!-- end-user-doc -->
1502 * @generated
1503 * @ordered
1504 */
1505 int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1506
1507 /**
1508 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1509 * <!-- begin-user-doc -->
1510 * <!-- end-user-doc -->
1511 * @generated
1512 * @ordered
1513 */
1514 int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1515
1516 /**
1517 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1518 * <!-- begin-user-doc -->
1519 * <!-- end-user-doc -->
1520 * @generated
1521 * @ordered
1522 */
1523 int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1524
1525 /**
1526 * The number of structural features of the '<em>Bounded Scope Definition</em>' class.
1527 * <!-- begin-user-doc -->
1528 * <!-- end-user-doc -->
1529 * @generated
1530 * @ordered
1531 */
1532 int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2;
1533
1534 /**
1535 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
1536 * <!-- begin-user-doc -->
1537 * <!-- end-user-doc -->
1538 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
1539 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
1540 * @generated
1541 */
1542 int LOWER_BOUNDED_SCOPE_DEFINITION = 43;
1543
1544 /**
1545 * The feature id for the '<em><b>Type</b></em>' reference.
1546 * <!-- begin-user-doc -->
1547 * <!-- end-user-doc -->
1548 * @generated
1549 * @ordered
1550 */
1551 int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1552
1553 /**
1554 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1555 * <!-- begin-user-doc -->
1556 * <!-- end-user-doc -->
1557 * @generated
1558 * @ordered
1559 */
1560 int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1561
1562 /**
1563 * The number of structural features of the '<em>Lower Bounded Scope Definition</em>' class.
1564 * <!-- begin-user-doc -->
1565 * <!-- end-user-doc -->
1566 * @generated
1567 * @ordered
1568 */
1569 int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1570
1571 /**
1572 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
1573 * <!-- begin-user-doc -->
1574 * <!-- end-user-doc -->
1575 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
1576 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
1577 * @generated
1578 */
1579 int OBJECTIVE_DEFINITION = 44;
1580
1581 /**
1582 * The feature id for the '<em><b>Kind</b></em>' attribute.
1583 * <!-- begin-user-doc -->
1584 * <!-- end-user-doc -->
1585 * @generated
1586 * @ordered
1587 */
1588 int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0;
1589
1590 /**
1591 * The feature id for the '<em><b>Objective</b></em>' containment reference.
1592 * <!-- begin-user-doc -->
1593 * <!-- end-user-doc -->
1594 * @generated
1595 * @ordered
1596 */
1597 int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1;
1598
1599 /**
1600 * The number of structural features of the '<em>Objective Definition</em>' class.
1601 * <!-- begin-user-doc -->
1602 * <!-- end-user-doc -->
1603 * @generated
1604 * @ordered
1605 */
1606 int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1607
1608 /**
1609 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class.
1610 * <!-- begin-user-doc -->
1611 * <!-- end-user-doc -->
1612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
1613 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
1614 * @generated
1615 */
1616 int INTERPRETATION = 45;
1617
1618 /**
1619 * The feature id for the '<em><b>Body</b></em>' containment reference.
1620 * <!-- begin-user-doc -->
1621 * <!-- end-user-doc -->
1622 * @generated
1623 * @ordered
1624 */
1625 int INTERPRETATION__BODY = STATEMENT_FEATURE_COUNT + 0;
1626
1627 /**
1628 * The feature id for the '<em><b>Range</b></em>' containment reference.
1629 * <!-- begin-user-doc -->
1630 * <!-- end-user-doc -->
1631 * @generated
1632 * @ordered
1633 */
1634 int INTERPRETATION__RANGE = STATEMENT_FEATURE_COUNT + 1;
1635
1636 /**
1637 * The number of structural features of the '<em>Interpretation</em>' class.
1638 * <!-- begin-user-doc -->
1639 * <!-- end-user-doc -->
1640 * @generated
1641 * @ordered
1642 */
1643 int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1644
1645 /**
1646 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class.
1647 * <!-- begin-user-doc -->
1648 * <!-- end-user-doc -->
1649 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
1650 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
1651 * @generated
1652 */
1653 int VARIABLE = 46;
1654
1655 /**
1656 * The feature id for the '<em><b>Name</b></em>' attribute.
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @generated
1660 * @ordered
1661 */
1662 int VARIABLE__NAME = NAMED_ELEMENT__NAME;
1663
1664 /**
1665 * The feature id for the '<em><b>Type</b></em>' reference.
1666 * <!-- begin-user-doc -->
1667 * <!-- end-user-doc -->
1668 * @generated
1669 * @ordered
1670 */
1671 int VARIABLE__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
1672
1673 /**
1674 * The number of structural features of the '<em>Variable</em>' class.
1675 * <!-- begin-user-doc -->
1676 * <!-- end-user-doc -->
1677 * @generated
1678 * @ordered
1679 */
1680 int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
1681
1682 /**
1683 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
1684 * <!-- begin-user-doc -->
1685 * <!-- end-user-doc -->
1686 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
1687 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
1688 * @generated
1689 */
1690 int DISJUNCTION = 47;
1691
1692 /**
1693 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1694 * <!-- begin-user-doc -->
1695 * <!-- end-user-doc -->
1696 * @generated
1697 * @ordered
1698 */
1699 int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1700
1701 /**
1702 * The number of structural features of the '<em>Disjunction</em>' class.
1703 * <!-- begin-user-doc -->
1704 * <!-- end-user-doc -->
1705 * @generated
1706 * @ordered
1707 */
1708 int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1709
1710 /**
1711 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
1712 * <!-- begin-user-doc -->
1713 * <!-- end-user-doc -->
1714 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
1715 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
1716 * @generated
1717 */
1718 int SWITCH = 48;
1719
1720 /**
1721 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
1722 * <!-- begin-user-doc -->
1723 * <!-- end-user-doc -->
1724 * @generated
1725 * @ordered
1726 */
1727 int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0;
1728
1729 /**
1730 * The number of structural features of the '<em>Switch</em>' class.
1731 * <!-- begin-user-doc -->
1732 * <!-- end-user-doc -->
1733 * @generated
1734 * @ordered
1735 */
1736 int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1737
1738 /**
1739 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
1743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
1744 * @generated
1745 */
1746 int CONJUNCTION = 49;
1747
1748 /**
1749 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1750 * <!-- begin-user-doc -->
1751 * <!-- end-user-doc -->
1752 * @generated
1753 * @ordered
1754 */
1755 int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1756
1757 /**
1758 * The number of structural features of the '<em>Conjunction</em>' class.
1759 * <!-- begin-user-doc -->
1760 * <!-- end-user-doc -->
1761 * @generated
1762 * @ordered
1763 */
1764 int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1765
1766 /**
1767 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
1768 * <!-- begin-user-doc -->
1769 * <!-- end-user-doc -->
1770 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
1771 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
1772 * @generated
1773 */
1774 int COMPARISON = 50;
1775
1776 /**
1777 * The feature id for the '<em><b>Left</b></em>' containment reference.
1778 * <!-- begin-user-doc -->
1779 * <!-- end-user-doc -->
1780 * @generated
1781 * @ordered
1782 */
1783 int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1784
1785 /**
1786 * The feature id for the '<em><b>Op</b></em>' attribute.
1787 * <!-- begin-user-doc -->
1788 * <!-- end-user-doc -->
1789 * @generated
1790 * @ordered
1791 */
1792 int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1;
1793
1794 /**
1795 * The feature id for the '<em><b>Right</b></em>' containment reference.
1796 * <!-- begin-user-doc -->
1797 * <!-- end-user-doc -->
1798 * @generated
1799 * @ordered
1800 */
1801 int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1802
1803 /**
1804 * The number of structural features of the '<em>Comparison</em>' class.
1805 * <!-- begin-user-doc -->
1806 * <!-- end-user-doc -->
1807 * @generated
1808 * @ordered
1809 */
1810 int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1811
1812 /**
1813 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
1814 * <!-- begin-user-doc -->
1815 * <!-- end-user-doc -->
1816 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
1817 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
1818 * @generated
1819 */
1820 int BINARY_EXPRESSION = 51;
1821
1822 /**
1823 * The feature id for the '<em><b>Left</b></em>' containment reference.
1824 * <!-- begin-user-doc -->
1825 * <!-- end-user-doc -->
1826 * @generated
1827 * @ordered
1828 */
1829 int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1830
1831 /**
1832 * The feature id for the '<em><b>Op</b></em>' attribute.
1833 * <!-- begin-user-doc -->
1834 * <!-- end-user-doc -->
1835 * @generated
1836 * @ordered
1837 */
1838 int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1;
1839
1840 /**
1841 * The feature id for the '<em><b>Right</b></em>' containment reference.
1842 * <!-- begin-user-doc -->
1843 * <!-- end-user-doc -->
1844 * @generated
1845 * @ordered
1846 */
1847 int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1848
1849 /**
1850 * The number of structural features of the '<em>Binary Expression</em>' class.
1851 * <!-- begin-user-doc -->
1852 * <!-- end-user-doc -->
1853 * @generated
1854 * @ordered
1855 */
1856 int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1857
1858 /**
1859 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl <em>Cast Expression</em>}' class.
1860 * <!-- begin-user-doc -->
1861 * <!-- end-user-doc -->
1862 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl
1863 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression()
1864 * @generated
1865 */
1866 int CAST_EXPRESSION = 52;
1867
1868 /**
1869 * The feature id for the '<em><b>Body</b></em>' containment reference.
1870 * <!-- begin-user-doc -->
1871 * <!-- end-user-doc -->
1872 * @generated
1873 * @ordered
1874 */
1875 int CAST_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 0;
1876
1877 /**
1878 * The feature id for the '<em><b>Type</b></em>' reference.
1879 * <!-- begin-user-doc -->
1880 * <!-- end-user-doc -->
1881 * @generated
1882 * @ordered
1883 */
1884 int CAST_EXPRESSION__TYPE = EXPRESSION_FEATURE_COUNT + 1;
1885
1886 /**
1887 * The number of structural features of the '<em>Cast Expression</em>' class.
1888 * <!-- begin-user-doc -->
1889 * <!-- end-user-doc -->
1890 * @generated
1891 * @ordered
1892 */
1893 int CAST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
1894
1895 /**
1896 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
1897 * <!-- begin-user-doc -->
1898 * <!-- end-user-doc -->
1899 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
1900 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
1901 * @generated
1902 */
1903 int UNARY_EXPRESSION = 53;
1904
1905 /**
1906 * The feature id for the '<em><b>Op</b></em>' attribute.
1907 * <!-- begin-user-doc -->
1908 * <!-- end-user-doc -->
1909 * @generated
1910 * @ordered
1911 */
1912 int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0;
1913
1914 /**
1915 * The feature id for the '<em><b>Body</b></em>' containment reference.
1916 * <!-- begin-user-doc -->
1917 * <!-- end-user-doc -->
1918 * @generated
1919 * @ordered
1920 */
1921 int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
1922
1923 /**
1924 * The number of structural features of the '<em>Unary Expression</em>' class.
1925 * <!-- begin-user-doc -->
1926 * <!-- end-user-doc -->
1927 * @generated
1928 * @ordered
1929 */
1930 int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
1931
1932 /**
1933 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl <em>Node</em>}' class.
1934 * <!-- begin-user-doc -->
1935 * <!-- end-user-doc -->
1936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl
1937 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode()
1938 * @generated
1939 */
1940 int NODE = 54;
1941
1942 /**
1943 * The feature id for the '<em><b>Name</b></em>' attribute.
1944 * <!-- begin-user-doc -->
1945 * <!-- end-user-doc -->
1946 * @generated
1947 * @ordered
1948 */
1949 int NODE__NAME = NAMED_ELEMENT__NAME;
1950
1951 /**
1952 * The feature id for the '<em><b>With Id</b></em>' attribute.
1953 * <!-- begin-user-doc -->
1954 * <!-- end-user-doc -->
1955 * @generated
1956 * @ordered
1957 */
1958 int NODE__WITH_ID = NAMED_ELEMENT_FEATURE_COUNT + 0;
1959
1960 /**
1961 * The number of structural features of the '<em>Node</em>' class.
1962 * <!-- begin-user-doc -->
1963 * <!-- end-user-doc -->
1964 * @generated
1965 * @ordered
1966 */
1967 int NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
1968
1969 /**
1970 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl <em>Functor</em>}' class.
1971 * <!-- begin-user-doc -->
1972 * <!-- end-user-doc -->
1973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl
1974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor()
1975 * @generated
1976 */
1977 int FUNCTOR = 55;
1978
1979 /**
1980 * The feature id for the '<em><b>Name</b></em>' attribute.
1981 * <!-- begin-user-doc -->
1982 * <!-- end-user-doc -->
1983 * @generated
1984 * @ordered
1985 */
1986 int FUNCTOR__NAME = NAMED_ELEMENT__NAME;
1987
1988 /**
1989 * The feature id for the '<em><b>Parameters</b></em>' reference list.
1990 * <!-- begin-user-doc -->
1991 * <!-- end-user-doc -->
1992 * @generated
1993 * @ordered
1994 */
1995 int FUNCTOR__PARAMETERS = NAMED_ELEMENT_FEATURE_COUNT + 0;
1996
1997 /**
1998 * The number of structural features of the '<em>Functor</em>' class.
1999 * <!-- begin-user-doc -->
2000 * <!-- end-user-doc -->
2001 * @generated
2002 * @ordered
2003 */
2004 int FUNCTOR_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
2005
2006 /**
2007 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class.
2008 * <!-- begin-user-doc -->
2009 * <!-- end-user-doc -->
2010 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
2011 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
2012 * @generated
2013 */
2014 int PREDICATE = 56;
2015
2016 /**
2017 * The feature id for the '<em><b>Name</b></em>' attribute.
2018 * <!-- begin-user-doc -->
2019 * <!-- end-user-doc -->
2020 * @generated
2021 * @ordered
2022 */
2023 int PREDICATE__NAME = FUNCTOR__NAME;
2024
2025 /**
2026 * The feature id for the '<em><b>Parameters</b></em>' reference list.
2027 * <!-- begin-user-doc -->
2028 * <!-- end-user-doc -->
2029 * @generated
2030 * @ordered
2031 */
2032 int PREDICATE__PARAMETERS = FUNCTOR__PARAMETERS;
2033
2034 /**
2035 * The number of structural features of the '<em>Predicate</em>' class.
2036 * <!-- begin-user-doc -->
2037 * <!-- end-user-doc -->
2038 * @generated
2039 * @ordered
2040 */
2041 int PREDICATE_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 0;
2042
2043 /**
2044 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl <em>Metric</em>}' class.
2045 * <!-- begin-user-doc -->
2046 * <!-- end-user-doc -->
2047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl
2048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric()
2049 * @generated
2050 */
2051 int METRIC = 57;
2052
2053 /**
2054 * The feature id for the '<em><b>Name</b></em>' attribute.
2055 * <!-- begin-user-doc -->
2056 * <!-- end-user-doc -->
2057 * @generated
2058 * @ordered
2059 */
2060 int METRIC__NAME = FUNCTOR__NAME;
2061
2062 /**
2063 * The feature id for the '<em><b>Parameters</b></em>' reference list.
2064 * <!-- begin-user-doc -->
2065 * <!-- end-user-doc -->
2066 * @generated
2067 * @ordered
2068 */
2069 int METRIC__PARAMETERS = FUNCTOR__PARAMETERS;
2070
2071 /**
2072 * The feature id for the '<em><b>Return Type</b></em>' reference.
2073 * <!-- begin-user-doc -->
2074 * <!-- end-user-doc -->
2075 * @generated
2076 * @ordered
2077 */
2078 int METRIC__RETURN_TYPE = FUNCTOR_FEATURE_COUNT + 0;
2079
2080 /**
2081 * The number of structural features of the '<em>Metric</em>' class.
2082 * <!-- begin-user-doc -->
2083 * <!-- end-user-doc -->
2084 * @generated
2085 * @ordered
2086 */
2087 int METRIC_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 1;
2088
2089 /**
2090 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
2091 * <!-- begin-user-doc -->
2092 * <!-- end-user-doc -->
2093 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2094 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
2095 * @generated
2096 */
2097 int BINARY_OPERATOR = 58;
2098
2099 /**
2100 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
2101 * <!-- begin-user-doc -->
2102 * <!-- end-user-doc -->
2103 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2104 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
2105 * @generated
2106 */
2107 int UNARY_OP = 59;
2108
2109 /**
2110 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
2111 * <!-- begin-user-doc -->
2112 * <!-- end-user-doc -->
2113 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2114 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
2115 * @generated
2116 */
2117 int LOGIC_VALUE = 60;
2118
2119 /**
2120 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
2121 * <!-- begin-user-doc -->
2122 * <!-- end-user-doc -->
2123 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
2124 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
2125 * @generated
2126 */
2127 int OBJECTIVE_KIND = 61;
2128
2129 /**
2130 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier <em>Quantifier</em>}' enum.
2131 * <!-- begin-user-doc -->
2132 * <!-- end-user-doc -->
2133 * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier
2134 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier()
2135 * @generated
2136 */
2137 int QUANTIFIER = 62;
2138
2139
2140 /**
2141 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
2142 * <!-- begin-user-doc -->
2143 * <!-- end-user-doc -->
2144 * @return the meta object for class '<em>Problem</em>'.
2145 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
2146 * @generated
2147 */
2148 EClass getProblem();
2149
2150 /**
2151 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}'.
2152 * <!-- begin-user-doc -->
2153 * <!-- end-user-doc -->
2154 * @return the meta object for the containment reference list '<em>Statements</em>'.
2155 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements()
2156 * @see #getProblem()
2157 * @generated
2158 */
2159 EReference getProblem_Statements();
2160
2161 /**
2162 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
2163 * <!-- begin-user-doc -->
2164 * <!-- end-user-doc -->
2165 * @return the meta object for class '<em>Statement</em>'.
2166 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
2167 * @generated
2168 */
2169 EClass getStatement();
2170
2171 /**
2172 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
2173 * <!-- begin-user-doc -->
2174 * <!-- end-user-doc -->
2175 * @return the meta object for class '<em>Predicate Definition</em>'.
2176 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
2177 * @generated
2178 */
2179 EClass getPredicateDefinition();
2180
2181 /**
2182 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}'.
2183 * <!-- begin-user-doc -->
2184 * <!-- end-user-doc -->
2185 * @return the meta object for the containment reference '<em>Head</em>'.
2186 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead()
2187 * @see #getPredicateDefinition()
2188 * @generated
2189 */
2190 EReference getPredicateDefinition_Head();
2191
2192 /**
2193 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}'.
2194 * <!-- begin-user-doc -->
2195 * <!-- end-user-doc -->
2196 * @return the meta object for the containment reference '<em>Body</em>'.
2197 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody()
2198 * @see #getPredicateDefinition()
2199 * @generated
2200 */
2201 EReference getPredicateDefinition_Body();
2202
2203 /**
2204 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}'.
2205 * <!-- begin-user-doc -->
2206 * <!-- end-user-doc -->
2207 * @return the meta object for the attribute '<em>Functional</em>'.
2208 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional()
2209 * @see #getPredicateDefinition()
2210 * @generated
2211 */
2212 EAttribute getPredicateDefinition_Functional();
2213
2214 /**
2215 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}'.
2216 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc -->
2218 * @return the meta object for the attribute '<em>Error</em>'.
2219 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError()
2220 * @see #getPredicateDefinition()
2221 * @generated
2222 */
2223 EAttribute getPredicateDefinition_Error();
2224
2225 /**
2226 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
2227 * <!-- begin-user-doc -->
2228 * <!-- end-user-doc -->
2229 * @return the meta object for class '<em>Unnamed Error Prediate Definition</em>'.
2230 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
2231 * @generated
2232 */
2233 EClass getUnnamedErrorPrediateDefinition();
2234
2235 /**
2236 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}'.
2237 * <!-- begin-user-doc -->
2238 * <!-- end-user-doc -->
2239 * @return the meta object for the containment reference '<em>Argument List</em>'.
2240 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList()
2241 * @see #getUnnamedErrorPrediateDefinition()
2242 * @generated
2243 */
2244 EReference getUnnamedErrorPrediateDefinition_ArgumentList();
2245
2246 /**
2247 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}'.
2248 * <!-- begin-user-doc -->
2249 * <!-- end-user-doc -->
2250 * @return the meta object for the containment reference '<em>Body</em>'.
2251 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody()
2252 * @see #getUnnamedErrorPrediateDefinition()
2253 * @generated
2254 */
2255 EReference getUnnamedErrorPrediateDefinition_Body();
2256
2257 /**
2258 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
2259 * <!-- begin-user-doc -->
2260 * <!-- end-user-doc -->
2261 * @return the meta object for class '<em>Default Definition</em>'.
2262 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
2263 * @generated
2264 */
2265 EClass getDefaultDefinition();
2266
2267 /**
2268 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}'.
2269 * <!-- begin-user-doc -->
2270 * <!-- end-user-doc -->
2271 * @return the meta object for the containment reference '<em>Head</em>'.
2272 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead()
2273 * @see #getDefaultDefinition()
2274 * @generated
2275 */
2276 EReference getDefaultDefinition_Head();
2277
2278 /**
2279 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}'.
2280 * <!-- begin-user-doc -->
2281 * <!-- end-user-doc -->
2282 * @return the meta object for the containment reference '<em>Range</em>'.
2283 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange()
2284 * @see #getDefaultDefinition()
2285 * @generated
2286 */
2287 EReference getDefaultDefinition_Range();
2288
2289 /**
2290 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
2291 * <!-- begin-user-doc -->
2292 * <!-- end-user-doc -->
2293 * @return the meta object for class '<em>Metric Definition</em>'.
2294 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
2295 * @generated
2296 */
2297 EClass getMetricDefinition();
2298
2299 /**
2300 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}'.
2301 * <!-- begin-user-doc -->
2302 * <!-- end-user-doc -->
2303 * @return the meta object for the containment reference '<em>Head</em>'.
2304 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead()
2305 * @see #getMetricDefinition()
2306 * @generated
2307 */
2308 EReference getMetricDefinition_Head();
2309
2310 /**
2311 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}'.
2312 * <!-- begin-user-doc -->
2313 * <!-- end-user-doc -->
2314 * @return the meta object for the containment reference '<em>Body</em>'.
2315 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody()
2316 * @see #getMetricDefinition()
2317 * @generated
2318 */
2319 EReference getMetricDefinition_Body();
2320
2321 /**
2322 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}'.
2323 * <!-- begin-user-doc -->
2324 * <!-- end-user-doc -->
2325 * @return the meta object for the reference '<em>Type</em>'.
2326 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType()
2327 * @see #getMetricDefinition()
2328 * @generated
2329 */
2330 EReference getMetricDefinition_Type();
2331
2332 /**
2333 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
2334 * <!-- begin-user-doc -->
2335 * <!-- end-user-doc -->
2336 * @return the meta object for class '<em>Extern Predicate Definition</em>'.
2337 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
2338 * @generated
2339 */
2340 EClass getExternPredicateDefinition();
2341
2342 /**
2343 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName <em>Name</em>}'.
2344 * <!-- begin-user-doc -->
2345 * <!-- end-user-doc -->
2346 * @return the meta object for the attribute '<em>Name</em>'.
2347 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName()
2348 * @see #getExternPredicateDefinition()
2349 * @generated
2350 */
2351 EAttribute getExternPredicateDefinition_Name();
2352
2353 /**
2354 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList <em>Argument List</em>}'.
2355 * <!-- begin-user-doc -->
2356 * <!-- end-user-doc -->
2357 * @return the meta object for the containment reference '<em>Argument List</em>'.
2358 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList()
2359 * @see #getExternPredicateDefinition()
2360 * @generated
2361 */
2362 EReference getExternPredicateDefinition_ArgumentList();
2363
2364 /**
2365 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
2366 * <!-- begin-user-doc -->
2367 * <!-- end-user-doc -->
2368 * @return the meta object for class '<em>Extern Metric Definition</em>'.
2369 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
2370 * @generated
2371 */
2372 EClass getExternMetricDefinition();
2373
2374 /**
2375 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}'.
2376 * <!-- begin-user-doc -->
2377 * <!-- end-user-doc -->
2378 * @return the meta object for the reference '<em>Type</em>'.
2379 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType()
2380 * @see #getExternMetricDefinition()
2381 * @generated
2382 */
2383 EReference getExternMetricDefinition_Type();
2384
2385 /**
2386 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName <em>Name</em>}'.
2387 * <!-- begin-user-doc -->
2388 * <!-- end-user-doc -->
2389 * @return the meta object for the attribute '<em>Name</em>'.
2390 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName()
2391 * @see #getExternMetricDefinition()
2392 * @generated
2393 */
2394 EAttribute getExternMetricDefinition_Name();
2395
2396 /**
2397 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList <em>Argument List</em>}'.
2398 * <!-- begin-user-doc -->
2399 * <!-- end-user-doc -->
2400 * @return the meta object for the containment reference '<em>Argument List</em>'.
2401 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList()
2402 * @see #getExternMetricDefinition()
2403 * @generated
2404 */
2405 EReference getExternMetricDefinition_ArgumentList();
2406
2407 /**
2408 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition <em>Extern Aggregator Definition</em>}'.
2409 * <!-- begin-user-doc -->
2410 * <!-- end-user-doc -->
2411 * @return the meta object for class '<em>Extern Aggregator Definition</em>'.
2412 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition
2413 * @generated
2414 */
2415 EClass getExternAggregatorDefinition();
2416
2417 /**
2418 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType <em>Type</em>}'.
2419 * <!-- begin-user-doc -->
2420 * <!-- end-user-doc -->
2421 * @return the meta object for the reference '<em>Type</em>'.
2422 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType()
2423 * @see #getExternAggregatorDefinition()
2424 * @generated
2425 */
2426 EReference getExternAggregatorDefinition_Type();
2427
2428 /**
2429 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName <em>Name</em>}'.
2430 * <!-- begin-user-doc -->
2431 * <!-- end-user-doc -->
2432 * @return the meta object for the attribute '<em>Name</em>'.
2433 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName()
2434 * @see #getExternAggregatorDefinition()
2435 * @generated
2436 */
2437 EAttribute getExternAggregatorDefinition_Name();
2438
2439 /**
2440 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType <em>Input Type</em>}'.
2441 * <!-- begin-user-doc -->
2442 * <!-- end-user-doc -->
2443 * @return the meta object for the reference '<em>Input Type</em>'.
2444 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType()
2445 * @see #getExternAggregatorDefinition()
2446 * @generated
2447 */
2448 EReference getExternAggregatorDefinition_InputType();
2449
2450 /**
2451 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition <em>Extern Datatype Definition</em>}'.
2452 * <!-- begin-user-doc -->
2453 * <!-- end-user-doc -->
2454 * @return the meta object for class '<em>Extern Datatype Definition</em>'.
2455 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition
2456 * @generated
2457 */
2458 EClass getExternDatatypeDefinition();
2459
2460 /**
2461 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName <em>Name</em>}'.
2462 * <!-- begin-user-doc -->
2463 * <!-- end-user-doc -->
2464 * @return the meta object for the attribute '<em>Name</em>'.
2465 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName()
2466 * @see #getExternDatatypeDefinition()
2467 * @generated
2468 */
2469 EAttribute getExternDatatypeDefinition_Name();
2470
2471 /**
2472 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes <em>Supertypes</em>}'.
2473 * <!-- begin-user-doc -->
2474 * <!-- end-user-doc -->
2475 * @return the meta object for the reference list '<em>Supertypes</em>'.
2476 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes()
2477 * @see #getExternDatatypeDefinition()
2478 * @generated
2479 */
2480 EReference getExternDatatypeDefinition_Supertypes();
2481
2482 /**
2483 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
2484 * <!-- begin-user-doc -->
2485 * <!-- end-user-doc -->
2486 * @return the meta object for class '<em>Named Element</em>'.
2487 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
2488 * @generated
2489 */
2490 EClass getNamedElement();
2491
2492 /**
2493 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}'.
2494 * <!-- begin-user-doc -->
2495 * <!-- end-user-doc -->
2496 * @return the meta object for the attribute '<em>Name</em>'.
2497 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName()
2498 * @see #getNamedElement()
2499 * @generated
2500 */
2501 EAttribute getNamedElement_Name();
2502
2503 /**
2504 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
2505 * <!-- begin-user-doc -->
2506 * <!-- end-user-doc -->
2507 * @return the meta object for class '<em>Expression</em>'.
2508 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
2509 * @generated
2510 */
2511 EClass getExpression();
2512
2513 /**
2514 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
2515 * <!-- begin-user-doc -->
2516 * <!-- end-user-doc -->
2517 * @return the meta object for class '<em>If Else</em>'.
2518 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
2519 * @generated
2520 */
2521 EClass getIfElse();
2522
2523 /**
2524 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}'.
2525 * <!-- begin-user-doc -->
2526 * <!-- end-user-doc -->
2527 * @return the meta object for the containment reference '<em>Then</em>'.
2528 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen()
2529 * @see #getIfElse()
2530 * @generated
2531 */
2532 EReference getIfElse_Then();
2533
2534 /**
2535 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}'.
2536 * <!-- begin-user-doc -->
2537 * <!-- end-user-doc -->
2538 * @return the meta object for the containment reference '<em>Else</em>'.
2539 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse()
2540 * @see #getIfElse()
2541 * @generated
2542 */
2543 EReference getIfElse_Else();
2544
2545 /**
2546 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}'.
2547 * <!-- begin-user-doc -->
2548 * <!-- end-user-doc -->
2549 * @return the meta object for the containment reference '<em>Condition</em>'.
2550 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition()
2551 * @see #getIfElse()
2552 * @generated
2553 */
2554 EReference getIfElse_Condition();
2555
2556 /**
2557 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let <em>Let</em>}'.
2558 * <!-- begin-user-doc -->
2559 * <!-- end-user-doc -->
2560 * @return the meta object for class '<em>Let</em>'.
2561 * @see org.eclipse.viatra.solver.language.solverLanguage.Let
2562 * @generated
2563 */
2564 EClass getLet();
2565
2566 /**
2567 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings <em>Bindings</em>}'.
2568 * <!-- begin-user-doc -->
2569 * <!-- end-user-doc -->
2570 * @return the meta object for the containment reference list '<em>Bindings</em>'.
2571 * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings()
2572 * @see #getLet()
2573 * @generated
2574 */
2575 EReference getLet_Bindings();
2576
2577 /**
2578 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody <em>Body</em>}'.
2579 * <!-- begin-user-doc -->
2580 * <!-- end-user-doc -->
2581 * @return the meta object for the containment reference '<em>Body</em>'.
2582 * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBody()
2583 * @see #getLet()
2584 * @generated
2585 */
2586 EReference getLet_Body();
2587
2588 /**
2589 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding <em>Let Binding</em>}'.
2590 * <!-- begin-user-doc -->
2591 * <!-- end-user-doc -->
2592 * @return the meta object for class '<em>Let Binding</em>'.
2593 * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding
2594 * @generated
2595 */
2596 EClass getLetBinding();
2597
2598 /**
2599 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable <em>Variable</em>}'.
2600 * <!-- begin-user-doc -->
2601 * <!-- end-user-doc -->
2602 * @return the meta object for the containment reference '<em>Variable</em>'.
2603 * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable()
2604 * @see #getLetBinding()
2605 * @generated
2606 */
2607 EReference getLetBinding_Variable();
2608
2609 /**
2610 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue <em>Value</em>}'.
2611 * <!-- begin-user-doc -->
2612 * <!-- end-user-doc -->
2613 * @return the meta object for the containment reference '<em>Value</em>'.
2614 * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue()
2615 * @see #getLetBinding()
2616 * @generated
2617 */
2618 EReference getLetBinding_Value();
2619
2620 /**
2621 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
2622 * <!-- begin-user-doc -->
2623 * <!-- end-user-doc -->
2624 * @return the meta object for class '<em>Case</em>'.
2625 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
2626 * @generated
2627 */
2628 EClass getCase();
2629
2630 /**
2631 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}'.
2632 * <!-- begin-user-doc -->
2633 * <!-- end-user-doc -->
2634 * @return the meta object for the containment reference '<em>Body</em>'.
2635 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody()
2636 * @see #getCase()
2637 * @generated
2638 */
2639 EReference getCase_Body();
2640
2641 /**
2642 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}'.
2643 * <!-- begin-user-doc -->
2644 * <!-- end-user-doc -->
2645 * @return the meta object for the containment reference '<em>Condition</em>'.
2646 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition()
2647 * @see #getCase()
2648 * @generated
2649 */
2650 EReference getCase_Condition();
2651
2652 /**
2653 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables <em>Local Variables</em>}'.
2654 * <!-- begin-user-doc -->
2655 * <!-- end-user-doc -->
2656 * @return the meta object for class '<em>Local Variables</em>'.
2657 * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables
2658 * @generated
2659 */
2660 EClass getLocalVariables();
2661
2662 /**
2663 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables <em>Variables</em>}'.
2664 * <!-- begin-user-doc -->
2665 * <!-- end-user-doc -->
2666 * @return the meta object for the containment reference list '<em>Variables</em>'.
2667 * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables()
2668 * @see #getLocalVariables()
2669 * @generated
2670 */
2671 EReference getLocalVariables_Variables();
2672
2673 /**
2674 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression <em>Quantified Expression</em>}'.
2675 * <!-- begin-user-doc -->
2676 * <!-- end-user-doc -->
2677 * @return the meta object for class '<em>Quantified Expression</em>'.
2678 * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression
2679 * @generated
2680 */
2681 EClass getQuantifiedExpression();
2682
2683 /**
2684 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables <em>Local Variables</em>}'.
2685 * <!-- begin-user-doc -->
2686 * <!-- end-user-doc -->
2687 * @return the meta object for the containment reference '<em>Local Variables</em>'.
2688 * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables()
2689 * @see #getQuantifiedExpression()
2690 * @generated
2691 */
2692 EReference getQuantifiedExpression_LocalVariables();
2693
2694 /**
2695 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody <em>Body</em>}'.
2696 * <!-- begin-user-doc -->
2697 * <!-- end-user-doc -->
2698 * @return the meta object for the containment reference '<em>Body</em>'.
2699 * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody()
2700 * @see #getQuantifiedExpression()
2701 * @generated
2702 */
2703 EReference getQuantifiedExpression_Body();
2704
2705 /**
2706 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier <em>Quantifier</em>}'.
2707 * <!-- begin-user-doc -->
2708 * <!-- end-user-doc -->
2709 * @return the meta object for the attribute '<em>Quantifier</em>'.
2710 * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier()
2711 * @see #getQuantifiedExpression()
2712 * @generated
2713 */
2714 EAttribute getQuantifiedExpression_Quantifier();
2715
2716 /**
2717 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
2718 * <!-- begin-user-doc -->
2719 * <!-- end-user-doc -->
2720 * @return the meta object for class '<em>Aggregation</em>'.
2721 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
2722 * @generated
2723 */
2724 EClass getAggregation();
2725
2726 /**
2727 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}'.
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @return the meta object for the reference '<em>Op</em>'.
2731 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp()
2732 * @see #getAggregation()
2733 * @generated
2734 */
2735 EReference getAggregation_Op();
2736
2737 /**
2738 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables <em>Local Variables</em>}'.
2739 * <!-- begin-user-doc -->
2740 * <!-- end-user-doc -->
2741 * @return the meta object for the containment reference '<em>Local Variables</em>'.
2742 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables()
2743 * @see #getAggregation()
2744 * @generated
2745 */
2746 EReference getAggregation_LocalVariables();
2747
2748 /**
2749 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}'.
2750 * <!-- begin-user-doc -->
2751 * <!-- end-user-doc -->
2752 * @return the meta object for the containment reference '<em>Body</em>'.
2753 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody()
2754 * @see #getAggregation()
2755 * @generated
2756 */
2757 EReference getAggregation_Body();
2758
2759 /**
2760 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}'.
2761 * <!-- begin-user-doc -->
2762 * <!-- end-user-doc -->
2763 * @return the meta object for the containment reference '<em>Condition</em>'.
2764 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition()
2765 * @see #getAggregation()
2766 * @generated
2767 */
2768 EReference getAggregation_Condition();
2769
2770 /**
2771 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
2772 * <!-- begin-user-doc -->
2773 * <!-- end-user-doc -->
2774 * @return the meta object for class '<em>Call</em>'.
2775 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
2776 * @generated
2777 */
2778 EClass getCall();
2779
2780 /**
2781 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}'.
2782 * <!-- begin-user-doc -->
2783 * <!-- end-user-doc -->
2784 * @return the meta object for the containment reference '<em>Functor</em>'.
2785 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor()
2786 * @see #getCall()
2787 * @generated
2788 */
2789 EReference getCall_Functor();
2790
2791 /**
2792 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
2793 * <!-- begin-user-doc -->
2794 * <!-- end-user-doc -->
2795 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
2796 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure()
2797 * @see #getCall()
2798 * @generated
2799 */
2800 EAttribute getCall_TransitiveClosure();
2801
2802 /**
2803 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}'.
2804 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc -->
2806 * @return the meta object for the attribute '<em>Reflexive Transitive Closure</em>'.
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure()
2808 * @see #getCall()
2809 * @generated
2810 */
2811 EAttribute getCall_ReflexiveTransitiveClosure();
2812
2813 /**
2814 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
2815 * <!-- begin-user-doc -->
2816 * <!-- end-user-doc -->
2817 * @return the meta object for the containment reference '<em>Argument List</em>'.
2818 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
2819 * @see #getCall()
2820 * @generated
2821 */
2822 EReference getCall_ArgumentList();
2823
2824 /**
2825 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
2826 * <!-- begin-user-doc -->
2827 * <!-- end-user-doc -->
2828 * @return the meta object for class '<em>Argument List</em>'.
2829 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
2830 * @generated
2831 */
2832 EClass getArgumentList();
2833
2834 /**
2835 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}'.
2836 * <!-- begin-user-doc -->
2837 * <!-- end-user-doc -->
2838 * @return the meta object for the containment reference list '<em>Arguments</em>'.
2839 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments()
2840 * @see #getArgumentList()
2841 * @generated
2842 */
2843 EReference getArgumentList_Arguments();
2844
2845 /**
2846 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
2847 * <!-- begin-user-doc -->
2848 * <!-- end-user-doc -->
2849 * @return the meta object for class '<em>Argument</em>'.
2850 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
2851 * @generated
2852 */
2853 EClass getArgument();
2854
2855 /**
2856 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
2857 * <!-- begin-user-doc -->
2858 * <!-- end-user-doc -->
2859 * @return the meta object for class '<em>Expression Argument</em>'.
2860 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
2861 * @generated
2862 */
2863 EClass getExpressionArgument();
2864
2865 /**
2866 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}'.
2867 * <!-- begin-user-doc -->
2868 * <!-- end-user-doc -->
2869 * @return the meta object for the containment reference '<em>Body</em>'.
2870 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody()
2871 * @see #getExpressionArgument()
2872 * @generated
2873 */
2874 EReference getExpressionArgument_Body();
2875
2876 /**
2877 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
2878 * <!-- begin-user-doc -->
2879 * <!-- end-user-doc -->
2880 * @return the meta object for class '<em>Star Argument</em>'.
2881 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
2882 * @generated
2883 */
2884 EClass getStarArgument();
2885
2886 /**
2887 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
2888 * <!-- begin-user-doc -->
2889 * <!-- end-user-doc -->
2890 * @return the meta object for class '<em>Typed Argument</em>'.
2891 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
2892 * @generated
2893 */
2894 EClass getTypedArgument();
2895
2896 /**
2897 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}'.
2898 * <!-- begin-user-doc -->
2899 * <!-- end-user-doc -->
2900 * @return the meta object for the reference '<em>Type</em>'.
2901 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType()
2902 * @see #getTypedArgument()
2903 * @generated
2904 */
2905 EReference getTypedArgument_Type();
2906
2907 /**
2908 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}'.
2909 * <!-- begin-user-doc -->
2910 * <!-- end-user-doc -->
2911 * @return the meta object for the reference '<em>Variable</em>'.
2912 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable()
2913 * @see #getTypedArgument()
2914 * @generated
2915 */
2916 EReference getTypedArgument_Variable();
2917
2918 /**
2919 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
2920 * <!-- begin-user-doc -->
2921 * <!-- end-user-doc -->
2922 * @return the meta object for class '<em>Typed Star Argument</em>'.
2923 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
2924 * @generated
2925 */
2926 EClass getTypedStarArgument();
2927
2928 /**
2929 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}'.
2930 * <!-- begin-user-doc -->
2931 * <!-- end-user-doc -->
2932 * @return the meta object for the reference '<em>Type</em>'.
2933 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType()
2934 * @see #getTypedStarArgument()
2935 * @generated
2936 */
2937 EReference getTypedStarArgument_Type();
2938
2939 /**
2940 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
2941 * <!-- begin-user-doc -->
2942 * <!-- end-user-doc -->
2943 * @return the meta object for class '<em>Reference</em>'.
2944 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
2945 * @generated
2946 */
2947 EClass getReference();
2948
2949 /**
2950 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}'.
2951 * <!-- begin-user-doc -->
2952 * <!-- end-user-doc -->
2953 * @return the meta object for the reference '<em>Referred</em>'.
2954 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred()
2955 * @see #getReference()
2956 * @generated
2957 */
2958 EReference getReference_Referred();
2959
2960 /**
2961 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
2962 * <!-- begin-user-doc -->
2963 * <!-- end-user-doc -->
2964 * @return the meta object for class '<em>Interval</em>'.
2965 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
2966 * @generated
2967 */
2968 EClass getInterval();
2969
2970 /**
2971 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}'.
2972 * <!-- begin-user-doc -->
2973 * <!-- end-user-doc -->
2974 * @return the meta object for the containment reference '<em>Lower Bound</em>'.
2975 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound()
2976 * @see #getInterval()
2977 * @generated
2978 */
2979 EReference getInterval_LowerBound();
2980
2981 /**
2982 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}'.
2983 * <!-- begin-user-doc -->
2984 * <!-- end-user-doc -->
2985 * @return the meta object for the containment reference '<em>Upper Bound</em>'.
2986 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound()
2987 * @see #getInterval()
2988 * @generated
2989 */
2990 EReference getInterval_UpperBound();
2991
2992 /**
2993 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
2994 * <!-- begin-user-doc -->
2995 * <!-- end-user-doc -->
2996 * @return the meta object for class '<em>Literal</em>'.
2997 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
2998 * @generated
2999 */
3000 EClass getLiteral();
3001
3002 /**
3003 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
3004 * <!-- begin-user-doc -->
3005 * <!-- end-user-doc -->
3006 * @return the meta object for class '<em>Logic Literal</em>'.
3007 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
3008 * @generated
3009 */
3010 EClass getLogicLiteral();
3011
3012 /**
3013 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}'.
3014 * <!-- begin-user-doc -->
3015 * <!-- end-user-doc -->
3016 * @return the meta object for the attribute '<em>Value</em>'.
3017 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue()
3018 * @see #getLogicLiteral()
3019 * @generated
3020 */
3021 EAttribute getLogicLiteral_Value();
3022
3023 /**
3024 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
3025 * <!-- begin-user-doc -->
3026 * <!-- end-user-doc -->
3027 * @return the meta object for class '<em>Numeric Literal</em>'.
3028 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
3029 * @generated
3030 */
3031 EClass getNumericLiteral();
3032
3033 /**
3034 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}'.
3035 * <!-- begin-user-doc -->
3036 * <!-- end-user-doc -->
3037 * @return the meta object for the attribute '<em>Value</em>'.
3038 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue()
3039 * @see #getNumericLiteral()
3040 * @generated
3041 */
3042 EAttribute getNumericLiteral_Value();
3043
3044 /**
3045 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
3046 * <!-- begin-user-doc -->
3047 * <!-- end-user-doc -->
3048 * @return the meta object for class '<em>Infinity Literal</em>'.
3049 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
3050 * @generated
3051 */
3052 EClass getInfinityLiteral();
3053
3054 /**
3055 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
3056 * <!-- begin-user-doc -->
3057 * <!-- end-user-doc -->
3058 * @return the meta object for class '<em>Empty Interval Literal</em>'.
3059 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
3060 * @generated
3061 */
3062 EClass getEmptyIntervalLiteral();
3063
3064 /**
3065 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
3066 * <!-- begin-user-doc -->
3067 * <!-- end-user-doc -->
3068 * @return the meta object for class '<em>String Literal</em>'.
3069 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
3070 * @generated
3071 */
3072 EClass getStringLiteral();
3073
3074 /**
3075 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}'.
3076 * <!-- begin-user-doc -->
3077 * <!-- end-user-doc -->
3078 * @return the meta object for the attribute '<em>Value</em>'.
3079 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue()
3080 * @see #getStringLiteral()
3081 * @generated
3082 */
3083 EAttribute getStringLiteral_Value();
3084
3085 /**
3086 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
3087 * <!-- begin-user-doc -->
3088 * <!-- end-user-doc -->
3089 * @return the meta object for class '<em>Class Definition</em>'.
3090 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
3091 * @generated
3092 */
3093 EClass getClassDefinition();
3094
3095 /**
3096 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}'.
3097 * <!-- begin-user-doc -->
3098 * <!-- end-user-doc -->
3099 * @return the meta object for the attribute '<em>Abstract</em>'.
3100 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract()
3101 * @see #getClassDefinition()
3102 * @generated
3103 */
3104 EAttribute getClassDefinition_Abstract();
3105
3106 /**
3107 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}'.
3108 * <!-- begin-user-doc -->
3109 * <!-- end-user-doc -->
3110 * @return the meta object for the attribute '<em>Name</em>'.
3111 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName()
3112 * @see #getClassDefinition()
3113 * @generated
3114 */
3115 EAttribute getClassDefinition_Name();
3116
3117 /**
3118 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}'.
3119 * <!-- begin-user-doc -->
3120 * <!-- end-user-doc -->
3121 * @return the meta object for the reference list '<em>Superclasses</em>'.
3122 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses()
3123 * @see #getClassDefinition()
3124 * @generated
3125 */
3126 EReference getClassDefinition_Superclasses();
3127
3128 /**
3129 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}'.
3130 * <!-- begin-user-doc -->
3131 * <!-- end-user-doc -->
3132 * @return the meta object for the containment reference list '<em>Members</em>'.
3133 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers()
3134 * @see #getClassDefinition()
3135 * @generated
3136 */
3137 EReference getClassDefinition_Members();
3138
3139 /**
3140 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
3141 * <!-- begin-user-doc -->
3142 * <!-- end-user-doc -->
3143 * @return the meta object for class '<em>Member Definition</em>'.
3144 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
3145 * @generated
3146 */
3147 EClass getMemberDefinition();
3148
3149 /**
3150 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}'.
3151 * <!-- begin-user-doc -->
3152 * <!-- end-user-doc -->
3153 * @return the meta object for the attribute '<em>Containment</em>'.
3154 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment()
3155 * @see #getMemberDefinition()
3156 * @generated
3157 */
3158 EAttribute getMemberDefinition_Containment();
3159
3160 /**
3161 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}'.
3162 * <!-- begin-user-doc -->
3163 * <!-- end-user-doc -->
3164 * @return the meta object for the reference '<em>Type</em>'.
3165 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType()
3166 * @see #getMemberDefinition()
3167 * @generated
3168 */
3169 EReference getMemberDefinition_Type();
3170
3171 /**
3172 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}'.
3173 * <!-- begin-user-doc -->
3174 * <!-- end-user-doc -->
3175 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
3176 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity()
3177 * @see #getMemberDefinition()
3178 * @generated
3179 */
3180 EReference getMemberDefinition_Multiplicity();
3181
3182 /**
3183 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}'.
3184 * <!-- begin-user-doc -->
3185 * <!-- end-user-doc -->
3186 * @return the meta object for the attribute '<em>Name</em>'.
3187 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName()
3188 * @see #getMemberDefinition()
3189 * @generated
3190 */
3191 EAttribute getMemberDefinition_Name();
3192
3193 /**
3194 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}'.
3195 * <!-- begin-user-doc -->
3196 * <!-- end-user-doc -->
3197 * @return the meta object for the reference '<em>Opposite</em>'.
3198 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite()
3199 * @see #getMemberDefinition()
3200 * @generated
3201 */
3202 EReference getMemberDefinition_Opposite();
3203
3204 /**
3205 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
3206 * <!-- begin-user-doc -->
3207 * <!-- end-user-doc -->
3208 * @return the meta object for class '<em>Multiplicity</em>'.
3209 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
3210 * @generated
3211 */
3212 EClass getMultiplicity();
3213
3214 /**
3215 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
3216 * <!-- begin-user-doc -->
3217 * <!-- end-user-doc -->
3218 * @return the meta object for class '<em>Many Multiplicity</em>'.
3219 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
3220 * @generated
3221 */
3222 EClass getManyMultiplicity();
3223
3224 /**
3225 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
3226 * <!-- begin-user-doc -->
3227 * <!-- end-user-doc -->
3228 * @return the meta object for class '<em>Exact Multiplicity</em>'.
3229 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
3230 * @generated
3231 */
3232 EClass getExactMultiplicity();
3233
3234 /**
3235 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}'.
3236 * <!-- begin-user-doc -->
3237 * <!-- end-user-doc -->
3238 * @return the meta object for the attribute '<em>Multiplicity</em>'.
3239 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity()
3240 * @see #getExactMultiplicity()
3241 * @generated
3242 */
3243 EAttribute getExactMultiplicity_Multiplicity();
3244
3245 /**
3246 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
3247 * <!-- begin-user-doc -->
3248 * <!-- end-user-doc -->
3249 * @return the meta object for class '<em>Bounded Multiplicity</em>'.
3250 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
3251 * @generated
3252 */
3253 EClass getBoundedMultiplicity();
3254
3255 /**
3256 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}'.
3257 * <!-- begin-user-doc -->
3258 * <!-- end-user-doc -->
3259 * @return the meta object for the attribute '<em>Lower Bound</em>'.
3260 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound()
3261 * @see #getBoundedMultiplicity()
3262 * @generated
3263 */
3264 EAttribute getBoundedMultiplicity_LowerBound();
3265
3266 /**
3267 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}'.
3268 * <!-- begin-user-doc -->
3269 * <!-- end-user-doc -->
3270 * @return the meta object for the attribute '<em>Upper Bound</em>'.
3271 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound()
3272 * @see #getBoundedMultiplicity()
3273 * @generated
3274 */
3275 EAttribute getBoundedMultiplicity_UpperBound();
3276
3277 /**
3278 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
3279 * <!-- begin-user-doc -->
3280 * <!-- end-user-doc -->
3281 * @return the meta object for class '<em>Scope Definition</em>'.
3282 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
3283 * @generated
3284 */
3285 EClass getScopeDefinition();
3286
3287 /**
3288 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}'.
3289 * <!-- begin-user-doc -->
3290 * <!-- end-user-doc -->
3291 * @return the meta object for the reference '<em>Type</em>'.
3292 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType()
3293 * @see #getScopeDefinition()
3294 * @generated
3295 */
3296 EReference getScopeDefinition_Type();
3297
3298 /**
3299 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
3300 * <!-- begin-user-doc -->
3301 * <!-- end-user-doc -->
3302 * @return the meta object for class '<em>Exact Scope Definition</em>'.
3303 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
3304 * @generated
3305 */
3306 EClass getExactScopeDefinition();
3307
3308 /**
3309 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}'.
3310 * <!-- begin-user-doc -->
3311 * <!-- end-user-doc -->
3312 * @return the meta object for the attribute '<em>Exact Scope</em>'.
3313 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope()
3314 * @see #getExactScopeDefinition()
3315 * @generated
3316 */
3317 EAttribute getExactScopeDefinition_ExactScope();
3318
3319 /**
3320 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
3321 * <!-- begin-user-doc -->
3322 * <!-- end-user-doc -->
3323 * @return the meta object for class '<em>Bounded Scope Definition</em>'.
3324 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
3325 * @generated
3326 */
3327 EClass getBoundedScopeDefinition();
3328
3329 /**
3330 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
3331 * <!-- begin-user-doc -->
3332 * <!-- end-user-doc -->
3333 * @return the meta object for the attribute '<em>Lower Bound</em>'.
3334 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound()
3335 * @see #getBoundedScopeDefinition()
3336 * @generated
3337 */
3338 EAttribute getBoundedScopeDefinition_LowerBound();
3339
3340 /**
3341 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}'.
3342 * <!-- begin-user-doc -->
3343 * <!-- end-user-doc -->
3344 * @return the meta object for the attribute '<em>Upper Bound</em>'.
3345 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound()
3346 * @see #getBoundedScopeDefinition()
3347 * @generated
3348 */
3349 EAttribute getBoundedScopeDefinition_UpperBound();
3350
3351 /**
3352 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
3353 * <!-- begin-user-doc -->
3354 * <!-- end-user-doc -->
3355 * @return the meta object for class '<em>Lower Bounded Scope Definition</em>'.
3356 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
3357 * @generated
3358 */
3359 EClass getLowerBoundedScopeDefinition();
3360
3361 /**
3362 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
3363 * <!-- begin-user-doc -->
3364 * <!-- end-user-doc -->
3365 * @return the meta object for the attribute '<em>Lower Bound</em>'.
3366 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound()
3367 * @see #getLowerBoundedScopeDefinition()
3368 * @generated
3369 */
3370 EAttribute getLowerBoundedScopeDefinition_LowerBound();
3371
3372 /**
3373 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
3374 * <!-- begin-user-doc -->
3375 * <!-- end-user-doc -->
3376 * @return the meta object for class '<em>Objective Definition</em>'.
3377 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
3378 * @generated
3379 */
3380 EClass getObjectiveDefinition();
3381
3382 /**
3383 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}'.
3384 * <!-- begin-user-doc -->
3385 * <!-- end-user-doc -->
3386 * @return the meta object for the attribute '<em>Kind</em>'.
3387 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind()
3388 * @see #getObjectiveDefinition()
3389 * @generated
3390 */
3391 EAttribute getObjectiveDefinition_Kind();
3392
3393 /**
3394 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}'.
3395 * <!-- begin-user-doc -->
3396 * <!-- end-user-doc -->
3397 * @return the meta object for the containment reference '<em>Objective</em>'.
3398 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective()
3399 * @see #getObjectiveDefinition()
3400 * @generated
3401 */
3402 EReference getObjectiveDefinition_Objective();
3403
3404 /**
3405 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'.
3406 * <!-- begin-user-doc -->
3407 * <!-- end-user-doc -->
3408 * @return the meta object for class '<em>Interpretation</em>'.
3409 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation
3410 * @generated
3411 */
3412 EClass getInterpretation();
3413
3414 /**
3415 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody <em>Body</em>}'.
3416 * <!-- begin-user-doc -->
3417 * <!-- end-user-doc -->
3418 * @return the meta object for the containment reference '<em>Body</em>'.
3419 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody()
3420 * @see #getInterpretation()
3421 * @generated
3422 */
3423 EReference getInterpretation_Body();
3424
3425 /**
3426 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange <em>Range</em>}'.
3427 * <!-- begin-user-doc -->
3428 * <!-- end-user-doc -->
3429 * @return the meta object for the containment reference '<em>Range</em>'.
3430 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange()
3431 * @see #getInterpretation()
3432 * @generated
3433 */
3434 EReference getInterpretation_Range();
3435
3436 /**
3437 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'.
3438 * <!-- begin-user-doc -->
3439 * <!-- end-user-doc -->
3440 * @return the meta object for class '<em>Variable</em>'.
3441 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable
3442 * @generated
3443 */
3444 EClass getVariable();
3445
3446 /**
3447 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType <em>Type</em>}'.
3448 * <!-- begin-user-doc -->
3449 * <!-- end-user-doc -->
3450 * @return the meta object for the reference '<em>Type</em>'.
3451 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getType()
3452 * @see #getVariable()
3453 * @generated
3454 */
3455 EReference getVariable_Type();
3456
3457 /**
3458 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
3459 * <!-- begin-user-doc -->
3460 * <!-- end-user-doc -->
3461 * @return the meta object for class '<em>Disjunction</em>'.
3462 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
3463 * @generated
3464 */
3465 EClass getDisjunction();
3466
3467 /**
3468 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}'.
3469 * <!-- begin-user-doc -->
3470 * <!-- end-user-doc -->
3471 * @return the meta object for the containment reference list '<em>Children</em>'.
3472 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren()
3473 * @see #getDisjunction()
3474 * @generated
3475 */
3476 EReference getDisjunction_Children();
3477
3478 /**
3479 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
3480 * <!-- begin-user-doc -->
3481 * <!-- end-user-doc -->
3482 * @return the meta object for class '<em>Switch</em>'.
3483 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
3484 * @generated
3485 */
3486 EClass getSwitch();
3487
3488 /**
3489 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}'.
3490 * <!-- begin-user-doc -->
3491 * <!-- end-user-doc -->
3492 * @return the meta object for the containment reference list '<em>Cases</em>'.
3493 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases()
3494 * @see #getSwitch()
3495 * @generated
3496 */
3497 EReference getSwitch_Cases();
3498
3499 /**
3500 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
3501 * <!-- begin-user-doc -->
3502 * <!-- end-user-doc -->
3503 * @return the meta object for class '<em>Conjunction</em>'.
3504 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
3505 * @generated
3506 */
3507 EClass getConjunction();
3508
3509 /**
3510 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}'.
3511 * <!-- begin-user-doc -->
3512 * <!-- end-user-doc -->
3513 * @return the meta object for the containment reference list '<em>Children</em>'.
3514 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren()
3515 * @see #getConjunction()
3516 * @generated
3517 */
3518 EReference getConjunction_Children();
3519
3520 /**
3521 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
3522 * <!-- begin-user-doc -->
3523 * <!-- end-user-doc -->
3524 * @return the meta object for class '<em>Comparison</em>'.
3525 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
3526 * @generated
3527 */
3528 EClass getComparison();
3529
3530 /**
3531 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}'.
3532 * <!-- begin-user-doc -->
3533 * <!-- end-user-doc -->
3534 * @return the meta object for the containment reference '<em>Left</em>'.
3535 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft()
3536 * @see #getComparison()
3537 * @generated
3538 */
3539 EReference getComparison_Left();
3540
3541 /**
3542 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}'.
3543 * <!-- begin-user-doc -->
3544 * <!-- end-user-doc -->
3545 * @return the meta object for the attribute '<em>Op</em>'.
3546 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp()
3547 * @see #getComparison()
3548 * @generated
3549 */
3550 EAttribute getComparison_Op();
3551
3552 /**
3553 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}'.
3554 * <!-- begin-user-doc -->
3555 * <!-- end-user-doc -->
3556 * @return the meta object for the containment reference '<em>Right</em>'.
3557 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight()
3558 * @see #getComparison()
3559 * @generated
3560 */
3561 EReference getComparison_Right();
3562
3563 /**
3564 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
3565 * <!-- begin-user-doc -->
3566 * <!-- end-user-doc -->
3567 * @return the meta object for class '<em>Binary Expression</em>'.
3568 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
3569 * @generated
3570 */
3571 EClass getBinaryExpression();
3572
3573 /**
3574 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}'.
3575 * <!-- begin-user-doc -->
3576 * <!-- end-user-doc -->
3577 * @return the meta object for the containment reference '<em>Left</em>'.
3578 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft()
3579 * @see #getBinaryExpression()
3580 * @generated
3581 */
3582 EReference getBinaryExpression_Left();
3583
3584 /**
3585 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}'.
3586 * <!-- begin-user-doc -->
3587 * <!-- end-user-doc -->
3588 * @return the meta object for the attribute '<em>Op</em>'.
3589 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp()
3590 * @see #getBinaryExpression()
3591 * @generated
3592 */
3593 EAttribute getBinaryExpression_Op();
3594
3595 /**
3596 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}'.
3597 * <!-- begin-user-doc -->
3598 * <!-- end-user-doc -->
3599 * @return the meta object for the containment reference '<em>Right</em>'.
3600 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight()
3601 * @see #getBinaryExpression()
3602 * @generated
3603 */
3604 EReference getBinaryExpression_Right();
3605
3606 /**
3607 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression <em>Cast Expression</em>}'.
3608 * <!-- begin-user-doc -->
3609 * <!-- end-user-doc -->
3610 * @return the meta object for class '<em>Cast Expression</em>'.
3611 * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression
3612 * @generated
3613 */
3614 EClass getCastExpression();
3615
3616 /**
3617 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody <em>Body</em>}'.
3618 * <!-- begin-user-doc -->
3619 * <!-- end-user-doc -->
3620 * @return the meta object for the containment reference '<em>Body</em>'.
3621 * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody()
3622 * @see #getCastExpression()
3623 * @generated
3624 */
3625 EReference getCastExpression_Body();
3626
3627 /**
3628 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType <em>Type</em>}'.
3629 * <!-- begin-user-doc -->
3630 * <!-- end-user-doc -->
3631 * @return the meta object for the reference '<em>Type</em>'.
3632 * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType()
3633 * @see #getCastExpression()
3634 * @generated
3635 */
3636 EReference getCastExpression_Type();
3637
3638 /**
3639 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
3640 * <!-- begin-user-doc -->
3641 * <!-- end-user-doc -->
3642 * @return the meta object for class '<em>Unary Expression</em>'.
3643 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
3644 * @generated
3645 */
3646 EClass getUnaryExpression();
3647
3648 /**
3649 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}'.
3650 * <!-- begin-user-doc -->
3651 * <!-- end-user-doc -->
3652 * @return the meta object for the attribute '<em>Op</em>'.
3653 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp()
3654 * @see #getUnaryExpression()
3655 * @generated
3656 */
3657 EAttribute getUnaryExpression_Op();
3658
3659 /**
3660 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}'.
3661 * <!-- begin-user-doc -->
3662 * <!-- end-user-doc -->
3663 * @return the meta object for the containment reference '<em>Body</em>'.
3664 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody()
3665 * @see #getUnaryExpression()
3666 * @generated
3667 */
3668 EReference getUnaryExpression_Body();
3669
3670 /**
3671 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node <em>Node</em>}'.
3672 * <!-- begin-user-doc -->
3673 * <!-- end-user-doc -->
3674 * @return the meta object for class '<em>Node</em>'.
3675 * @see org.eclipse.viatra.solver.language.solverLanguage.Node
3676 * @generated
3677 */
3678 EClass getNode();
3679
3680 /**
3681 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId <em>With Id</em>}'.
3682 * <!-- begin-user-doc -->
3683 * <!-- end-user-doc -->
3684 * @return the meta object for the attribute '<em>With Id</em>'.
3685 * @see org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId()
3686 * @see #getNode()
3687 * @generated
3688 */
3689 EAttribute getNode_WithId();
3690
3691 /**
3692 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor <em>Functor</em>}'.
3693 * <!-- begin-user-doc -->
3694 * <!-- end-user-doc -->
3695 * @return the meta object for class '<em>Functor</em>'.
3696 * @see org.eclipse.viatra.solver.language.solverLanguage.Functor
3697 * @generated
3698 */
3699 EClass getFunctor();
3700
3701 /**
3702 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters <em>Parameters</em>}'.
3703 * <!-- begin-user-doc -->
3704 * <!-- end-user-doc -->
3705 * @return the meta object for the reference list '<em>Parameters</em>'.
3706 * @see org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters()
3707 * @see #getFunctor()
3708 * @generated
3709 */
3710 EReference getFunctor_Parameters();
3711
3712 /**
3713 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'.
3714 * <!-- begin-user-doc -->
3715 * <!-- end-user-doc -->
3716 * @return the meta object for class '<em>Predicate</em>'.
3717 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate
3718 * @generated
3719 */
3720 EClass getPredicate();
3721
3722 /**
3723 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric <em>Metric</em>}'.
3724 * <!-- begin-user-doc -->
3725 * <!-- end-user-doc -->
3726 * @return the meta object for class '<em>Metric</em>'.
3727 * @see org.eclipse.viatra.solver.language.solverLanguage.Metric
3728 * @generated
3729 */
3730 EClass getMetric();
3731
3732 /**
3733 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType <em>Return Type</em>}'.
3734 * <!-- begin-user-doc -->
3735 * <!-- end-user-doc -->
3736 * @return the meta object for the reference '<em>Return Type</em>'.
3737 * @see org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType()
3738 * @see #getMetric()
3739 * @generated
3740 */
3741 EReference getMetric_ReturnType();
3742
3743 /**
3744 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}'.
3745 * <!-- begin-user-doc -->
3746 * <!-- end-user-doc -->
3747 * @return the meta object for enum '<em>Binary Operator</em>'.
3748 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
3749 * @generated
3750 */
3751 EEnum getBinaryOperator();
3752
3753 /**
3754 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}'.
3755 * <!-- begin-user-doc -->
3756 * <!-- end-user-doc -->
3757 * @return the meta object for enum '<em>Unary Op</em>'.
3758 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
3759 * @generated
3760 */
3761 EEnum getUnaryOp();
3762
3763 /**
3764 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}'.
3765 * <!-- begin-user-doc -->
3766 * <!-- end-user-doc -->
3767 * @return the meta object for enum '<em>Logic Value</em>'.
3768 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
3769 * @generated
3770 */
3771 EEnum getLogicValue();
3772
3773 /**
3774 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}'.
3775 * <!-- begin-user-doc -->
3776 * <!-- end-user-doc -->
3777 * @return the meta object for enum '<em>Objective Kind</em>'.
3778 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
3779 * @generated
3780 */
3781 EEnum getObjectiveKind();
3782
3783 /**
3784 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier <em>Quantifier</em>}'.
3785 * <!-- begin-user-doc -->
3786 * <!-- end-user-doc -->
3787 * @return the meta object for enum '<em>Quantifier</em>'.
3788 * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier
3789 * @generated
3790 */
3791 EEnum getQuantifier();
3792
3793 /**
3794 * Returns the factory that creates the instances of the model.
3795 * <!-- begin-user-doc -->
3796 * <!-- end-user-doc -->
3797 * @return the factory that creates the instances of the model.
3798 * @generated
3799 */
3800 SolverLanguageFactory getSolverLanguageFactory();
3801
3802 /**
3803 * <!-- begin-user-doc -->
3804 * Defines literals for the meta objects that represent
3805 * <ul>
3806 * <li>each class,</li>
3807 * <li>each feature of each class,</li>
3808 * <li>each enum,</li>
3809 * <li>and each data type</li>
3810 * </ul>
3811 * <!-- end-user-doc -->
3812 * @generated
3813 */
3814 interface Literals {
3815 /**
3816 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
3817 * <!-- begin-user-doc -->
3818 * <!-- end-user-doc -->
3819 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
3820 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
3821 * @generated
3822 */
3823 EClass PROBLEM = eINSTANCE.getProblem();
3824
3825 /**
3826 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
3827 * <!-- begin-user-doc -->
3828 * <!-- end-user-doc -->
3829 * @generated
3830 */
3831 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
3832
3833 /**
3834 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
3835 * <!-- begin-user-doc -->
3836 * <!-- end-user-doc -->
3837 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
3838 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
3839 * @generated
3840 */
3841 EClass STATEMENT = eINSTANCE.getStatement();
3842
3843 /**
3844 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
3845 * <!-- begin-user-doc -->
3846 * <!-- end-user-doc -->
3847 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
3848 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
3849 * @generated
3850 */
3851 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
3852
3853 /**
3854 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3855 * <!-- begin-user-doc -->
3856 * <!-- end-user-doc -->
3857 * @generated
3858 */
3859 EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head();
3860
3861 /**
3862 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3863 * <!-- begin-user-doc -->
3864 * <!-- end-user-doc -->
3865 * @generated
3866 */
3867 EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body();
3868
3869 /**
3870 * The meta object literal for the '<em><b>Functional</b></em>' attribute feature.
3871 * <!-- begin-user-doc -->
3872 * <!-- end-user-doc -->
3873 * @generated
3874 */
3875 EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional();
3876
3877 /**
3878 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
3879 * <!-- begin-user-doc -->
3880 * <!-- end-user-doc -->
3881 * @generated
3882 */
3883 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
3884
3885 /**
3886 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
3887 * <!-- begin-user-doc -->
3888 * <!-- end-user-doc -->
3889 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
3890 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
3891 * @generated
3892 */
3893 EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition();
3894
3895 /**
3896 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3897 * <!-- begin-user-doc -->
3898 * <!-- end-user-doc -->
3899 * @generated
3900 */
3901 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList();
3902
3903 /**
3904 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3905 * <!-- begin-user-doc -->
3906 * <!-- end-user-doc -->
3907 * @generated
3908 */
3909 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body();
3910
3911 /**
3912 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
3913 * <!-- begin-user-doc -->
3914 * <!-- end-user-doc -->
3915 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
3916 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
3917 * @generated
3918 */
3919 EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition();
3920
3921 /**
3922 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3923 * <!-- begin-user-doc -->
3924 * <!-- end-user-doc -->
3925 * @generated
3926 */
3927 EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head();
3928
3929 /**
3930 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3931 * <!-- begin-user-doc -->
3932 * <!-- end-user-doc -->
3933 * @generated
3934 */
3935 EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range();
3936
3937 /**
3938 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
3939 * <!-- begin-user-doc -->
3940 * <!-- end-user-doc -->
3941 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
3942 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
3943 * @generated
3944 */
3945 EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition();
3946
3947 /**
3948 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3949 * <!-- begin-user-doc -->
3950 * <!-- end-user-doc -->
3951 * @generated
3952 */
3953 EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head();
3954
3955 /**
3956 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3957 * <!-- begin-user-doc -->
3958 * <!-- end-user-doc -->
3959 * @generated
3960 */
3961 EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body();
3962
3963 /**
3964 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3965 * <!-- begin-user-doc -->
3966 * <!-- end-user-doc -->
3967 * @generated
3968 */
3969 EReference METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type();
3970
3971 /**
3972 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
3973 * <!-- begin-user-doc -->
3974 * <!-- end-user-doc -->
3975 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
3976 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
3977 * @generated
3978 */
3979 EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition();
3980
3981 /**
3982 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3983 * <!-- begin-user-doc -->
3984 * <!-- end-user-doc -->
3985 * @generated
3986 */
3987 EAttribute EXTERN_PREDICATE_DEFINITION__NAME = eINSTANCE.getExternPredicateDefinition_Name();
3988
3989 /**
3990 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3991 * <!-- begin-user-doc -->
3992 * <!-- end-user-doc -->
3993 * @generated
3994 */
3995 EReference EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternPredicateDefinition_ArgumentList();
3996
3997 /**
3998 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
3999 * <!-- begin-user-doc -->
4000 * <!-- end-user-doc -->
4001 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
4002 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
4003 * @generated
4004 */
4005 EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition();
4006
4007 /**
4008 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4009 * <!-- begin-user-doc -->
4010 * <!-- end-user-doc -->
4011 * @generated
4012 */
4013 EReference EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type();
4014
4015 /**
4016 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4017 * <!-- begin-user-doc -->
4018 * <!-- end-user-doc -->
4019 * @generated
4020 */
4021 EAttribute EXTERN_METRIC_DEFINITION__NAME = eINSTANCE.getExternMetricDefinition_Name();
4022
4023 /**
4024 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
4025 * <!-- begin-user-doc -->
4026 * <!-- end-user-doc -->
4027 * @generated
4028 */
4029 EReference EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternMetricDefinition_ArgumentList();
4030
4031 /**
4032 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl <em>Extern Aggregator Definition</em>}' class.
4033 * <!-- begin-user-doc -->
4034 * <!-- end-user-doc -->
4035 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl
4036 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition()
4037 * @generated
4038 */
4039 EClass EXTERN_AGGREGATOR_DEFINITION = eINSTANCE.getExternAggregatorDefinition();
4040
4041 /**
4042 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4043 * <!-- begin-user-doc -->
4044 * <!-- end-user-doc -->
4045 * @generated
4046 */
4047 EReference EXTERN_AGGREGATOR_DEFINITION__TYPE = eINSTANCE.getExternAggregatorDefinition_Type();
4048
4049 /**
4050 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4051 * <!-- begin-user-doc -->
4052 * <!-- end-user-doc -->
4053 * @generated
4054 */
4055 EAttribute EXTERN_AGGREGATOR_DEFINITION__NAME = eINSTANCE.getExternAggregatorDefinition_Name();
4056
4057 /**
4058 * The meta object literal for the '<em><b>Input Type</b></em>' reference feature.
4059 * <!-- begin-user-doc -->
4060 * <!-- end-user-doc -->
4061 * @generated
4062 */
4063 EReference EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = eINSTANCE.getExternAggregatorDefinition_InputType();
4064
4065 /**
4066 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl <em>Extern Datatype Definition</em>}' class.
4067 * <!-- begin-user-doc -->
4068 * <!-- end-user-doc -->
4069 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl
4070 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition()
4071 * @generated
4072 */
4073 EClass EXTERN_DATATYPE_DEFINITION = eINSTANCE.getExternDatatypeDefinition();
4074
4075 /**
4076 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4077 * <!-- begin-user-doc -->
4078 * <!-- end-user-doc -->
4079 * @generated
4080 */
4081 EAttribute EXTERN_DATATYPE_DEFINITION__NAME = eINSTANCE.getExternDatatypeDefinition_Name();
4082
4083 /**
4084 * The meta object literal for the '<em><b>Supertypes</b></em>' reference list feature.
4085 * <!-- begin-user-doc -->
4086 * <!-- end-user-doc -->
4087 * @generated
4088 */
4089 EReference EXTERN_DATATYPE_DEFINITION__SUPERTYPES = eINSTANCE.getExternDatatypeDefinition_Supertypes();
4090
4091 /**
4092 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
4093 * <!-- begin-user-doc -->
4094 * <!-- end-user-doc -->
4095 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
4096 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
4097 * @generated
4098 */
4099 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
4100
4101 /**
4102 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4103 * <!-- begin-user-doc -->
4104 * <!-- end-user-doc -->
4105 * @generated
4106 */
4107 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
4108
4109 /**
4110 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
4111 * <!-- begin-user-doc -->
4112 * <!-- end-user-doc -->
4113 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
4114 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
4115 * @generated
4116 */
4117 EClass EXPRESSION = eINSTANCE.getExpression();
4118
4119 /**
4120 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
4121 * <!-- begin-user-doc -->
4122 * <!-- end-user-doc -->
4123 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
4124 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
4125 * @generated
4126 */
4127 EClass IF_ELSE = eINSTANCE.getIfElse();
4128
4129 /**
4130 * The meta object literal for the '<em><b>Then</b></em>' containment reference feature.
4131 * <!-- begin-user-doc -->
4132 * <!-- end-user-doc -->
4133 * @generated
4134 */
4135 EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then();
4136
4137 /**
4138 * The meta object literal for the '<em><b>Else</b></em>' containment reference feature.
4139 * <!-- begin-user-doc -->
4140 * <!-- end-user-doc -->
4141 * @generated
4142 */
4143 EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else();
4144
4145 /**
4146 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4147 * <!-- begin-user-doc -->
4148 * <!-- end-user-doc -->
4149 * @generated
4150 */
4151 EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition();
4152
4153 /**
4154 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl <em>Let</em>}' class.
4155 * <!-- begin-user-doc -->
4156 * <!-- end-user-doc -->
4157 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl
4158 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet()
4159 * @generated
4160 */
4161 EClass LET = eINSTANCE.getLet();
4162
4163 /**
4164 * The meta object literal for the '<em><b>Bindings</b></em>' containment reference list feature.
4165 * <!-- begin-user-doc -->
4166 * <!-- end-user-doc -->
4167 * @generated
4168 */
4169 EReference LET__BINDINGS = eINSTANCE.getLet_Bindings();
4170
4171 /**
4172 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4173 * <!-- begin-user-doc -->
4174 * <!-- end-user-doc -->
4175 * @generated
4176 */
4177 EReference LET__BODY = eINSTANCE.getLet_Body();
4178
4179 /**
4180 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl <em>Let Binding</em>}' class.
4181 * <!-- begin-user-doc -->
4182 * <!-- end-user-doc -->
4183 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl
4184 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding()
4185 * @generated
4186 */
4187 EClass LET_BINDING = eINSTANCE.getLetBinding();
4188
4189 /**
4190 * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature.
4191 * <!-- begin-user-doc -->
4192 * <!-- end-user-doc -->
4193 * @generated
4194 */
4195 EReference LET_BINDING__VARIABLE = eINSTANCE.getLetBinding_Variable();
4196
4197 /**
4198 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4199 * <!-- begin-user-doc -->
4200 * <!-- end-user-doc -->
4201 * @generated
4202 */
4203 EReference LET_BINDING__VALUE = eINSTANCE.getLetBinding_Value();
4204
4205 /**
4206 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
4207 * <!-- begin-user-doc -->
4208 * <!-- end-user-doc -->
4209 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
4210 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
4211 * @generated
4212 */
4213 EClass CASE = eINSTANCE.getCase();
4214
4215 /**
4216 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4217 * <!-- begin-user-doc -->
4218 * <!-- end-user-doc -->
4219 * @generated
4220 */
4221 EReference CASE__BODY = eINSTANCE.getCase_Body();
4222
4223 /**
4224 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4225 * <!-- begin-user-doc -->
4226 * <!-- end-user-doc -->
4227 * @generated
4228 */
4229 EReference CASE__CONDITION = eINSTANCE.getCase_Condition();
4230
4231 /**
4232 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl <em>Local Variables</em>}' class.
4233 * <!-- begin-user-doc -->
4234 * <!-- end-user-doc -->
4235 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl
4236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables()
4237 * @generated
4238 */
4239 EClass LOCAL_VARIABLES = eINSTANCE.getLocalVariables();
4240
4241 /**
4242 * The meta object literal for the '<em><b>Variables</b></em>' containment reference list feature.
4243 * <!-- begin-user-doc -->
4244 * <!-- end-user-doc -->
4245 * @generated
4246 */
4247 EReference LOCAL_VARIABLES__VARIABLES = eINSTANCE.getLocalVariables_Variables();
4248
4249 /**
4250 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl <em>Quantified Expression</em>}' class.
4251 * <!-- begin-user-doc -->
4252 * <!-- end-user-doc -->
4253 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl
4254 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression()
4255 * @generated
4256 */
4257 EClass QUANTIFIED_EXPRESSION = eINSTANCE.getQuantifiedExpression();
4258
4259 /**
4260 * The meta object literal for the '<em><b>Local Variables</b></em>' containment reference feature.
4261 * <!-- begin-user-doc -->
4262 * <!-- end-user-doc -->
4263 * @generated
4264 */
4265 EReference QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = eINSTANCE.getQuantifiedExpression_LocalVariables();
4266
4267 /**
4268 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4269 * <!-- begin-user-doc -->
4270 * <!-- end-user-doc -->
4271 * @generated
4272 */
4273 EReference QUANTIFIED_EXPRESSION__BODY = eINSTANCE.getQuantifiedExpression_Body();
4274
4275 /**
4276 * The meta object literal for the '<em><b>Quantifier</b></em>' attribute feature.
4277 * <!-- begin-user-doc -->
4278 * <!-- end-user-doc -->
4279 * @generated
4280 */
4281 EAttribute QUANTIFIED_EXPRESSION__QUANTIFIER = eINSTANCE.getQuantifiedExpression_Quantifier();
4282
4283 /**
4284 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
4285 * <!-- begin-user-doc -->
4286 * <!-- end-user-doc -->
4287 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
4288 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
4289 * @generated
4290 */
4291 EClass AGGREGATION = eINSTANCE.getAggregation();
4292
4293 /**
4294 * The meta object literal for the '<em><b>Op</b></em>' reference feature.
4295 * <!-- begin-user-doc -->
4296 * <!-- end-user-doc -->
4297 * @generated
4298 */
4299 EReference AGGREGATION__OP = eINSTANCE.getAggregation_Op();
4300
4301 /**
4302 * The meta object literal for the '<em><b>Local Variables</b></em>' containment reference feature.
4303 * <!-- begin-user-doc -->
4304 * <!-- end-user-doc -->
4305 * @generated
4306 */
4307 EReference AGGREGATION__LOCAL_VARIABLES = eINSTANCE.getAggregation_LocalVariables();
4308
4309 /**
4310 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4311 * <!-- begin-user-doc -->
4312 * <!-- end-user-doc -->
4313 * @generated
4314 */
4315 EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body();
4316
4317 /**
4318 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4319 * <!-- begin-user-doc -->
4320 * <!-- end-user-doc -->
4321 * @generated
4322 */
4323 EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition();
4324
4325 /**
4326 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
4327 * <!-- begin-user-doc -->
4328 * <!-- end-user-doc -->
4329 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
4330 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
4331 * @generated
4332 */
4333 EClass CALL = eINSTANCE.getCall();
4334
4335 /**
4336 * The meta object literal for the '<em><b>Functor</b></em>' containment reference feature.
4337 * <!-- begin-user-doc -->
4338 * <!-- end-user-doc -->
4339 * @generated
4340 */
4341 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
4342
4343 /**
4344 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
4345 * <!-- begin-user-doc -->
4346 * <!-- end-user-doc -->
4347 * @generated
4348 */
4349 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
4350
4351 /**
4352 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
4353 * <!-- begin-user-doc -->
4354 * <!-- end-user-doc -->
4355 * @generated
4356 */
4357 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
4358
4359 /**
4360 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
4361 * <!-- begin-user-doc -->
4362 * <!-- end-user-doc -->
4363 * @generated
4364 */
4365 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
4366
4367 /**
4368 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
4369 * <!-- begin-user-doc -->
4370 * <!-- end-user-doc -->
4371 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
4372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
4373 * @generated
4374 */
4375 EClass ARGUMENT_LIST = eINSTANCE.getArgumentList();
4376
4377 /**
4378 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
4379 * <!-- begin-user-doc -->
4380 * <!-- end-user-doc -->
4381 * @generated
4382 */
4383 EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments();
4384
4385 /**
4386 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
4387 * <!-- begin-user-doc -->
4388 * <!-- end-user-doc -->
4389 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
4390 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
4391 * @generated
4392 */
4393 EClass ARGUMENT = eINSTANCE.getArgument();
4394
4395 /**
4396 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
4397 * <!-- begin-user-doc -->
4398 * <!-- end-user-doc -->
4399 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
4400 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
4401 * @generated
4402 */
4403 EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument();
4404
4405 /**
4406 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4407 * <!-- begin-user-doc -->
4408 * <!-- end-user-doc -->
4409 * @generated
4410 */
4411 EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body();
4412
4413 /**
4414 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
4415 * <!-- begin-user-doc -->
4416 * <!-- end-user-doc -->
4417 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
4418 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
4419 * @generated
4420 */
4421 EClass STAR_ARGUMENT = eINSTANCE.getStarArgument();
4422
4423 /**
4424 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
4425 * <!-- begin-user-doc -->
4426 * <!-- end-user-doc -->
4427 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
4428 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
4429 * @generated
4430 */
4431 EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument();
4432
4433 /**
4434 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4435 * <!-- begin-user-doc -->
4436 * <!-- end-user-doc -->
4437 * @generated
4438 */
4439 EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type();
4440
4441 /**
4442 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
4443 * <!-- begin-user-doc -->
4444 * <!-- end-user-doc -->
4445 * @generated
4446 */
4447 EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable();
4448
4449 /**
4450 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
4451 * <!-- begin-user-doc -->
4452 * <!-- end-user-doc -->
4453 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
4454 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
4455 * @generated
4456 */
4457 EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument();
4458
4459 /**
4460 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4461 * <!-- begin-user-doc -->
4462 * <!-- end-user-doc -->
4463 * @generated
4464 */
4465 EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type();
4466
4467 /**
4468 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
4469 * <!-- begin-user-doc -->
4470 * <!-- end-user-doc -->
4471 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
4472 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
4473 * @generated
4474 */
4475 EClass REFERENCE = eINSTANCE.getReference();
4476
4477 /**
4478 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
4479 * <!-- begin-user-doc -->
4480 * <!-- end-user-doc -->
4481 * @generated
4482 */
4483 EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred();
4484
4485 /**
4486 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
4487 * <!-- begin-user-doc -->
4488 * <!-- end-user-doc -->
4489 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
4490 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
4491 * @generated
4492 */
4493 EClass INTERVAL = eINSTANCE.getInterval();
4494
4495 /**
4496 * The meta object literal for the '<em><b>Lower Bound</b></em>' containment reference feature.
4497 * <!-- begin-user-doc -->
4498 * <!-- end-user-doc -->
4499 * @generated
4500 */
4501 EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound();
4502
4503 /**
4504 * The meta object literal for the '<em><b>Upper Bound</b></em>' containment reference feature.
4505 * <!-- begin-user-doc -->
4506 * <!-- end-user-doc -->
4507 * @generated
4508 */
4509 EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound();
4510
4511 /**
4512 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
4513 * <!-- begin-user-doc -->
4514 * <!-- end-user-doc -->
4515 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
4516 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
4517 * @generated
4518 */
4519 EClass LITERAL = eINSTANCE.getLiteral();
4520
4521 /**
4522 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
4523 * <!-- begin-user-doc -->
4524 * <!-- end-user-doc -->
4525 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
4526 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
4527 * @generated
4528 */
4529 EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral();
4530
4531 /**
4532 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4533 * <!-- begin-user-doc -->
4534 * <!-- end-user-doc -->
4535 * @generated
4536 */
4537 EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value();
4538
4539 /**
4540 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
4541 * <!-- begin-user-doc -->
4542 * <!-- end-user-doc -->
4543 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
4544 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
4545 * @generated
4546 */
4547 EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral();
4548
4549 /**
4550 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4551 * <!-- begin-user-doc -->
4552 * <!-- end-user-doc -->
4553 * @generated
4554 */
4555 EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value();
4556
4557 /**
4558 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
4559 * <!-- begin-user-doc -->
4560 * <!-- end-user-doc -->
4561 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
4562 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
4563 * @generated
4564 */
4565 EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral();
4566
4567 /**
4568 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
4569 * <!-- begin-user-doc -->
4570 * <!-- end-user-doc -->
4571 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
4572 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
4573 * @generated
4574 */
4575 EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral();
4576
4577 /**
4578 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
4579 * <!-- begin-user-doc -->
4580 * <!-- end-user-doc -->
4581 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
4582 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
4583 * @generated
4584 */
4585 EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
4586
4587 /**
4588 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4589 * <!-- begin-user-doc -->
4590 * <!-- end-user-doc -->
4591 * @generated
4592 */
4593 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
4594
4595 /**
4596 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
4597 * <!-- begin-user-doc -->
4598 * <!-- end-user-doc -->
4599 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
4600 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
4601 * @generated
4602 */
4603 EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition();
4604
4605 /**
4606 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
4607 * <!-- begin-user-doc -->
4608 * <!-- end-user-doc -->
4609 * @generated
4610 */
4611 EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract();
4612
4613 /**
4614 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4615 * <!-- begin-user-doc -->
4616 * <!-- end-user-doc -->
4617 * @generated
4618 */
4619 EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name();
4620
4621 /**
4622 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
4623 * <!-- begin-user-doc -->
4624 * <!-- end-user-doc -->
4625 * @generated
4626 */
4627 EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses();
4628
4629 /**
4630 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
4631 * <!-- begin-user-doc -->
4632 * <!-- end-user-doc -->
4633 * @generated
4634 */
4635 EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members();
4636
4637 /**
4638 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
4639 * <!-- begin-user-doc -->
4640 * <!-- end-user-doc -->
4641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
4642 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
4643 * @generated
4644 */
4645 EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition();
4646
4647 /**
4648 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
4649 * <!-- begin-user-doc -->
4650 * <!-- end-user-doc -->
4651 * @generated
4652 */
4653 EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment();
4654
4655 /**
4656 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4657 * <!-- begin-user-doc -->
4658 * <!-- end-user-doc -->
4659 * @generated
4660 */
4661 EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type();
4662
4663 /**
4664 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
4665 * <!-- begin-user-doc -->
4666 * <!-- end-user-doc -->
4667 * @generated
4668 */
4669 EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity();
4670
4671 /**
4672 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4673 * <!-- begin-user-doc -->
4674 * <!-- end-user-doc -->
4675 * @generated
4676 */
4677 EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name();
4678
4679 /**
4680 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
4681 * <!-- begin-user-doc -->
4682 * <!-- end-user-doc -->
4683 * @generated
4684 */
4685 EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite();
4686
4687 /**
4688 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
4689 * <!-- begin-user-doc -->
4690 * <!-- end-user-doc -->
4691 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
4692 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
4693 * @generated
4694 */
4695 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
4696
4697 /**
4698 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
4699 * <!-- begin-user-doc -->
4700 * <!-- end-user-doc -->
4701 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
4702 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
4703 * @generated
4704 */
4705 EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity();
4706
4707 /**
4708 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
4709 * <!-- begin-user-doc -->
4710 * <!-- end-user-doc -->
4711 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
4712 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
4713 * @generated
4714 */
4715 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
4716
4717 /**
4718 * The meta object literal for the '<em><b>Multiplicity</b></em>' attribute feature.
4719 * <!-- begin-user-doc -->
4720 * <!-- end-user-doc -->
4721 * @generated
4722 */
4723 EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity();
4724
4725 /**
4726 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
4727 * <!-- begin-user-doc -->
4728 * <!-- end-user-doc -->
4729 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
4730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
4731 * @generated
4732 */
4733 EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity();
4734
4735 /**
4736 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
4737 * <!-- begin-user-doc -->
4738 * <!-- end-user-doc -->
4739 * @generated
4740 */
4741 EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound();
4742
4743 /**
4744 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
4745 * <!-- begin-user-doc -->
4746 * <!-- end-user-doc -->
4747 * @generated
4748 */
4749 EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound();
4750
4751 /**
4752 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
4753 * <!-- begin-user-doc -->
4754 * <!-- end-user-doc -->
4755 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
4756 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
4757 * @generated
4758 */
4759 EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition();
4760
4761 /**
4762 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4763 * <!-- begin-user-doc -->
4764 * <!-- end-user-doc -->
4765 * @generated
4766 */
4767 EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type();
4768
4769 /**
4770 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
4771 * <!-- begin-user-doc -->
4772 * <!-- end-user-doc -->
4773 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
4774 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
4775 * @generated
4776 */
4777 EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition();
4778
4779 /**
4780 * The meta object literal for the '<em><b>Exact Scope</b></em>' attribute feature.
4781 * <!-- begin-user-doc -->
4782 * <!-- end-user-doc -->
4783 * @generated
4784 */
4785 EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope();
4786
4787 /**
4788 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
4789 * <!-- begin-user-doc -->
4790 * <!-- end-user-doc -->
4791 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
4792 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
4793 * @generated
4794 */
4795 EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition();
4796
4797 /**
4798 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
4799 * <!-- begin-user-doc -->
4800 * <!-- end-user-doc -->
4801 * @generated
4802 */
4803 EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound();
4804
4805 /**
4806 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
4807 * <!-- begin-user-doc -->
4808 * <!-- end-user-doc -->
4809 * @generated
4810 */
4811 EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound();
4812
4813 /**
4814 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
4815 * <!-- begin-user-doc -->
4816 * <!-- end-user-doc -->
4817 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
4818 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
4819 * @generated
4820 */
4821 EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition();
4822
4823 /**
4824 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
4825 * <!-- begin-user-doc -->
4826 * <!-- end-user-doc -->
4827 * @generated
4828 */
4829 EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound();
4830
4831 /**
4832 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
4833 * <!-- begin-user-doc -->
4834 * <!-- end-user-doc -->
4835 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
4836 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
4837 * @generated
4838 */
4839 EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition();
4840
4841 /**
4842 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
4843 * <!-- begin-user-doc -->
4844 * <!-- end-user-doc -->
4845 * @generated
4846 */
4847 EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind();
4848
4849 /**
4850 * The meta object literal for the '<em><b>Objective</b></em>' containment reference feature.
4851 * <!-- begin-user-doc -->
4852 * <!-- end-user-doc -->
4853 * @generated
4854 */
4855 EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective();
4856
4857 /**
4858 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class.
4859 * <!-- begin-user-doc -->
4860 * <!-- end-user-doc -->
4861 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
4862 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
4863 * @generated
4864 */
4865 EClass INTERPRETATION = eINSTANCE.getInterpretation();
4866
4867 /**
4868 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4869 * <!-- begin-user-doc -->
4870 * <!-- end-user-doc -->
4871 * @generated
4872 */
4873 EReference INTERPRETATION__BODY = eINSTANCE.getInterpretation_Body();
4874
4875 /**
4876 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
4877 * <!-- begin-user-doc -->
4878 * <!-- end-user-doc -->
4879 * @generated
4880 */
4881 EReference INTERPRETATION__RANGE = eINSTANCE.getInterpretation_Range();
4882
4883 /**
4884 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class.
4885 * <!-- begin-user-doc -->
4886 * <!-- end-user-doc -->
4887 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
4888 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
4889 * @generated
4890 */
4891 EClass VARIABLE = eINSTANCE.getVariable();
4892
4893 /**
4894 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4895 * <!-- begin-user-doc -->
4896 * <!-- end-user-doc -->
4897 * @generated
4898 */
4899 EReference VARIABLE__TYPE = eINSTANCE.getVariable_Type();
4900
4901 /**
4902 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
4903 * <!-- begin-user-doc -->
4904 * <!-- end-user-doc -->
4905 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
4906 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
4907 * @generated
4908 */
4909 EClass DISJUNCTION = eINSTANCE.getDisjunction();
4910
4911 /**
4912 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
4913 * <!-- begin-user-doc -->
4914 * <!-- end-user-doc -->
4915 * @generated
4916 */
4917 EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children();
4918
4919 /**
4920 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
4921 * <!-- begin-user-doc -->
4922 * <!-- end-user-doc -->
4923 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
4924 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
4925 * @generated
4926 */
4927 EClass SWITCH = eINSTANCE.getSwitch();
4928
4929 /**
4930 * The meta object literal for the '<em><b>Cases</b></em>' containment reference list feature.
4931 * <!-- begin-user-doc -->
4932 * <!-- end-user-doc -->
4933 * @generated
4934 */
4935 EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases();
4936
4937 /**
4938 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
4939 * <!-- begin-user-doc -->
4940 * <!-- end-user-doc -->
4941 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
4942 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
4943 * @generated
4944 */
4945 EClass CONJUNCTION = eINSTANCE.getConjunction();
4946
4947 /**
4948 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
4949 * <!-- begin-user-doc -->
4950 * <!-- end-user-doc -->
4951 * @generated
4952 */
4953 EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children();
4954
4955 /**
4956 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
4957 * <!-- begin-user-doc -->
4958 * <!-- end-user-doc -->
4959 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
4960 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
4961 * @generated
4962 */
4963 EClass COMPARISON = eINSTANCE.getComparison();
4964
4965 /**
4966 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
4967 * <!-- begin-user-doc -->
4968 * <!-- end-user-doc -->
4969 * @generated
4970 */
4971 EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
4972
4973 /**
4974 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4975 * <!-- begin-user-doc -->
4976 * <!-- end-user-doc -->
4977 * @generated
4978 */
4979 EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op();
4980
4981 /**
4982 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
4983 * <!-- begin-user-doc -->
4984 * <!-- end-user-doc -->
4985 * @generated
4986 */
4987 EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
4988
4989 /**
4990 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
4991 * <!-- begin-user-doc -->
4992 * <!-- end-user-doc -->
4993 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
4994 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
4995 * @generated
4996 */
4997 EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression();
4998
4999 /**
5000 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
5001 * <!-- begin-user-doc -->
5002 * <!-- end-user-doc -->
5003 * @generated
5004 */
5005 EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left();
5006
5007 /**
5008 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
5009 * <!-- begin-user-doc -->
5010 * <!-- end-user-doc -->
5011 * @generated
5012 */
5013 EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op();
5014
5015 /**
5016 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
5017 * <!-- begin-user-doc -->
5018 * <!-- end-user-doc -->
5019 * @generated
5020 */
5021 EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right();
5022
5023 /**
5024 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl <em>Cast Expression</em>}' class.
5025 * <!-- begin-user-doc -->
5026 * <!-- end-user-doc -->
5027 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl
5028 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression()
5029 * @generated
5030 */
5031 EClass CAST_EXPRESSION = eINSTANCE.getCastExpression();
5032
5033 /**
5034 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
5035 * <!-- begin-user-doc -->
5036 * <!-- end-user-doc -->
5037 * @generated
5038 */
5039 EReference CAST_EXPRESSION__BODY = eINSTANCE.getCastExpression_Body();
5040
5041 /**
5042 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
5043 * <!-- begin-user-doc -->
5044 * <!-- end-user-doc -->
5045 * @generated
5046 */
5047 EReference CAST_EXPRESSION__TYPE = eINSTANCE.getCastExpression_Type();
5048
5049 /**
5050 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
5051 * <!-- begin-user-doc -->
5052 * <!-- end-user-doc -->
5053 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
5054 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
5055 * @generated
5056 */
5057 EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
5058
5059 /**
5060 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
5061 * <!-- begin-user-doc -->
5062 * <!-- end-user-doc -->
5063 * @generated
5064 */
5065 EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
5066
5067 /**
5068 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
5069 * <!-- begin-user-doc -->
5070 * <!-- end-user-doc -->
5071 * @generated
5072 */
5073 EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body();
5074
5075 /**
5076 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl <em>Node</em>}' class.
5077 * <!-- begin-user-doc -->
5078 * <!-- end-user-doc -->
5079 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl
5080 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode()
5081 * @generated
5082 */
5083 EClass NODE = eINSTANCE.getNode();
5084
5085 /**
5086 * The meta object literal for the '<em><b>With Id</b></em>' attribute feature.
5087 * <!-- begin-user-doc -->
5088 * <!-- end-user-doc -->
5089 * @generated
5090 */
5091 EAttribute NODE__WITH_ID = eINSTANCE.getNode_WithId();
5092
5093 /**
5094 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl <em>Functor</em>}' class.
5095 * <!-- begin-user-doc -->
5096 * <!-- end-user-doc -->
5097 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl
5098 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor()
5099 * @generated
5100 */
5101 EClass FUNCTOR = eINSTANCE.getFunctor();
5102
5103 /**
5104 * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
5105 * <!-- begin-user-doc -->
5106 * <!-- end-user-doc -->
5107 * @generated
5108 */
5109 EReference FUNCTOR__PARAMETERS = eINSTANCE.getFunctor_Parameters();
5110
5111 /**
5112 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class.
5113 * <!-- begin-user-doc -->
5114 * <!-- end-user-doc -->
5115 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
5116 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
5117 * @generated
5118 */
5119 EClass PREDICATE = eINSTANCE.getPredicate();
5120
5121 /**
5122 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl <em>Metric</em>}' class.
5123 * <!-- begin-user-doc -->
5124 * <!-- end-user-doc -->
5125 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl
5126 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric()
5127 * @generated
5128 */
5129 EClass METRIC = eINSTANCE.getMetric();
5130
5131 /**
5132 * The meta object literal for the '<em><b>Return Type</b></em>' reference feature.
5133 * <!-- begin-user-doc -->
5134 * <!-- end-user-doc -->
5135 * @generated
5136 */
5137 EReference METRIC__RETURN_TYPE = eINSTANCE.getMetric_ReturnType();
5138
5139 /**
5140 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
5141 * <!-- begin-user-doc -->
5142 * <!-- end-user-doc -->
5143 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
5144 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
5145 * @generated
5146 */
5147 EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator();
5148
5149 /**
5150 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
5151 * <!-- begin-user-doc -->
5152 * <!-- end-user-doc -->
5153 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
5154 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
5155 * @generated
5156 */
5157 EEnum UNARY_OP = eINSTANCE.getUnaryOp();
5158
5159 /**
5160 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
5161 * <!-- begin-user-doc -->
5162 * <!-- end-user-doc -->
5163 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
5164 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
5165 * @generated
5166 */
5167 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
5168
5169 /**
5170 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
5171 * <!-- begin-user-doc -->
5172 * <!-- end-user-doc -->
5173 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
5174 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
5175 * @generated
5176 */
5177 EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind();
5178
5179 /**
5180 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier <em>Quantifier</em>}' enum.
5181 * <!-- begin-user-doc -->
5182 * <!-- end-user-doc -->
5183 * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier
5184 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier()
5185 * @generated
5186 */
5187 EEnum QUANTIFIER = eINSTANCE.getQuantifier();
5188
5189 }
5190
5191} //SolverLanguagePackage
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
deleted file mode 100644
index 1abc7ea1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
+++ /dev/null
@@ -1,18 +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} // StarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
deleted file mode 100644
index 2dd89f73..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
+++ /dev/null
@@ -1,19 +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} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
deleted file mode 100644
index 7272e64a..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Value</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Value</em>' attribute.
29 * @see #setValue(String)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value()
31 * @model
32 * @generated
33 */
34 String getValue();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Value</em>' attribute.
41 * @see #getValue()
42 * @generated
43 */
44 void setValue(String value);
45
46} // StringLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
deleted file mode 100644
index fc181c0b..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
+++ /dev/null
@@ -1,37 +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 * Returns the value of the '<em><b>Cases</b></em>' containment reference list.
27 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Cases</em>' containment reference list.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases()
32 * @model containment="true"
33 * @generated
34 */
35 EList<Case> getCases();
36
37} // Switch
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
deleted file mode 100644
index 04744ad9..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
+++ /dev/null
@@ -1,69 +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 * 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#getTypedArgument_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#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 /**
48 * Returns the value of the '<em><b>Variable</b></em>' reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Variable</em>' reference.
52 * @see #setVariable(NamedElement)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable()
54 * @model
55 * @generated
56 */
57 NamedElement getVariable();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Variable</em>' reference.
64 * @see #getVariable()
65 * @generated
66 */
67 void setVariable(NamedElement value);
68
69} // TypedArgument
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
deleted file mode 100644
index 53a18217..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
+++ /dev/null
@@ -1,46 +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 * Returns the value of the '<em><b>Type</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Type</em>' reference.
29 * @see #setType(NamedElement)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type()
31 * @model
32 * @generated
33 */
34 NamedElement getType();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Type</em>' reference.
41 * @see #getType()
42 * @generated
43 */
44 void setType(NamedElement value);
45
46} // TypedStarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
deleted file mode 100644
index c0a1ddc7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
+++ /dev/null
@@ -1,72 +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 * Returns the value of the '<em><b>Op</b></em>' attribute.
27 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Op</em>' attribute.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
32 * @see #setOp(UnaryOp)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op()
34 * @model
35 * @generated
36 */
37 UnaryOp getOp();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Op</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
45 * @see #getOp()
46 * @generated
47 */
48 void setOp(UnaryOp 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#getUnaryExpression_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.UnaryExpression#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} // UnaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
deleted file mode 100644
index fad289b1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
+++ /dev/null
@@ -1,302 +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 * The '<em><b>NEG</b></em>' literal object.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @see #NEG_VALUE
27 * @generated
28 * @ordered
29 */
30 NEG(0, "NEG", "!"),
31
32 /**
33 * The '<em><b>PLUS</b></em>' literal object.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #PLUS_VALUE
37 * @generated
38 * @ordered
39 */
40 PLUS(1, "PLUS", "+"),
41
42 /**
43 * The '<em><b>MINUS</b></em>' literal object.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #MINUS_VALUE
47 * @generated
48 * @ordered
49 */
50 MINUS(2, "MINUS", "-"),
51
52 /**
53 * The '<em><b>MAY</b></em>' literal object.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #MAY_VALUE
57 * @generated
58 * @ordered
59 */
60 MAY(3, "MAY", "may"),
61
62 /**
63 * The '<em><b>MUST</b></em>' literal object.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #MUST_VALUE
67 * @generated
68 * @ordered
69 */
70 MUST(4, "MUST", "must"),
71
72 /**
73 * The '<em><b>CURRENT</b></em>' literal object.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #CURRENT_VALUE
77 * @generated
78 * @ordered
79 */
80 CURRENT(5, "CURRENT", "current");
81
82 /**
83 * The '<em><b>NEG</b></em>' literal value.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @see #NEG
87 * @model literal="!"
88 * @generated
89 * @ordered
90 */
91 public static final int NEG_VALUE = 0;
92
93 /**
94 * The '<em><b>PLUS</b></em>' literal value.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #PLUS
98 * @model literal="+"
99 * @generated
100 * @ordered
101 */
102 public static final int PLUS_VALUE = 1;
103
104 /**
105 * The '<em><b>MINUS</b></em>' literal value.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #MINUS
109 * @model literal="-"
110 * @generated
111 * @ordered
112 */
113 public static final int MINUS_VALUE = 2;
114
115 /**
116 * The '<em><b>MAY</b></em>' literal value.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @see #MAY
120 * @model literal="may"
121 * @generated
122 * @ordered
123 */
124 public static final int MAY_VALUE = 3;
125
126 /**
127 * The '<em><b>MUST</b></em>' literal value.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @see #MUST
131 * @model literal="must"
132 * @generated
133 * @ordered
134 */
135 public static final int MUST_VALUE = 4;
136
137 /**
138 * The '<em><b>CURRENT</b></em>' literal value.
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @see #CURRENT
142 * @model literal="current"
143 * @generated
144 * @ordered
145 */
146 public static final int CURRENT_VALUE = 5;
147
148 /**
149 * An array of all the '<em><b>Unary Op</b></em>' enumerators.
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 private static final UnaryOp[] VALUES_ARRAY =
155 new UnaryOp[] {
156 NEG,
157 PLUS,
158 MINUS,
159 MAY,
160 MUST,
161 CURRENT,
162 };
163
164 /**
165 * A public read-only list of all the '<em><b>Unary Op</b></em>' enumerators.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public static final List<UnaryOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
171
172 /**
173 * Returns the '<em><b>Unary Op</b></em>' literal with the specified literal value.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @param literal the literal.
177 * @return the matching enumerator or <code>null</code>.
178 * @generated
179 */
180 public static UnaryOp get(String literal) {
181 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
182 UnaryOp result = VALUES_ARRAY[i];
183 if (result.toString().equals(literal)) {
184 return result;
185 }
186 }
187 return null;
188 }
189
190 /**
191 * Returns the '<em><b>Unary Op</b></em>' literal with the specified name.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @param name the name.
195 * @return the matching enumerator or <code>null</code>.
196 * @generated
197 */
198 public static UnaryOp getByName(String name) {
199 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
200 UnaryOp result = VALUES_ARRAY[i];
201 if (result.getName().equals(name)) {
202 return result;
203 }
204 }
205 return null;
206 }
207
208 /**
209 * Returns the '<em><b>Unary Op</b></em>' literal with the specified integer value.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @param value the integer value.
213 * @return the matching enumerator or <code>null</code>.
214 * @generated
215 */
216 public static UnaryOp get(int value) {
217 switch (value) {
218 case NEG_VALUE: return NEG;
219 case PLUS_VALUE: return PLUS;
220 case MINUS_VALUE: return MINUS;
221 case MAY_VALUE: return MAY;
222 case MUST_VALUE: return MUST;
223 case CURRENT_VALUE: return CURRENT;
224 }
225 return null;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 private final int value;
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 private final String name;
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 private final String literal;
248
249 /**
250 * Only this class can construct instances.
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 private UnaryOp(int value, String name, String literal) {
256 this.value = value;
257 this.name = name;
258 this.literal = literal;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public int getValue() {
268 return value;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @Override
277 public String getName() {
278 return name;
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 @Override
287 public String getLiteral() {
288 return literal;
289 }
290
291 /**
292 * Returns the literal value of the enumerator, which is its string representation.
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 */
297 @Override
298 public String toString() {
299 return literal;
300 }
301
302} //UnaryOp
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
deleted file mode 100644
index fd916c18..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
+++ /dev/null
@@ -1,69 +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 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Argument List</em>' containment reference.
30 * @see #setArgumentList(ArgumentList)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList()
32 * @model containment="true"
33 * @generated
34 */
35 ArgumentList getArgumentList();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Argument List</em>' containment reference.
42 * @see #getArgumentList()
43 * @generated
44 */
45 void setArgumentList(ArgumentList value);
46
47 /**
48 * Returns the value of the '<em><b>Body</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Body</em>' containment reference.
52 * @see #setBody(Expression)
53 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body()
54 * @model containment="true"
55 * @generated
56 */
57 Expression getBody();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Body</em>' containment reference.
64 * @see #getBody()
65 * @generated
66 */
67 void setBody(Expression value);
68
69} // UnnamedErrorPrediateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
deleted file mode 100644
index 581ce517..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
+++ /dev/null
@@ -1,46 +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>Variable</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.Variable#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable()
20 * @model
21 * @generated
22 */
23public interface Variable extends NamedElement {
24 /**
25 * Returns the value of the '<em><b>Type</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Type</em>' reference.
29 * @see #setType(NamedElement)
30 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_Type()
31 * @model
32 * @generated
33 */
34 NamedElement getType();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType <em>Type</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Type</em>' reference.
41 * @see #getType()
42 * @generated
43 */
44 void setType(NamedElement value);
45
46} // Variable
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
deleted file mode 100644
index 0f0262df..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
+++ /dev/null
@@ -1,378 +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.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables;
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>Aggregation</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.AggregationImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getLocalVariables <em>Local Variables</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody <em>Body</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition <em>Condition</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class AggregationImpl extends ExpressionImpl implements Aggregation {
37 /**
38 * The cached value of the '{@link #getOp() <em>Op</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getOp()
42 * @generated
43 * @ordered
44 */
45 protected NamedElement op;
46
47 /**
48 * The cached value of the '{@link #getLocalVariables() <em>Local Variables</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getLocalVariables()
52 * @generated
53 * @ordered
54 */
55 protected LocalVariables localVariables;
56
57 /**
58 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getBody()
62 * @generated
63 * @ordered
64 */
65 protected Expression body;
66
67 /**
68 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #getCondition()
72 * @generated
73 * @ordered
74 */
75 protected Expression condition;
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 protected AggregationImpl() {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass() {
93 return SolverLanguagePackage.Literals.AGGREGATION;
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public NamedElement getOp() {
103 if (op != null && op.eIsProxy()) {
104 InternalEObject oldOp = (InternalEObject)op;
105 op = (NamedElement)eResolveProxy(oldOp);
106 if (op != oldOp) {
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
109 }
110 }
111 return op;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public NamedElement basicGetOp() {
120 return op;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void setOp(NamedElement newOp) {
130 NamedElement oldOp = op;
131 op = newOp;
132 if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public LocalVariables getLocalVariables() {
143 return localVariables;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) {
152 LocalVariables oldLocalVariables = localVariables;
153 localVariables = newLocalVariables;
154 if (eNotificationRequired()) {
155 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables);
156 if (msgs == null) msgs = notification; else msgs.add(notification);
157 }
158 return msgs;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public void setLocalVariables(LocalVariables newLocalVariables) {
168 if (newLocalVariables != localVariables) {
169 NotificationChain msgs = null;
170 if (localVariables != null)
171 msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs);
172 if (newLocalVariables != null)
173 msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs);
174 msgs = basicSetLocalVariables(newLocalVariables, msgs);
175 if (msgs != null) msgs.dispatch();
176 }
177 else if (eNotificationRequired())
178 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables));
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public Expression getBody() {
188 return body;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
197 Expression oldBody = body;
198 body = newBody;
199 if (eNotificationRequired()) {
200 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody);
201 if (msgs == null) msgs = notification; else msgs.add(notification);
202 }
203 return msgs;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public void setBody(Expression newBody) {
213 if (newBody != body) {
214 NotificationChain msgs = null;
215 if (body != null)
216 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
217 if (newBody != null)
218 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
219 msgs = basicSetBody(newBody, msgs);
220 if (msgs != null) msgs.dispatch();
221 }
222 else if (eNotificationRequired())
223 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody));
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public Expression getCondition() {
233 return condition;
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) {
242 Expression oldCondition = condition;
243 condition = newCondition;
244 if (eNotificationRequired()) {
245 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition);
246 if (msgs == null) msgs = notification; else msgs.add(notification);
247 }
248 return msgs;
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void setCondition(Expression newCondition) {
258 if (newCondition != condition) {
259 NotificationChain msgs = null;
260 if (condition != null)
261 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
262 if (newCondition != null)
263 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
264 msgs = basicSetCondition(newCondition, msgs);
265 if (msgs != null) msgs.dispatch();
266 }
267 else if (eNotificationRequired())
268 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition));
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @Override
277 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
278 switch (featureID) {
279 case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES:
280 return basicSetLocalVariables(null, msgs);
281 case SolverLanguagePackage.AGGREGATION__BODY:
282 return basicSetBody(null, msgs);
283 case SolverLanguagePackage.AGGREGATION__CONDITION:
284 return basicSetCondition(null, msgs);
285 }
286 return super.eInverseRemove(otherEnd, featureID, msgs);
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public Object eGet(int featureID, boolean resolve, boolean coreType) {
296 switch (featureID) {
297 case SolverLanguagePackage.AGGREGATION__OP:
298 if (resolve) return getOp();
299 return basicGetOp();
300 case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES:
301 return getLocalVariables();
302 case SolverLanguagePackage.AGGREGATION__BODY:
303 return getBody();
304 case SolverLanguagePackage.AGGREGATION__CONDITION:
305 return getCondition();
306 }
307 return super.eGet(featureID, resolve, coreType);
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public void eSet(int featureID, Object newValue) {
317 switch (featureID) {
318 case SolverLanguagePackage.AGGREGATION__OP:
319 setOp((NamedElement)newValue);
320 return;
321 case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES:
322 setLocalVariables((LocalVariables)newValue);
323 return;
324 case SolverLanguagePackage.AGGREGATION__BODY:
325 setBody((Expression)newValue);
326 return;
327 case SolverLanguagePackage.AGGREGATION__CONDITION:
328 setCondition((Expression)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 switch (featureID) {
342 case SolverLanguagePackage.AGGREGATION__OP:
343 setOp((NamedElement)null);
344 return;
345 case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES:
346 setLocalVariables((LocalVariables)null);
347 return;
348 case SolverLanguagePackage.AGGREGATION__BODY:
349 setBody((Expression)null);
350 return;
351 case SolverLanguagePackage.AGGREGATION__CONDITION:
352 setCondition((Expression)null);
353 return;
354 }
355 super.eUnset(featureID);
356 }
357
358 /**
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 */
363 @Override
364 public boolean eIsSet(int featureID) {
365 switch (featureID) {
366 case SolverLanguagePackage.AGGREGATION__OP:
367 return op != null;
368 case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES:
369 return localVariables != null;
370 case SolverLanguagePackage.AGGREGATION__BODY:
371 return body != null;
372 case SolverLanguagePackage.AGGREGATION__CONDITION:
373 return condition != null;
374 }
375 return super.eIsSet(featureID);
376 }
377
378} //AggregationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
deleted file mode 100644
index afd14afa..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
+++ /dev/null
@@ -1,40 +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 * <!-- begin-user-doc -->
23 * <!-- end-user-doc -->
24 * @generated
25 */
26 protected ArgumentImpl() {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass() {
37 return SolverLanguagePackage.Literals.ARGUMENT;
38 }
39
40} //ArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
deleted file mode 100644
index fce298f1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
+++ /dev/null
@@ -1,154 +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 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getArguments()
43 * @generated
44 * @ordered
45 */
46 protected EList<Argument> arguments;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ArgumentListImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public EList<Argument> getArguments() {
74 if (arguments == null) {
75 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
76 }
77 return arguments;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
87 switch (featureID) {
88 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
89 return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
90 }
91 return super.eInverseRemove(otherEnd, featureID, msgs);
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType) {
101 switch (featureID) {
102 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
103 return getArguments();
104 }
105 return super.eGet(featureID, resolve, coreType);
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @SuppressWarnings("unchecked")
114 @Override
115 public void eSet(int featureID, Object newValue) {
116 switch (featureID) {
117 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
118 getArguments().clear();
119 getArguments().addAll((Collection<? extends Argument>)newValue);
120 return;
121 }
122 super.eSet(featureID, newValue);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eUnset(int featureID) {
132 switch (featureID) {
133 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
134 getArguments().clear();
135 return;
136 }
137 super.eUnset(featureID);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public boolean eIsSet(int featureID) {
147 switch (featureID) {
148 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
149 return arguments != null && !arguments.isEmpty();
150 }
151 return super.eIsSet(featureID);
152 }
153
154} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
deleted file mode 100644
index e85a40f9..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
+++ /dev/null
@@ -1,317 +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 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getLeft()
40 * @generated
41 * @ordered
42 */
43 protected Expression left;
44
45 /**
46 * The default 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 static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
54
55 /**
56 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getOp()
60 * @generated
61 * @ordered
62 */
63 protected BinaryOperator op = OP_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getRight()
70 * @generated
71 * @ordered
72 */
73 protected Expression right;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected BinaryExpressionImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return SolverLanguagePackage.Literals.BINARY_EXPRESSION;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Expression getLeft() {
101 return left;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) {
110 Expression oldLeft = left;
111 left = newLeft;
112 if (eNotificationRequired()) {
113 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft);
114 if (msgs == null) msgs = notification; else msgs.add(notification);
115 }
116 return msgs;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void setLeft(Expression newLeft) {
126 if (newLeft != left) {
127 NotificationChain msgs = null;
128 if (left != null)
129 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
130 if (newLeft != null)
131 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
132 msgs = basicSetLeft(newLeft, msgs);
133 if (msgs != null) msgs.dispatch();
134 }
135 else if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public BinaryOperator getOp() {
146 return op;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void setOp(BinaryOperator newOp) {
156 BinaryOperator oldOp = op;
157 op = newOp == null ? OP_EDEFAULT : newOp;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public Expression getRight() {
169 return right;
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) {
178 Expression oldRight = right;
179 right = newRight;
180 if (eNotificationRequired()) {
181 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight);
182 if (msgs == null) msgs = notification; else msgs.add(notification);
183 }
184 return msgs;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void setRight(Expression newRight) {
194 if (newRight != right) {
195 NotificationChain msgs = null;
196 if (right != null)
197 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
198 if (newRight != null)
199 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
200 msgs = basicSetRight(newRight, msgs);
201 if (msgs != null) msgs.dispatch();
202 }
203 else if (eNotificationRequired())
204 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight));
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
214 switch (featureID) {
215 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
216 return basicSetLeft(null, msgs);
217 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
218 return basicSetRight(null, msgs);
219 }
220 return super.eInverseRemove(otherEnd, featureID, msgs);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public Object eGet(int featureID, boolean resolve, boolean coreType) {
230 switch (featureID) {
231 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
232 return getLeft();
233 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
234 return getOp();
235 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
236 return getRight();
237 }
238 return super.eGet(featureID, resolve, coreType);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public void eSet(int featureID, Object newValue) {
248 switch (featureID) {
249 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
250 setLeft((Expression)newValue);
251 return;
252 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
253 setOp((BinaryOperator)newValue);
254 return;
255 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
256 setRight((Expression)newValue);
257 return;
258 }
259 super.eSet(featureID, newValue);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @Override
268 public void eUnset(int featureID) {
269 switch (featureID) {
270 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
271 setLeft((Expression)null);
272 return;
273 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
274 setOp(OP_EDEFAULT);
275 return;
276 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
277 setRight((Expression)null);
278 return;
279 }
280 super.eUnset(featureID);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public boolean eIsSet(int featureID) {
290 switch (featureID) {
291 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
292 return left != null;
293 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
294 return op != OP_EDEFAULT;
295 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
296 return right != null;
297 }
298 return super.eIsSet(featureID);
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @Override
307 public String toString() {
308 if (eIsProxy()) return super.toString();
309
310 StringBuilder result = new StringBuilder(super.toString());
311 result.append(" (op: ");
312 result.append(op);
313 result.append(')');
314 return result.toString();
315 }
316
317} //BinaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
deleted file mode 100644
index 9b4f0385..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
+++ /dev/null
@@ -1,221 +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 * 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 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getUpperBound()
55 * @generated
56 * @ordered
57 */
58 protected static final int UPPER_BOUND_EDEFAULT = 0;
59
60 /**
61 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getUpperBound()
65 * @generated
66 * @ordered
67 */
68 protected int upperBound = UPPER_BOUND_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected BoundedMultiplicityImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public int getLowerBound() {
96 return lowerBound;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setLowerBound(int newLowerBound) {
106 int oldLowerBound = lowerBound;
107 lowerBound = newLowerBound;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public int getUpperBound() {
119 return upperBound;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setUpperBound(int newUpperBound) {
129 int oldUpperBound = upperBound;
130 upperBound = newUpperBound;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
144 return getLowerBound();
145 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
146 return getUpperBound();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
160 setLowerBound((Integer)newValue);
161 return;
162 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
163 setUpperBound((Integer)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
178 setLowerBound(LOWER_BOUND_EDEFAULT);
179 return;
180 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
181 setUpperBound(UPPER_BOUND_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
196 return lowerBound != LOWER_BOUND_EDEFAULT;
197 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
198 return upperBound != UPPER_BOUND_EDEFAULT;
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (lowerBound: ");
214 result.append(lowerBound);
215 result.append(", upperBound: ");
216 result.append(upperBound);
217 result.append(')');
218 return result.toString();
219 }
220
221} //BoundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
deleted file mode 100644
index 7d3a981e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,221 +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 * 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 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getUpperBound()
55 * @generated
56 * @ordered
57 */
58 protected static final int UPPER_BOUND_EDEFAULT = 0;
59
60 /**
61 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getUpperBound()
65 * @generated
66 * @ordered
67 */
68 protected int upperBound = UPPER_BOUND_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected BoundedScopeDefinitionImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public int getLowerBound() {
96 return lowerBound;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setLowerBound(int newLowerBound) {
106 int oldLowerBound = lowerBound;
107 lowerBound = newLowerBound;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public int getUpperBound() {
119 return upperBound;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setUpperBound(int newUpperBound) {
129 int oldUpperBound = upperBound;
130 upperBound = newUpperBound;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
144 return getLowerBound();
145 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
146 return getUpperBound();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
160 setLowerBound((Integer)newValue);
161 return;
162 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
163 setUpperBound((Integer)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
178 setLowerBound(LOWER_BOUND_EDEFAULT);
179 return;
180 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
181 setUpperBound(UPPER_BOUND_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
196 return lowerBound != LOWER_BOUND_EDEFAULT;
197 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
198 return upperBound != UPPER_BOUND_EDEFAULT;
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (lowerBound: ");
214 result.append(lowerBound);
215 result.append(", upperBound: ");
216 result.append(upperBound);
217 result.append(')');
218 return result.toString();
219 }
220
221} //BoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
deleted file mode 100644
index bbc2dd4c..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
+++ /dev/null
@@ -1,373 +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 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getFunctor()
41 * @generated
42 * @ordered
43 */
44 protected Reference functor;
45
46 /**
47 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #isTransitiveClosure()
51 * @generated
52 * @ordered
53 */
54 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
55
56 /**
57 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isTransitiveClosure()
61 * @generated
62 * @ordered
63 */
64 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
65
66 /**
67 * The default value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #isReflexiveTransitiveClosure()
71 * @generated
72 * @ordered
73 */
74 protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
75
76 /**
77 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #isReflexiveTransitiveClosure()
81 * @generated
82 * @ordered
83 */
84 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
85
86 /**
87 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #getArgumentList()
91 * @generated
92 * @ordered
93 */
94 protected ArgumentList argumentList;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 protected CallImpl() {
102 super();
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 protected EClass eStaticClass() {
112 return SolverLanguagePackage.Literals.CALL;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public Reference getFunctor() {
122 return functor;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs) {
131 Reference oldFunctor = functor;
132 functor = newFunctor;
133 if (eNotificationRequired()) {
134 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor);
135 if (msgs == null) msgs = notification; else msgs.add(notification);
136 }
137 return msgs;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public void setFunctor(Reference newFunctor) {
147 if (newFunctor != functor) {
148 NotificationChain msgs = null;
149 if (functor != null)
150 msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
151 if (newFunctor != null)
152 msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
153 msgs = basicSetFunctor(newFunctor, msgs);
154 if (msgs != null) msgs.dispatch();
155 }
156 else if (eNotificationRequired())
157 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor));
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public boolean isTransitiveClosure() {
167 return transitiveClosure;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public void setTransitiveClosure(boolean newTransitiveClosure) {
177 boolean oldTransitiveClosure = transitiveClosure;
178 transitiveClosure = newTransitiveClosure;
179 if (eNotificationRequired())
180 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public boolean isReflexiveTransitiveClosure() {
190 return reflexiveTransitiveClosure;
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) {
200 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
201 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
202 if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public ArgumentList getArgumentList() {
213 return argumentList;
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
222 ArgumentList oldArgumentList = argumentList;
223 argumentList = newArgumentList;
224 if (eNotificationRequired()) {
225 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
226 if (msgs == null) msgs = notification; else msgs.add(notification);
227 }
228 return msgs;
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void setArgumentList(ArgumentList newArgumentList) {
238 if (newArgumentList != argumentList) {
239 NotificationChain msgs = null;
240 if (argumentList != null)
241 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
242 if (newArgumentList != null)
243 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
244 msgs = basicSetArgumentList(newArgumentList, msgs);
245 if (msgs != null) msgs.dispatch();
246 }
247 else if (eNotificationRequired())
248 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
258 switch (featureID) {
259 case SolverLanguagePackage.CALL__FUNCTOR:
260 return basicSetFunctor(null, msgs);
261 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
262 return basicSetArgumentList(null, msgs);
263 }
264 return super.eInverseRemove(otherEnd, featureID, msgs);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public Object eGet(int featureID, boolean resolve, boolean coreType) {
274 switch (featureID) {
275 case SolverLanguagePackage.CALL__FUNCTOR:
276 return getFunctor();
277 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
278 return isTransitiveClosure();
279 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
280 return isReflexiveTransitiveClosure();
281 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
282 return getArgumentList();
283 }
284 return super.eGet(featureID, resolve, coreType);
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 @Override
293 public void eSet(int featureID, Object newValue) {
294 switch (featureID) {
295 case SolverLanguagePackage.CALL__FUNCTOR:
296 setFunctor((Reference)newValue);
297 return;
298 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
299 setTransitiveClosure((Boolean)newValue);
300 return;
301 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
302 setReflexiveTransitiveClosure((Boolean)newValue);
303 return;
304 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
305 setArgumentList((ArgumentList)newValue);
306 return;
307 }
308 super.eSet(featureID, newValue);
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 @Override
317 public void eUnset(int featureID) {
318 switch (featureID) {
319 case SolverLanguagePackage.CALL__FUNCTOR:
320 setFunctor((Reference)null);
321 return;
322 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
323 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
324 return;
325 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
326 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
327 return;
328 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
329 setArgumentList((ArgumentList)null);
330 return;
331 }
332 super.eUnset(featureID);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 @Override
341 public boolean eIsSet(int featureID) {
342 switch (featureID) {
343 case SolverLanguagePackage.CALL__FUNCTOR:
344 return functor != null;
345 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
346 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
347 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
348 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
349 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
350 return argumentList != null;
351 }
352 return super.eIsSet(featureID);
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public String toString() {
362 if (eIsProxy()) return super.toString();
363
364 StringBuilder result = new StringBuilder(super.toString());
365 result.append(" (transitiveClosure: ");
366 result.append(transitiveClosure);
367 result.append(", reflexiveTransitiveClosure: ");
368 result.append(reflexiveTransitiveClosure);
369 result.append(')');
370 return result.toString();
371 }
372
373} //CallImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
deleted file mode 100644
index d6905f3b..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
+++ /dev/null
@@ -1,246 +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#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition <em>Condition</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CaseImpl extends ExpressionImpl implements Case {
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 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getCondition()
48 * @generated
49 * @ordered
50 */
51 protected Expression condition;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected CaseImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.CASE;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public Expression getBody() {
79 return body;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
88 Expression oldBody = body;
89 body = newBody;
90 if (eNotificationRequired()) {
91 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody);
92 if (msgs == null) msgs = notification; else msgs.add(notification);
93 }
94 return msgs;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setBody(Expression newBody) {
104 if (newBody != body) {
105 NotificationChain msgs = null;
106 if (body != null)
107 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
108 if (newBody != null)
109 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
110 msgs = basicSetBody(newBody, msgs);
111 if (msgs != null) msgs.dispatch();
112 }
113 else if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getCondition() {
124 return condition;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) {
133 Expression oldCondition = condition;
134 condition = newCondition;
135 if (eNotificationRequired()) {
136 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition);
137 if (msgs == null) msgs = notification; else msgs.add(notification);
138 }
139 return msgs;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setCondition(Expression newCondition) {
149 if (newCondition != condition) {
150 NotificationChain msgs = null;
151 if (condition != null)
152 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
153 if (newCondition != null)
154 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
155 msgs = basicSetCondition(newCondition, msgs);
156 if (msgs != null) msgs.dispatch();
157 }
158 else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
169 switch (featureID) {
170 case SolverLanguagePackage.CASE__BODY:
171 return basicSetBody(null, msgs);
172 case SolverLanguagePackage.CASE__CONDITION:
173 return basicSetCondition(null, msgs);
174 }
175 return super.eInverseRemove(otherEnd, featureID, msgs);
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public Object eGet(int featureID, boolean resolve, boolean coreType) {
185 switch (featureID) {
186 case SolverLanguagePackage.CASE__BODY:
187 return getBody();
188 case SolverLanguagePackage.CASE__CONDITION:
189 return getCondition();
190 }
191 return super.eGet(featureID, resolve, coreType);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case SolverLanguagePackage.CASE__BODY:
203 setBody((Expression)newValue);
204 return;
205 case SolverLanguagePackage.CASE__CONDITION:
206 setCondition((Expression)newValue);
207 return;
208 }
209 super.eSet(featureID, newValue);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eUnset(int featureID) {
219 switch (featureID) {
220 case SolverLanguagePackage.CASE__BODY:
221 setBody((Expression)null);
222 return;
223 case SolverLanguagePackage.CASE__CONDITION:
224 setCondition((Expression)null);
225 return;
226 }
227 super.eUnset(featureID);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public boolean eIsSet(int featureID) {
237 switch (featureID) {
238 case SolverLanguagePackage.CASE__BODY:
239 return body != null;
240 case SolverLanguagePackage.CASE__CONDITION:
241 return condition != null;
242 }
243 return super.eIsSet(featureID);
244 }
245
246} //CaseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java
deleted file mode 100644
index 39e20e46..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java
+++ /dev/null
@@ -1,241 +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.CastExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Cast 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.CastExpressionImpl#getBody <em>Body</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getType <em>Type</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class CastExpressionImpl extends ExpressionImpl implements CastExpression {
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 #getType() <em>Type</em>}' reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getType()
49 * @generated
50 * @ordered
51 */
52 protected NamedElement type;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected CastExpressionImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return SolverLanguagePackage.Literals.CAST_EXPRESSION;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public Expression getBody() {
80 return body;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
89 Expression oldBody = body;
90 body = newBody;
91 if (eNotificationRequired()) {
92 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, oldBody, newBody);
93 if (msgs == null) msgs = notification; else msgs.add(notification);
94 }
95 return msgs;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public void setBody(Expression newBody) {
105 if (newBody != body) {
106 NotificationChain msgs = null;
107 if (body != null)
108 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs);
109 if (newBody != null)
110 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs);
111 msgs = basicSetBody(newBody, msgs);
112 if (msgs != null) msgs.dispatch();
113 }
114 else if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, newBody, newBody));
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public NamedElement getType() {
125 if (type != null && type.eIsProxy()) {
126 InternalEObject oldType = (InternalEObject)type;
127 type = (NamedElement)eResolveProxy(oldType);
128 if (type != oldType) {
129 if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.CAST_EXPRESSION__TYPE, oldType, type));
131 }
132 }
133 return type;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NamedElement basicGetType() {
142 return type;
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public void setType(NamedElement newType) {
152 NamedElement oldType = type;
153 type = newType;
154 if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__TYPE, oldType, type));
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
165 switch (featureID) {
166 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
167 return basicSetBody(null, msgs);
168 }
169 return super.eInverseRemove(otherEnd, featureID, msgs);
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Object eGet(int featureID, boolean resolve, boolean coreType) {
179 switch (featureID) {
180 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
181 return getBody();
182 case SolverLanguagePackage.CAST_EXPRESSION__TYPE:
183 if (resolve) return getType();
184 return basicGetType();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
198 setBody((Expression)newValue);
199 return;
200 case SolverLanguagePackage.CAST_EXPRESSION__TYPE:
201 setType((NamedElement)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
216 setBody((Expression)null);
217 return;
218 case SolverLanguagePackage.CAST_EXPRESSION__TYPE:
219 setType((NamedElement)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case SolverLanguagePackage.CAST_EXPRESSION__BODY:
234 return body != null;
235 case SolverLanguagePackage.CAST_EXPRESSION__TYPE:
236 return type != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //CastExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
deleted file mode 100644
index 9fe48f0b..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
+++ /dev/null
@@ -1,318 +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 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #isAbstract()
49 * @generated
50 * @ordered
51 */
52 protected static final boolean ABSTRACT_EDEFAULT = false;
53
54 /**
55 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #isAbstract()
59 * @generated
60 * @ordered
61 */
62 protected boolean abstract_ = ABSTRACT_EDEFAULT;
63
64 /**
65 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getName()
69 * @generated
70 * @ordered
71 */
72 protected static final String NAME_EDEFAULT = null;
73
74 /**
75 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getName()
79 * @generated
80 * @ordered
81 */
82 protected String name = NAME_EDEFAULT;
83
84 /**
85 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getSuperclasses()
89 * @generated
90 * @ordered
91 */
92 protected EList<NamedElement> superclasses;
93
94 /**
95 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #getMembers()
99 * @generated
100 * @ordered
101 */
102 protected EList<MemberDefinition> members;
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 protected ClassDefinitionImpl() {
110 super();
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 protected EClass eStaticClass() {
120 return SolverLanguagePackage.Literals.CLASS_DEFINITION;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public boolean isAbstract() {
130 return abstract_;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public void setAbstract(boolean newAbstract) {
140 boolean oldAbstract = abstract_;
141 abstract_ = newAbstract;
142 if (eNotificationRequired())
143 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_));
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String getName() {
153 return name;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public void setName(String newName) {
163 String oldName = name;
164 name = newName;
165 if (eNotificationRequired())
166 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name));
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public EList<NamedElement> getSuperclasses() {
176 if (superclasses == null) {
177 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES);
178 }
179 return superclasses;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public EList<MemberDefinition> getMembers() {
189 if (members == null) {
190 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS);
191 }
192 return members;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
202 switch (featureID) {
203 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
204 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
205 }
206 return super.eInverseRemove(otherEnd, featureID, msgs);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public Object eGet(int featureID, boolean resolve, boolean coreType) {
216 switch (featureID) {
217 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
218 return isAbstract();
219 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
220 return getName();
221 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
222 return getSuperclasses();
223 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
224 return getMembers();
225 }
226 return super.eGet(featureID, resolve, coreType);
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @SuppressWarnings("unchecked")
235 @Override
236 public void eSet(int featureID, Object newValue) {
237 switch (featureID) {
238 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
239 setAbstract((Boolean)newValue);
240 return;
241 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
242 setName((String)newValue);
243 return;
244 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
245 getSuperclasses().clear();
246 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
247 return;
248 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
249 getMembers().clear();
250 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
251 return;
252 }
253 super.eSet(featureID, newValue);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public void eUnset(int featureID) {
263 switch (featureID) {
264 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
265 setAbstract(ABSTRACT_EDEFAULT);
266 return;
267 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
268 setName(NAME_EDEFAULT);
269 return;
270 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
271 getSuperclasses().clear();
272 return;
273 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
274 getMembers().clear();
275 return;
276 }
277 super.eUnset(featureID);
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 @Override
286 public boolean eIsSet(int featureID) {
287 switch (featureID) {
288 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
289 return abstract_ != ABSTRACT_EDEFAULT;
290 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
291 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
292 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
293 return superclasses != null && !superclasses.isEmpty();
294 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
295 return members != null && !members.isEmpty();
296 }
297 return super.eIsSet(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public String toString() {
307 if (eIsProxy()) return super.toString();
308
309 StringBuilder result = new StringBuilder(super.toString());
310 result.append(" (abstract: ");
311 result.append(abstract_);
312 result.append(", name: ");
313 result.append(name);
314 result.append(')');
315 return result.toString();
316 }
317
318} //ClassDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
deleted file mode 100644
index 37cc2e07..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
+++ /dev/null
@@ -1,317 +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 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getLeft()
40 * @generated
41 * @ordered
42 */
43 protected Expression left;
44
45 /**
46 * The default 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 static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
54
55 /**
56 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getOp()
60 * @generated
61 * @ordered
62 */
63 protected BinaryOperator op = OP_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getRight()
70 * @generated
71 * @ordered
72 */
73 protected Expression right;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected ComparisonImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return SolverLanguagePackage.Literals.COMPARISON;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Expression getLeft() {
101 return left;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) {
110 Expression oldLeft = left;
111 left = newLeft;
112 if (eNotificationRequired()) {
113 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft);
114 if (msgs == null) msgs = notification; else msgs.add(notification);
115 }
116 return msgs;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void setLeft(Expression newLeft) {
126 if (newLeft != left) {
127 NotificationChain msgs = null;
128 if (left != null)
129 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
130 if (newLeft != null)
131 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
132 msgs = basicSetLeft(newLeft, msgs);
133 if (msgs != null) msgs.dispatch();
134 }
135 else if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public BinaryOperator getOp() {
146 return op;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void setOp(BinaryOperator newOp) {
156 BinaryOperator oldOp = op;
157 op = newOp == null ? OP_EDEFAULT : newOp;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public Expression getRight() {
169 return right;
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) {
178 Expression oldRight = right;
179 right = newRight;
180 if (eNotificationRequired()) {
181 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight);
182 if (msgs == null) msgs = notification; else msgs.add(notification);
183 }
184 return msgs;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void setRight(Expression newRight) {
194 if (newRight != right) {
195 NotificationChain msgs = null;
196 if (right != null)
197 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
198 if (newRight != null)
199 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
200 msgs = basicSetRight(newRight, msgs);
201 if (msgs != null) msgs.dispatch();
202 }
203 else if (eNotificationRequired())
204 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight));
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
214 switch (featureID) {
215 case SolverLanguagePackage.COMPARISON__LEFT:
216 return basicSetLeft(null, msgs);
217 case SolverLanguagePackage.COMPARISON__RIGHT:
218 return basicSetRight(null, msgs);
219 }
220 return super.eInverseRemove(otherEnd, featureID, msgs);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public Object eGet(int featureID, boolean resolve, boolean coreType) {
230 switch (featureID) {
231 case SolverLanguagePackage.COMPARISON__LEFT:
232 return getLeft();
233 case SolverLanguagePackage.COMPARISON__OP:
234 return getOp();
235 case SolverLanguagePackage.COMPARISON__RIGHT:
236 return getRight();
237 }
238 return super.eGet(featureID, resolve, coreType);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public void eSet(int featureID, Object newValue) {
248 switch (featureID) {
249 case SolverLanguagePackage.COMPARISON__LEFT:
250 setLeft((Expression)newValue);
251 return;
252 case SolverLanguagePackage.COMPARISON__OP:
253 setOp((BinaryOperator)newValue);
254 return;
255 case SolverLanguagePackage.COMPARISON__RIGHT:
256 setRight((Expression)newValue);
257 return;
258 }
259 super.eSet(featureID, newValue);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @Override
268 public void eUnset(int featureID) {
269 switch (featureID) {
270 case SolverLanguagePackage.COMPARISON__LEFT:
271 setLeft((Expression)null);
272 return;
273 case SolverLanguagePackage.COMPARISON__OP:
274 setOp(OP_EDEFAULT);
275 return;
276 case SolverLanguagePackage.COMPARISON__RIGHT:
277 setRight((Expression)null);
278 return;
279 }
280 super.eUnset(featureID);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public boolean eIsSet(int featureID) {
290 switch (featureID) {
291 case SolverLanguagePackage.COMPARISON__LEFT:
292 return left != null;
293 case SolverLanguagePackage.COMPARISON__OP:
294 return op != OP_EDEFAULT;
295 case SolverLanguagePackage.COMPARISON__RIGHT:
296 return right != null;
297 }
298 return super.eIsSet(featureID);
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @Override
307 public String toString() {
308 if (eIsProxy()) return super.toString();
309
310 StringBuilder result = new StringBuilder(super.toString());
311 result.append(" (op: ");
312 result.append(op);
313 result.append(')');
314 return result.toString();
315 }
316
317} //ComparisonImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
deleted file mode 100644
index cc689c0d..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
+++ /dev/null
@@ -1,152 +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 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getChildren()
41 * @generated
42 * @ordered
43 */
44 protected EList<Expression> children;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected ConjunctionImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return SolverLanguagePackage.Literals.CONJUNCTION;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 public EList<Expression> getChildren() {
72 if (children == null) {
73 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN);
74 }
75 return children;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
87 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
101 return getChildren();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
116 getChildren().clear();
117 getChildren().addAll((Collection<? extends Expression>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
132 getChildren().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
147 return children != null && !children.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //ConjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
deleted file mode 100644
index f1ad7bea..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
+++ /dev/null
@@ -1,247 +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 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getHead()
39 * @generated
40 * @ordered
41 */
42 protected Call head;
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 DefaultDefinitionImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return SolverLanguagePackage.Literals.DEFAULT_DEFINITION;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public Call getHead() {
80 return head;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs) {
89 Call oldHead = head;
90 head = newHead;
91 if (eNotificationRequired()) {
92 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead);
93 if (msgs == null) msgs = notification; else msgs.add(notification);
94 }
95 return msgs;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public void setHead(Call newHead) {
105 if (newHead != head) {
106 NotificationChain msgs = null;
107 if (head != null)
108 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
109 if (newHead != null)
110 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
111 msgs = basicSetHead(newHead, msgs);
112 if (msgs != null) msgs.dispatch();
113 }
114 else if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead));
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Expression getRange() {
125 return range;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) {
134 Expression oldRange = range;
135 range = newRange;
136 if (eNotificationRequired()) {
137 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange);
138 if (msgs == null) msgs = notification; else msgs.add(notification);
139 }
140 return msgs;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public void setRange(Expression newRange) {
150 if (newRange != range) {
151 NotificationChain msgs = null;
152 if (range != null)
153 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
154 if (newRange != null)
155 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
156 msgs = basicSetRange(newRange, msgs);
157 if (msgs != null) msgs.dispatch();
158 }
159 else if (eNotificationRequired())
160 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
172 return basicSetHead(null, msgs);
173 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
174 return basicSetRange(null, msgs);
175 }
176 return super.eInverseRemove(otherEnd, featureID, msgs);
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public Object eGet(int featureID, boolean resolve, boolean coreType) {
186 switch (featureID) {
187 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
188 return getHead();
189 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
190 return getRange();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
204 setHead((Call)newValue);
205 return;
206 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
207 setRange((Expression)newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
222 setHead((Call)null);
223 return;
224 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
225 setRange((Expression)null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
240 return head != null;
241 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
242 return range != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //DefaultDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
deleted file mode 100644
index 47dd7bcc..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
+++ /dev/null
@@ -1,152 +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 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getChildren()
41 * @generated
42 * @ordered
43 */
44 protected EList<Expression> children;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected DisjunctionImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return SolverLanguagePackage.Literals.DISJUNCTION;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 public EList<Expression> getChildren() {
72 if (children == null) {
73 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN);
74 }
75 return children;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
87 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
101 return getChildren();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
116 getChildren().clear();
117 getChildren().addAll((Collection<? extends Expression>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
132 getChildren().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
147 return children != null && !children.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //DisjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
deleted file mode 100644
index 26717519..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
+++ /dev/null
@@ -1,38 +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 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected EmptyIntervalLiteralImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL;
36 }
37
38} //EmptyIntervalLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
deleted file mode 100644
index fdeeae5e..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
+++ /dev/null
@@ -1,165 +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 * The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getMultiplicity()
34 * @generated
35 * @ordered
36 */
37 protected static final int MULTIPLICITY_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getMultiplicity()
44 * @generated
45 * @ordered
46 */
47 protected int multiplicity = MULTIPLICITY_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ExactMultiplicityImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public int getMultiplicity() {
75 return multiplicity;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setMultiplicity(int newMultiplicity) {
85 int oldMultiplicity = multiplicity;
86 multiplicity = newMultiplicity;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
100 return getMultiplicity();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
114 setMultiplicity((Integer)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
129 setMultiplicity(MULTIPLICITY_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
144 return multiplicity != MULTIPLICITY_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (multiplicity: ");
160 result.append(multiplicity);
161 result.append(')');
162 return result.toString();
163 }
164
165} //ExactMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
deleted file mode 100644
index d5a375b0..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
+++ /dev/null
@@ -1,165 +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 * The default value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getExactScope()
34 * @generated
35 * @ordered
36 */
37 protected static final int EXACT_SCOPE_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getExactScope()
44 * @generated
45 * @ordered
46 */
47 protected int exactScope = EXACT_SCOPE_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ExactScopeDefinitionImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public int getExactScope() {
75 return exactScope;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setExactScope(int newExactScope) {
85 int oldExactScope = exactScope;
86 exactScope = newExactScope;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
100 return getExactScope();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
114 setExactScope((Integer)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
129 setExactScope(EXACT_SCOPE_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
144 return exactScope != EXACT_SCOPE_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (exactScope: ");
160 result.append(exactScope);
161 result.append(')');
162 return result.toString();
163 }
164
165} //ExactScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
deleted file mode 100644
index 798b4b68..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
+++ /dev/null
@@ -1,178 +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 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getBody()
37 * @generated
38 * @ordered
39 */
40 protected Expression body;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ExpressionArgumentImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 public Expression getBody() {
68 return body;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
77 Expression oldBody = body;
78 body = newBody;
79 if (eNotificationRequired()) {
80 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody);
81 if (msgs == null) msgs = notification; else msgs.add(notification);
82 }
83 return msgs;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public void setBody(Expression newBody) {
93 if (newBody != body) {
94 NotificationChain msgs = null;
95 if (body != null)
96 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
97 if (newBody != null)
98 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
99 msgs = basicSetBody(newBody, msgs);
100 if (msgs != null) msgs.dispatch();
101 }
102 else if (eNotificationRequired())
103 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody));
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
113 switch (featureID) {
114 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
115 return basicSetBody(null, msgs);
116 }
117 return super.eInverseRemove(otherEnd, featureID, msgs);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public Object eGet(int featureID, boolean resolve, boolean coreType) {
127 switch (featureID) {
128 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
129 return getBody();
130 }
131 return super.eGet(featureID, resolve, coreType);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eSet(int featureID, Object newValue) {
141 switch (featureID) {
142 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
143 setBody((Expression)newValue);
144 return;
145 }
146 super.eSet(featureID, newValue);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void eUnset(int featureID) {
156 switch (featureID) {
157 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
158 setBody((Expression)null);
159 return;
160 }
161 super.eUnset(featureID);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public boolean eIsSet(int featureID) {
171 switch (featureID) {
172 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
173 return body != null;
174 }
175 return super.eIsSet(featureID);
176 }
177
178} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
deleted file mode 100644
index 5b1c5969..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
+++ /dev/null
@@ -1,38 +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 abstract class ExpressionImpl extends StatementImpl implements Expression {
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ExpressionImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.EXPRESSION;
36 }
37
38} //ExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java
deleted file mode 100644
index 2b4efc07..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java
+++ /dev/null
@@ -1,291 +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.ExternAggregatorDefinition;
14import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Extern Aggregator 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.ExternAggregatorDefinitionImpl#getType <em>Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getName <em>Name</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getInputType <em>Input Type</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ExternAggregatorDefinitionImpl extends StatementImpl implements ExternAggregatorDefinition {
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 default value of the '{@link #getName() <em>Name</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getName()
48 * @generated
49 * @ordered
50 */
51 protected static final String NAME_EDEFAULT = null;
52
53 /**
54 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getName()
58 * @generated
59 * @ordered
60 */
61 protected String name = NAME_EDEFAULT;
62
63 /**
64 * The cached value of the '{@link #getInputType() <em>Input Type</em>}' reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getInputType()
68 * @generated
69 * @ordered
70 */
71 protected NamedElement inputType;
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 protected ExternAggregatorDefinitionImpl() {
79 super();
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 protected EClass eStaticClass() {
89 return SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public NamedElement getType() {
99 if (type != null && type.eIsProxy()) {
100 InternalEObject oldType = (InternalEObject)type;
101 type = (NamedElement)eResolveProxy(oldType);
102 if (type != oldType) {
103 if (eNotificationRequired())
104 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE, oldType, type));
105 }
106 }
107 return type;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public NamedElement basicGetType() {
116 return type;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void setType(NamedElement newType) {
126 NamedElement oldType = type;
127 type = newType;
128 if (eNotificationRequired())
129 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE, oldType, type));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public String getName() {
139 return name;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setName(String newName) {
149 String oldName = name;
150 name = newName;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME, oldName, name));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public NamedElement getInputType() {
162 if (inputType != null && inputType.eIsProxy()) {
163 InternalEObject oldInputType = (InternalEObject)inputType;
164 inputType = (NamedElement)eResolveProxy(oldInputType);
165 if (inputType != oldInputType) {
166 if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType));
168 }
169 }
170 return inputType;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public NamedElement basicGetInputType() {
179 return inputType;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void setInputType(NamedElement newInputType) {
189 NamedElement oldInputType = inputType;
190 inputType = newInputType;
191 if (eNotificationRequired())
192 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType));
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public Object eGet(int featureID, boolean resolve, boolean coreType) {
202 switch (featureID) {
203 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE:
204 if (resolve) return getType();
205 return basicGetType();
206 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME:
207 return getName();
208 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE:
209 if (resolve) return getInputType();
210 return basicGetInputType();
211 }
212 return super.eGet(featureID, resolve, coreType);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eSet(int featureID, Object newValue) {
222 switch (featureID) {
223 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE:
224 setType((NamedElement)newValue);
225 return;
226 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME:
227 setName((String)newValue);
228 return;
229 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE:
230 setInputType((NamedElement)newValue);
231 return;
232 }
233 super.eSet(featureID, newValue);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public void eUnset(int featureID) {
243 switch (featureID) {
244 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE:
245 setType((NamedElement)null);
246 return;
247 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME:
248 setName(NAME_EDEFAULT);
249 return;
250 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE:
251 setInputType((NamedElement)null);
252 return;
253 }
254 super.eUnset(featureID);
255 }
256
257 /**
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 */
262 @Override
263 public boolean eIsSet(int featureID) {
264 switch (featureID) {
265 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE:
266 return type != null;
267 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME:
268 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
269 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE:
270 return inputType != null;
271 }
272 return super.eIsSet(featureID);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public String toString() {
282 if (eIsProxy()) return super.toString();
283
284 StringBuilder result = new StringBuilder(super.toString());
285 result.append(" (name: ");
286 result.append(name);
287 result.append(')');
288 return result.toString();
289 }
290
291} //ExternAggregatorDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java
deleted file mode 100644
index d186fb95..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java
+++ /dev/null
@@ -1,208 +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;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16import org.eclipse.emf.ecore.util.EObjectResolvingEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition;
19import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Extern Datatype Definition</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.ExternDatatypeDefinitionImpl#getName <em>Name</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl#getSupertypes <em>Supertypes</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class ExternDatatypeDefinitionImpl extends StatementImpl implements ExternDatatypeDefinition {
37 /**
38 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getName()
42 * @generated
43 * @ordered
44 */
45 protected static final String NAME_EDEFAULT = null;
46
47 /**
48 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getName()
52 * @generated
53 * @ordered
54 */
55 protected String name = NAME_EDEFAULT;
56
57 /**
58 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' reference list.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getSupertypes()
62 * @generated
63 * @ordered
64 */
65 protected EList<NamedElement> supertypes;
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 protected ExternDatatypeDefinitionImpl() {
73 super();
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 protected EClass eStaticClass() {
83 return SolverLanguagePackage.Literals.EXTERN_DATATYPE_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public String getName() {
93 return name;
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public void setName(String newName) {
103 String oldName = name;
104 name = newName;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME, oldName, name));
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public EList<NamedElement> getSupertypes() {
116 if (supertypes == null) {
117 supertypes = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES);
118 }
119 return supertypes;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Object eGet(int featureID, boolean resolve, boolean coreType) {
129 switch (featureID) {
130 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME:
131 return getName();
132 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES:
133 return getSupertypes();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @SuppressWarnings("unchecked")
144 @Override
145 public void eSet(int featureID, Object newValue) {
146 switch (featureID) {
147 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME:
148 setName((String)newValue);
149 return;
150 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES:
151 getSupertypes().clear();
152 getSupertypes().addAll((Collection<? extends NamedElement>)newValue);
153 return;
154 }
155 super.eSet(featureID, newValue);
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void eUnset(int featureID) {
165 switch (featureID) {
166 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME:
167 setName(NAME_EDEFAULT);
168 return;
169 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES:
170 getSupertypes().clear();
171 return;
172 }
173 super.eUnset(featureID);
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public boolean eIsSet(int featureID) {
183 switch (featureID) {
184 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME:
185 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
186 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES:
187 return supertypes != null && !supertypes.isEmpty();
188 }
189 return super.eIsSet(featureID);
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public String toString() {
199 if (eIsProxy()) return super.toString();
200
201 StringBuilder result = new StringBuilder(super.toString());
202 result.append(" (name: ");
203 result.append(name);
204 result.append(')');
205 return result.toString();
206 }
207
208} //ExternDatatypeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
deleted file mode 100644
index 97c76273..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
+++ /dev/null
@@ -1,311 +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.ExternMetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
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#getName <em>Name</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getArgumentList <em>Argument List</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition {
35 /**
36 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getType()
40 * @generated
41 * @ordered
42 */
43 protected NamedElement type;
44
45 /**
46 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getName()
50 * @generated
51 * @ordered
52 */
53 protected static final String NAME_EDEFAULT = null;
54
55 /**
56 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getName()
60 * @generated
61 * @ordered
62 */
63 protected String name = NAME_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getArgumentList()
70 * @generated
71 * @ordered
72 */
73 protected ArgumentList argumentList;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected ExternMetricDefinitionImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public NamedElement getType() {
101 if (type != null && type.eIsProxy()) {
102 InternalEObject oldType = (InternalEObject)type;
103 type = (NamedElement)eResolveProxy(oldType);
104 if (type != oldType) {
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type));
107 }
108 }
109 return type;
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 public NamedElement basicGetType() {
118 return type;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void setType(NamedElement newType) {
128 NamedElement oldType = type;
129 type = newType;
130 if (eNotificationRequired())
131 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public String getName() {
141 return name;
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public void setName(String newName) {
151 String oldName = name;
152 name = newName;
153 if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME, oldName, name));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public ArgumentList getArgumentList() {
164 return argumentList;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
173 ArgumentList oldArgumentList = argumentList;
174 argumentList = newArgumentList;
175 if (eNotificationRequired()) {
176 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
177 if (msgs == null) msgs = notification; else msgs.add(notification);
178 }
179 return msgs;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void setArgumentList(ArgumentList newArgumentList) {
189 if (newArgumentList != argumentList) {
190 NotificationChain msgs = null;
191 if (argumentList != null)
192 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs);
193 if (newArgumentList != null)
194 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs);
195 msgs = basicSetArgumentList(newArgumentList, msgs);
196 if (msgs != null) msgs.dispatch();
197 }
198 else if (eNotificationRequired())
199 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
209 switch (featureID) {
210 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST:
211 return basicSetArgumentList(null, msgs);
212 }
213 return super.eInverseRemove(otherEnd, featureID, msgs);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public Object eGet(int featureID, boolean resolve, boolean coreType) {
223 switch (featureID) {
224 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
225 if (resolve) return getType();
226 return basicGetType();
227 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME:
228 return getName();
229 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST:
230 return getArgumentList();
231 }
232 return super.eGet(featureID, resolve, coreType);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public void eSet(int featureID, Object newValue) {
242 switch (featureID) {
243 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
244 setType((NamedElement)newValue);
245 return;
246 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME:
247 setName((String)newValue);
248 return;
249 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST:
250 setArgumentList((ArgumentList)newValue);
251 return;
252 }
253 super.eSet(featureID, newValue);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public void eUnset(int featureID) {
263 switch (featureID) {
264 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
265 setType((NamedElement)null);
266 return;
267 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME:
268 setName(NAME_EDEFAULT);
269 return;
270 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST:
271 setArgumentList((ArgumentList)null);
272 return;
273 }
274 super.eUnset(featureID);
275 }
276
277 /**
278 * <!-- begin-user-doc -->
279 * <!-- end-user-doc -->
280 * @generated
281 */
282 @Override
283 public boolean eIsSet(int featureID) {
284 switch (featureID) {
285 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
286 return type != null;
287 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME:
288 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
289 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST:
290 return argumentList != null;
291 }
292 return super.eIsSet(featureID);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public String toString() {
302 if (eIsProxy()) return super.toString();
303
304 StringBuilder result = new StringBuilder(super.toString());
305 result.append(" (name: ");
306 result.append(name);
307 result.append(')');
308 return result.toString();
309 }
310
311} //ExternMetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
deleted file mode 100644
index e59fa4e3..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
+++ /dev/null
@@ -1,248 +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.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#getName <em>Name</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getArgumentList <em>Argument List</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition {
33 /**
34 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getName()
38 * @generated
39 * @ordered
40 */
41 protected static final String NAME_EDEFAULT = null;
42
43 /**
44 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getName()
48 * @generated
49 * @ordered
50 */
51 protected String name = NAME_EDEFAULT;
52
53 /**
54 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getArgumentList()
58 * @generated
59 * @ordered
60 */
61 protected ArgumentList argumentList;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected ExternPredicateDefinitionImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public String getName() {
89 return name;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setName(String newName) {
99 String oldName = name;
100 name = newName;
101 if (eNotificationRequired())
102 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME, oldName, name));
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public ArgumentList getArgumentList() {
112 return argumentList;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
121 ArgumentList oldArgumentList = argumentList;
122 argumentList = newArgumentList;
123 if (eNotificationRequired()) {
124 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
125 if (msgs == null) msgs = notification; else msgs.add(notification);
126 }
127 return msgs;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void setArgumentList(ArgumentList newArgumentList) {
137 if (newArgumentList != argumentList) {
138 NotificationChain msgs = null;
139 if (argumentList != null)
140 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs);
141 if (newArgumentList != null)
142 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs);
143 msgs = basicSetArgumentList(newArgumentList, msgs);
144 if (msgs != null) msgs.dispatch();
145 }
146 else if (eNotificationRequired())
147 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
157 switch (featureID) {
158 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST:
159 return basicSetArgumentList(null, msgs);
160 }
161 return super.eInverseRemove(otherEnd, featureID, msgs);
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 switch (featureID) {
172 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME:
173 return getName();
174 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST:
175 return getArgumentList();
176 }
177 return super.eGet(featureID, resolve, coreType);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eSet(int featureID, Object newValue) {
187 switch (featureID) {
188 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME:
189 setName((String)newValue);
190 return;
191 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST:
192 setArgumentList((ArgumentList)newValue);
193 return;
194 }
195 super.eSet(featureID, newValue);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public void eUnset(int featureID) {
205 switch (featureID) {
206 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME:
207 setName(NAME_EDEFAULT);
208 return;
209 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST:
210 setArgumentList((ArgumentList)null);
211 return;
212 }
213 super.eUnset(featureID);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public boolean eIsSet(int featureID) {
223 switch (featureID) {
224 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME:
225 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
226 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST:
227 return argumentList != null;
228 }
229 return super.eIsSet(featureID);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public String toString() {
239 if (eIsProxy()) return super.toString();
240
241 StringBuilder result = new StringBuilder(super.toString());
242 result.append(" (name: ");
243 result.append(name);
244 result.append(')');
245 return result.toString();
246 }
247
248} //ExternPredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java
deleted file mode 100644
index 73bbc04f..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java
+++ /dev/null
@@ -1,134 +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.util.EList;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.util.EObjectResolvingEList;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Functor;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Variable;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Functor</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.FunctorImpl#getParameters <em>Parameters</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class FunctorImpl extends NamedElementImpl implements Functor {
32 /**
33 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' reference list.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getParameters()
37 * @generated
38 * @ordered
39 */
40 protected EList<Variable> parameters;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected FunctorImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return SolverLanguagePackage.Literals.FUNCTOR;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 public EList<Variable> getParameters() {
68 if (parameters == null) {
69 parameters = new EObjectResolvingEList<Variable>(Variable.class, this, SolverLanguagePackage.FUNCTOR__PARAMETERS);
70 }
71 return parameters;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public Object eGet(int featureID, boolean resolve, boolean coreType) {
81 switch (featureID) {
82 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
83 return getParameters();
84 }
85 return super.eGet(featureID, resolve, coreType);
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @SuppressWarnings("unchecked")
94 @Override
95 public void eSet(int featureID, Object newValue) {
96 switch (featureID) {
97 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
98 getParameters().clear();
99 getParameters().addAll((Collection<? extends Variable>)newValue);
100 return;
101 }
102 super.eSet(featureID, newValue);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eUnset(int featureID) {
112 switch (featureID) {
113 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
114 getParameters().clear();
115 return;
116 }
117 super.eUnset(featureID);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public boolean eIsSet(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.FUNCTOR__PARAMETERS:
129 return parameters != null && !parameters.isEmpty();
130 }
131 return super.eIsSet(featureID);
132 }
133
134} //FunctorImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
deleted file mode 100644
index 3c6bb17a..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
+++ /dev/null
@@ -1,314 +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#getThen <em>Then</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse <em>Else</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition <em>Condition</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class IfElseImpl extends ExpressionImpl implements IfElse {
34 /**
35 * The cached value of the '{@link #getThen() <em>Then</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getThen()
39 * @generated
40 * @ordered
41 */
42 protected Expression then;
43
44 /**
45 * The cached value of the '{@link #getElse() <em>Else</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getElse()
49 * @generated
50 * @ordered
51 */
52 protected Expression else_;
53
54 /**
55 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getCondition()
59 * @generated
60 * @ordered
61 */
62 protected Expression condition;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 protected IfElseImpl() {
70 super();
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 protected EClass eStaticClass() {
80 return SolverLanguagePackage.Literals.IF_ELSE;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public Expression getThen() {
90 return then;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs) {
99 Expression oldThen = then;
100 then = newThen;
101 if (eNotificationRequired()) {
102 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen);
103 if (msgs == null) msgs = notification; else msgs.add(notification);
104 }
105 return msgs;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public void setThen(Expression newThen) {
115 if (newThen != then) {
116 NotificationChain msgs = null;
117 if (then != null)
118 msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
119 if (newThen != null)
120 msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
121 msgs = basicSetThen(newThen, msgs);
122 if (msgs != null) msgs.dispatch();
123 }
124 else if (eNotificationRequired())
125 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen));
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public Expression getElse() {
135 return else_;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs) {
144 Expression oldElse = else_;
145 else_ = newElse;
146 if (eNotificationRequired()) {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse);
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 setElse(Expression newElse) {
160 if (newElse != else_) {
161 NotificationChain msgs = null;
162 if (else_ != null)
163 msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
164 if (newElse != null)
165 msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
166 msgs = basicSetElse(newElse, msgs);
167 if (msgs != null) msgs.dispatch();
168 }
169 else if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse));
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Expression getCondition() {
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 Expression oldCondition = condition;
190 condition = newCondition;
191 if (eNotificationRequired()) {
192 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition);
193 if (msgs == null) msgs = notification; else msgs.add(notification);
194 }
195 return msgs;
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public void setCondition(Expression newCondition) {
205 if (newCondition != condition) {
206 NotificationChain msgs = null;
207 if (condition != null)
208 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
209 if (newCondition != null)
210 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
211 msgs = basicSetCondition(newCondition, msgs);
212 if (msgs != null) msgs.dispatch();
213 }
214 else if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition));
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
225 switch (featureID) {
226 case SolverLanguagePackage.IF_ELSE__THEN:
227 return basicSetThen(null, msgs);
228 case SolverLanguagePackage.IF_ELSE__ELSE:
229 return basicSetElse(null, msgs);
230 case SolverLanguagePackage.IF_ELSE__CONDITION:
231 return basicSetCondition(null, msgs);
232 }
233 return super.eInverseRemove(otherEnd, featureID, msgs);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public Object eGet(int featureID, boolean resolve, boolean coreType) {
243 switch (featureID) {
244 case SolverLanguagePackage.IF_ELSE__THEN:
245 return getThen();
246 case SolverLanguagePackage.IF_ELSE__ELSE:
247 return getElse();
248 case SolverLanguagePackage.IF_ELSE__CONDITION:
249 return getCondition();
250 }
251 return super.eGet(featureID, resolve, coreType);
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public void eSet(int featureID, Object newValue) {
261 switch (featureID) {
262 case SolverLanguagePackage.IF_ELSE__THEN:
263 setThen((Expression)newValue);
264 return;
265 case SolverLanguagePackage.IF_ELSE__ELSE:
266 setElse((Expression)newValue);
267 return;
268 case SolverLanguagePackage.IF_ELSE__CONDITION:
269 setCondition((Expression)newValue);
270 return;
271 }
272 super.eSet(featureID, newValue);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public void eUnset(int featureID) {
282 switch (featureID) {
283 case SolverLanguagePackage.IF_ELSE__THEN:
284 setThen((Expression)null);
285 return;
286 case SolverLanguagePackage.IF_ELSE__ELSE:
287 setElse((Expression)null);
288 return;
289 case SolverLanguagePackage.IF_ELSE__CONDITION:
290 setCondition((Expression)null);
291 return;
292 }
293 super.eUnset(featureID);
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 @Override
302 public boolean eIsSet(int featureID) {
303 switch (featureID) {
304 case SolverLanguagePackage.IF_ELSE__THEN:
305 return then != null;
306 case SolverLanguagePackage.IF_ELSE__ELSE:
307 return else_ != null;
308 case SolverLanguagePackage.IF_ELSE__CONDITION:
309 return condition != null;
310 }
311 return super.eIsSet(featureID);
312 }
313
314} //IfElseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
deleted file mode 100644
index 348f51df..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
+++ /dev/null
@@ -1,38 +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 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected InfinityLiteralImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
36 }
37
38} //InfinityLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
deleted file mode 100644
index fab8335a..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
+++ /dev/null
@@ -1,246 +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.Interpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Interpretation</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.InterpretationImpl#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl#getRange <em>Range</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class InterpretationImpl extends StatementImpl implements Interpretation {
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 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getRange()
48 * @generated
49 * @ordered
50 */
51 protected Expression range;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected InterpretationImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.INTERPRETATION;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public Expression getBody() {
79 return body;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
88 Expression oldBody = body;
89 body = newBody;
90 if (eNotificationRequired()) {
91 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__BODY, oldBody, newBody);
92 if (msgs == null) msgs = notification; else msgs.add(notification);
93 }
94 return msgs;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setBody(Expression newBody) {
104 if (newBody != body) {
105 NotificationChain msgs = null;
106 if (body != null)
107 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__BODY, null, msgs);
108 if (newBody != null)
109 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__BODY, null, msgs);
110 msgs = basicSetBody(newBody, msgs);
111 if (msgs != null) msgs.dispatch();
112 }
113 else if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__BODY, newBody, newBody));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getRange() {
124 return range;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) {
133 Expression oldRange = range;
134 range = newRange;
135 if (eNotificationRequired()) {
136 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__RANGE, oldRange, newRange);
137 if (msgs == null) msgs = notification; else msgs.add(notification);
138 }
139 return msgs;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setRange(Expression newRange) {
149 if (newRange != range) {
150 NotificationChain msgs = null;
151 if (range != null)
152 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__RANGE, null, msgs);
153 if (newRange != null)
154 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__RANGE, null, msgs);
155 msgs = basicSetRange(newRange, msgs);
156 if (msgs != null) msgs.dispatch();
157 }
158 else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__RANGE, newRange, newRange));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
169 switch (featureID) {
170 case SolverLanguagePackage.INTERPRETATION__BODY:
171 return basicSetBody(null, msgs);
172 case SolverLanguagePackage.INTERPRETATION__RANGE:
173 return basicSetRange(null, msgs);
174 }
175 return super.eInverseRemove(otherEnd, featureID, msgs);
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public Object eGet(int featureID, boolean resolve, boolean coreType) {
185 switch (featureID) {
186 case SolverLanguagePackage.INTERPRETATION__BODY:
187 return getBody();
188 case SolverLanguagePackage.INTERPRETATION__RANGE:
189 return getRange();
190 }
191 return super.eGet(featureID, resolve, coreType);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case SolverLanguagePackage.INTERPRETATION__BODY:
203 setBody((Expression)newValue);
204 return;
205 case SolverLanguagePackage.INTERPRETATION__RANGE:
206 setRange((Expression)newValue);
207 return;
208 }
209 super.eSet(featureID, newValue);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eUnset(int featureID) {
219 switch (featureID) {
220 case SolverLanguagePackage.INTERPRETATION__BODY:
221 setBody((Expression)null);
222 return;
223 case SolverLanguagePackage.INTERPRETATION__RANGE:
224 setRange((Expression)null);
225 return;
226 }
227 super.eUnset(featureID);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public boolean eIsSet(int featureID) {
237 switch (featureID) {
238 case SolverLanguagePackage.INTERPRETATION__BODY:
239 return body != null;
240 case SolverLanguagePackage.INTERPRETATION__RANGE:
241 return range != null;
242 }
243 return super.eIsSet(featureID);
244 }
245
246} //InterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
deleted file mode 100644
index a04dae76..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
+++ /dev/null
@@ -1,246 +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 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getLowerBound()
38 * @generated
39 * @ordered
40 */
41 protected Expression lowerBound;
42
43 /**
44 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getUpperBound()
48 * @generated
49 * @ordered
50 */
51 protected Expression upperBound;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected IntervalImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SolverLanguagePackage.Literals.INTERVAL;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public Expression getLowerBound() {
79 return lowerBound;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs) {
88 Expression oldLowerBound = lowerBound;
89 lowerBound = newLowerBound;
90 if (eNotificationRequired()) {
91 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound);
92 if (msgs == null) msgs = notification; else msgs.add(notification);
93 }
94 return msgs;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setLowerBound(Expression newLowerBound) {
104 if (newLowerBound != lowerBound) {
105 NotificationChain msgs = null;
106 if (lowerBound != null)
107 msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
108 if (newLowerBound != null)
109 msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
110 msgs = basicSetLowerBound(newLowerBound, msgs);
111 if (msgs != null) msgs.dispatch();
112 }
113 else if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getUpperBound() {
124 return upperBound;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs) {
133 Expression oldUpperBound = upperBound;
134 upperBound = newUpperBound;
135 if (eNotificationRequired()) {
136 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound);
137 if (msgs == null) msgs = notification; else msgs.add(notification);
138 }
139 return msgs;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setUpperBound(Expression newUpperBound) {
149 if (newUpperBound != upperBound) {
150 NotificationChain msgs = null;
151 if (upperBound != null)
152 msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
153 if (newUpperBound != null)
154 msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
155 msgs = basicSetUpperBound(newUpperBound, msgs);
156 if (msgs != null) msgs.dispatch();
157 }
158 else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
169 switch (featureID) {
170 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
171 return basicSetLowerBound(null, msgs);
172 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
173 return basicSetUpperBound(null, msgs);
174 }
175 return super.eInverseRemove(otherEnd, featureID, msgs);
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public Object eGet(int featureID, boolean resolve, boolean coreType) {
185 switch (featureID) {
186 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
187 return getLowerBound();
188 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
189 return getUpperBound();
190 }
191 return super.eGet(featureID, resolve, coreType);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
203 setLowerBound((Expression)newValue);
204 return;
205 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
206 setUpperBound((Expression)newValue);
207 return;
208 }
209 super.eSet(featureID, newValue);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eUnset(int featureID) {
219 switch (featureID) {
220 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
221 setLowerBound((Expression)null);
222 return;
223 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
224 setUpperBound((Expression)null);
225 return;
226 }
227 super.eUnset(featureID);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public boolean eIsSet(int featureID) {
237 switch (featureID) {
238 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
239 return lowerBound != null;
240 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
241 return upperBound != null;
242 }
243 return super.eIsSet(featureID);
244 }
245
246} //IntervalImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java
deleted file mode 100644
index 9788c44d..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java
+++ /dev/null
@@ -1,248 +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.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
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>Let Binding</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.LetBindingImpl#getVariable <em>Variable</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getValue <em>Value</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class LetBindingImpl extends MinimalEObjectImpl.Container implements LetBinding {
35 /**
36 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getVariable()
40 * @generated
41 * @ordered
42 */
43 protected NamedElement variable;
44
45 /**
46 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getValue()
50 * @generated
51 * @ordered
52 */
53 protected Expression value;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected LetBindingImpl() {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass() {
71 return SolverLanguagePackage.Literals.LET_BINDING;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public NamedElement getVariable() {
81 return variable;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NotificationChain basicSetVariable(NamedElement newVariable, NotificationChain msgs) {
90 NamedElement oldVariable = variable;
91 variable = newVariable;
92 if (eNotificationRequired()) {
93 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, oldVariable, newVariable);
94 if (msgs == null) msgs = notification; else msgs.add(notification);
95 }
96 return msgs;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setVariable(NamedElement newVariable) {
106 if (newVariable != variable) {
107 NotificationChain msgs = null;
108 if (variable != null)
109 msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs);
110 if (newVariable != null)
111 msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs);
112 msgs = basicSetVariable(newVariable, msgs);
113 if (msgs != null) msgs.dispatch();
114 }
115 else if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, newVariable, newVariable));
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public Expression getValue() {
126 return value;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) {
135 Expression oldValue = value;
136 value = newValue;
137 if (eNotificationRequired()) {
138 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, oldValue, newValue);
139 if (msgs == null) msgs = notification; else msgs.add(notification);
140 }
141 return msgs;
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public void setValue(Expression newValue) {
151 if (newValue != value) {
152 NotificationChain msgs = null;
153 if (value != null)
154 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs);
155 if (newValue != null)
156 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs);
157 msgs = basicSetValue(newValue, msgs);
158 if (msgs != null) msgs.dispatch();
159 }
160 else if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, newValue, newValue));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
171 switch (featureID) {
172 case SolverLanguagePackage.LET_BINDING__VARIABLE:
173 return basicSetVariable(null, msgs);
174 case SolverLanguagePackage.LET_BINDING__VALUE:
175 return basicSetValue(null, msgs);
176 }
177 return super.eInverseRemove(otherEnd, featureID, msgs);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public Object eGet(int featureID, boolean resolve, boolean coreType) {
187 switch (featureID) {
188 case SolverLanguagePackage.LET_BINDING__VARIABLE:
189 return getVariable();
190 case SolverLanguagePackage.LET_BINDING__VALUE:
191 return getValue();
192 }
193 return super.eGet(featureID, resolve, coreType);
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public void eSet(int featureID, Object newValue) {
203 switch (featureID) {
204 case SolverLanguagePackage.LET_BINDING__VARIABLE:
205 setVariable((NamedElement)newValue);
206 return;
207 case SolverLanguagePackage.LET_BINDING__VALUE:
208 setValue((Expression)newValue);
209 return;
210 }
211 super.eSet(featureID, newValue);
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void eUnset(int featureID) {
221 switch (featureID) {
222 case SolverLanguagePackage.LET_BINDING__VARIABLE:
223 setVariable((NamedElement)null);
224 return;
225 case SolverLanguagePackage.LET_BINDING__VALUE:
226 setValue((Expression)null);
227 return;
228 }
229 super.eUnset(featureID);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public boolean eIsSet(int featureID) {
239 switch (featureID) {
240 case SolverLanguagePackage.LET_BINDING__VARIABLE:
241 return variable != null;
242 case SolverLanguagePackage.LET_BINDING__VALUE:
243 return value != null;
244 }
245 return super.eIsSet(featureID);
246 }
247
248} //LetBindingImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java
deleted file mode 100644
index 841c74c7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java
+++ /dev/null
@@ -1,224 +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.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.Expression;
22import org.eclipse.viatra.solver.language.solverLanguage.Let;
23import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Let</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBindings <em>Bindings</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBody <em>Body</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class LetImpl extends ExpressionImpl implements Let {
41 /**
42 * The cached value of the '{@link #getBindings() <em>Bindings</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getBindings()
46 * @generated
47 * @ordered
48 */
49 protected EList<LetBinding> bindings;
50
51 /**
52 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getBody()
56 * @generated
57 * @ordered
58 */
59 protected Expression body;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected LetImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return SolverLanguagePackage.Literals.LET;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public EList<LetBinding> getBindings() {
87 if (bindings == null) {
88 bindings = new EObjectContainmentEList<LetBinding>(LetBinding.class, this, SolverLanguagePackage.LET__BINDINGS);
89 }
90 return bindings;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Expression getBody() {
100 return body;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
109 Expression oldBody = body;
110 body = newBody;
111 if (eNotificationRequired()) {
112 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET__BODY, oldBody, newBody);
113 if (msgs == null) msgs = notification; else msgs.add(notification);
114 }
115 return msgs;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void setBody(Expression newBody) {
125 if (newBody != body) {
126 NotificationChain msgs = null;
127 if (body != null)
128 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET__BODY, null, msgs);
129 if (newBody != null)
130 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET__BODY, null, msgs);
131 msgs = basicSetBody(newBody, msgs);
132 if (msgs != null) msgs.dispatch();
133 }
134 else if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET__BODY, newBody, newBody));
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145 switch (featureID) {
146 case SolverLanguagePackage.LET__BINDINGS:
147 return ((InternalEList<?>)getBindings()).basicRemove(otherEnd, msgs);
148 case SolverLanguagePackage.LET__BODY:
149 return basicSetBody(null, msgs);
150 }
151 return super.eInverseRemove(otherEnd, featureID, msgs);
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public Object eGet(int featureID, boolean resolve, boolean coreType) {
161 switch (featureID) {
162 case SolverLanguagePackage.LET__BINDINGS:
163 return getBindings();
164 case SolverLanguagePackage.LET__BODY:
165 return getBody();
166 }
167 return super.eGet(featureID, resolve, coreType);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @SuppressWarnings("unchecked")
176 @Override
177 public void eSet(int featureID, Object newValue) {
178 switch (featureID) {
179 case SolverLanguagePackage.LET__BINDINGS:
180 getBindings().clear();
181 getBindings().addAll((Collection<? extends LetBinding>)newValue);
182 return;
183 case SolverLanguagePackage.LET__BODY:
184 setBody((Expression)newValue);
185 return;
186 }
187 super.eSet(featureID, newValue);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public void eUnset(int featureID) {
197 switch (featureID) {
198 case SolverLanguagePackage.LET__BINDINGS:
199 getBindings().clear();
200 return;
201 case SolverLanguagePackage.LET__BODY:
202 setBody((Expression)null);
203 return;
204 }
205 super.eUnset(featureID);
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public boolean eIsSet(int featureID) {
215 switch (featureID) {
216 case SolverLanguagePackage.LET__BINDINGS:
217 return bindings != null && !bindings.isEmpty();
218 case SolverLanguagePackage.LET__BODY:
219 return body != null;
220 }
221 return super.eIsSet(featureID);
222 }
223
224} //LetImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
deleted file mode 100644
index 671fa305..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
+++ /dev/null
@@ -1,38 +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 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected LiteralImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.LITERAL;
36 }
37
38} //LiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java
deleted file mode 100644
index e34a61c6..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java
+++ /dev/null
@@ -1,154 +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.LocalVariables;
21import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Local Variables</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.LocalVariablesImpl#getVariables <em>Variables</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class LocalVariablesImpl extends MinimalEObjectImpl.Container implements LocalVariables {
38 /**
39 * The cached value of the '{@link #getVariables() <em>Variables</em>}' containment reference list.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getVariables()
43 * @generated
44 * @ordered
45 */
46 protected EList<NamedElement> variables;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected LocalVariablesImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.LOCAL_VARIABLES;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public EList<NamedElement> getVariables() {
74 if (variables == null) {
75 variables = new EObjectContainmentEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES);
76 }
77 return variables;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
87 switch (featureID) {
88 case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES:
89 return ((InternalEList<?>)getVariables()).basicRemove(otherEnd, msgs);
90 }
91 return super.eInverseRemove(otherEnd, featureID, msgs);
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType) {
101 switch (featureID) {
102 case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES:
103 return getVariables();
104 }
105 return super.eGet(featureID, resolve, coreType);
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @SuppressWarnings("unchecked")
114 @Override
115 public void eSet(int featureID, Object newValue) {
116 switch (featureID) {
117 case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES:
118 getVariables().clear();
119 getVariables().addAll((Collection<? extends NamedElement>)newValue);
120 return;
121 }
122 super.eSet(featureID, newValue);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eUnset(int featureID) {
132 switch (featureID) {
133 case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES:
134 getVariables().clear();
135 return;
136 }
137 super.eUnset(featureID);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public boolean eIsSet(int featureID) {
147 switch (featureID) {
148 case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES:
149 return variables != null && !variables.isEmpty();
150 }
151 return super.eIsSet(featureID);
152 }
153
154} //LocalVariablesImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
deleted file mode 100644
index 602edee1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
+++ /dev/null
@@ -1,166 +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 * 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 LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
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 LogicValue value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected LogicLiteralImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass() {
66 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 public LogicValue getValue() {
76 return value;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public void setValue(LogicValue newValue) {
86 LogicValue oldValue = value;
87 value = newValue == null ? VALUE_EDEFAULT : newValue;
88 if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value));
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
101 return getValue();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
115 setValue((LogicValue)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
130 setValue(VALUE_EDEFAULT);
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
145 return value != VALUE_EDEFAULT;
146 }
147 return super.eIsSet(featureID);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public String toString() {
157 if (eIsProxy()) return super.toString();
158
159 StringBuilder result = new StringBuilder(super.toString());
160 result.append(" (value: ");
161 result.append(value);
162 result.append(')');
163 return result.toString();
164 }
165
166} //LogicLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
deleted file mode 100644
index 0e33864d..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,165 +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 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getLowerBound()
34 * @generated
35 * @ordered
36 */
37 protected static final int LOWER_BOUND_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getLowerBound()
44 * @generated
45 * @ordered
46 */
47 protected int lowerBound = LOWER_BOUND_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected LowerBoundedScopeDefinitionImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public int getLowerBound() {
75 return lowerBound;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setLowerBound(int newLowerBound) {
85 int oldLowerBound = lowerBound;
86 lowerBound = newLowerBound;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
100 return getLowerBound();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
114 setLowerBound((Integer)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
129 setLowerBound(LOWER_BOUND_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
144 return lowerBound != LOWER_BOUND_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (lowerBound: ");
160 result.append(lowerBound);
161 result.append(')');
162 return result.toString();
163 }
164
165} //LowerBoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
deleted file mode 100644
index 20a59027..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
+++ /dev/null
@@ -1,38 +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 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ManyMultiplicityImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY;
36 }
37
38} //ManyMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
deleted file mode 100644
index f632faa4..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
+++ /dev/null
@@ -1,430 +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 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isContainment()
43 * @generated
44 * @ordered
45 */
46 protected static final boolean CONTAINMENT_EDEFAULT = false;
47
48 /**
49 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #isContainment()
53 * @generated
54 * @ordered
55 */
56 protected boolean containment = CONTAINMENT_EDEFAULT;
57
58 /**
59 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #getType()
63 * @generated
64 * @ordered
65 */
66 protected NamedElement type;
67
68 /**
69 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #getMultiplicity()
73 * @generated
74 * @ordered
75 */
76 protected Multiplicity multiplicity;
77
78 /**
79 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @see #getName()
83 * @generated
84 * @ordered
85 */
86 protected static final String NAME_EDEFAULT = null;
87
88 /**
89 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see #getName()
93 * @generated
94 * @ordered
95 */
96 protected String name = NAME_EDEFAULT;
97
98 /**
99 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @see #getOpposite()
103 * @generated
104 * @ordered
105 */
106 protected NamedElement opposite;
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 protected MemberDefinitionImpl() {
114 super();
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 protected EClass eStaticClass() {
124 return SolverLanguagePackage.Literals.MEMBER_DEFINITION;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public boolean isContainment() {
134 return containment;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void setContainment(boolean newContainment) {
144 boolean oldContainment = containment;
145 containment = newContainment;
146 if (eNotificationRequired())
147 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment));
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public NamedElement getType() {
157 if (type != null && type.eIsProxy()) {
158 InternalEObject oldType = (InternalEObject)type;
159 type = (NamedElement)eResolveProxy(oldType);
160 if (type != oldType) {
161 if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
163 }
164 }
165 return type;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 public NamedElement basicGetType() {
174 return type;
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public void setType(NamedElement newType) {
184 NamedElement oldType = type;
185 type = newType;
186 if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public Multiplicity getMultiplicity() {
197 return multiplicity;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
206 Multiplicity oldMultiplicity = multiplicity;
207 multiplicity = newMultiplicity;
208 if (eNotificationRequired()) {
209 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
210 if (msgs == null) msgs = notification; else msgs.add(notification);
211 }
212 return msgs;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void setMultiplicity(Multiplicity newMultiplicity) {
222 if (newMultiplicity != multiplicity) {
223 NotificationChain msgs = null;
224 if (multiplicity != null)
225 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
226 if (newMultiplicity != null)
227 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
228 msgs = basicSetMultiplicity(newMultiplicity, msgs);
229 if (msgs != null) msgs.dispatch();
230 }
231 else if (eNotificationRequired())
232 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity));
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public String getName() {
242 return name;
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public void setName(String newName) {
252 String oldName = name;
253 name = newName;
254 if (eNotificationRequired())
255 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name));
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 @Override
264 public NamedElement getOpposite() {
265 if (opposite != null && opposite.eIsProxy()) {
266 InternalEObject oldOpposite = (InternalEObject)opposite;
267 opposite = (NamedElement)eResolveProxy(oldOpposite);
268 if (opposite != oldOpposite) {
269 if (eNotificationRequired())
270 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
271 }
272 }
273 return opposite;
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 public NamedElement basicGetOpposite() {
282 return opposite;
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public void setOpposite(NamedElement newOpposite) {
292 NamedElement oldOpposite = opposite;
293 opposite = newOpposite;
294 if (eNotificationRequired())
295 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 @Override
304 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
305 switch (featureID) {
306 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
307 return basicSetMultiplicity(null, msgs);
308 }
309 return super.eInverseRemove(otherEnd, featureID, msgs);
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 @Override
318 public Object eGet(int featureID, boolean resolve, boolean coreType) {
319 switch (featureID) {
320 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
321 return isContainment();
322 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
323 if (resolve) return getType();
324 return basicGetType();
325 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
326 return getMultiplicity();
327 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
328 return getName();
329 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
330 if (resolve) return getOpposite();
331 return basicGetOpposite();
332 }
333 return super.eGet(featureID, resolve, coreType);
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 @Override
342 public void eSet(int featureID, Object newValue) {
343 switch (featureID) {
344 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
345 setContainment((Boolean)newValue);
346 return;
347 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
348 setType((NamedElement)newValue);
349 return;
350 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
351 setMultiplicity((Multiplicity)newValue);
352 return;
353 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
354 setName((String)newValue);
355 return;
356 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
357 setOpposite((NamedElement)newValue);
358 return;
359 }
360 super.eSet(featureID, newValue);
361 }
362
363 /**
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 */
368 @Override
369 public void eUnset(int featureID) {
370 switch (featureID) {
371 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
372 setContainment(CONTAINMENT_EDEFAULT);
373 return;
374 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
375 setType((NamedElement)null);
376 return;
377 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
378 setMultiplicity((Multiplicity)null);
379 return;
380 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
381 setName(NAME_EDEFAULT);
382 return;
383 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
384 setOpposite((NamedElement)null);
385 return;
386 }
387 super.eUnset(featureID);
388 }
389
390 /**
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 */
395 @Override
396 public boolean eIsSet(int featureID) {
397 switch (featureID) {
398 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
399 return containment != CONTAINMENT_EDEFAULT;
400 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
401 return type != null;
402 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
403 return multiplicity != null;
404 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
405 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
406 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
407 return opposite != null;
408 }
409 return super.eIsSet(featureID);
410 }
411
412 /**
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @generated
416 */
417 @Override
418 public String toString() {
419 if (eIsProxy()) return super.toString();
420
421 StringBuilder result = new StringBuilder(super.toString());
422 result.append(" (containment: ");
423 result.append(containment);
424 result.append(", name: ");
425 result.append(name);
426 result.append(')');
427 return result.toString();
428 }
429
430} //MemberDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
deleted file mode 100644
index d441b8c1..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
+++ /dev/null
@@ -1,309 +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.NamedElement;
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 * 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 Expression head;
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 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getType()
60 * @generated
61 * @ordered
62 */
63 protected NamedElement type;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected MetricDefinitionImpl() {
71 super();
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 protected EClass eStaticClass() {
81 return SolverLanguagePackage.Literals.METRIC_DEFINITION;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public Expression getHead() {
91 return head;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) {
100 Expression oldHead = head;
101 head = newHead;
102 if (eNotificationRequired()) {
103 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead);
104 if (msgs == null) msgs = notification; else msgs.add(notification);
105 }
106 return msgs;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public void setHead(Expression newHead) {
116 if (newHead != head) {
117 NotificationChain msgs = null;
118 if (head != null)
119 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
120 if (newHead != null)
121 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
122 msgs = basicSetHead(newHead, msgs);
123 if (msgs != null) msgs.dispatch();
124 }
125 else if (eNotificationRequired())
126 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead));
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public Expression getBody() {
136 return body;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
145 Expression oldBody = body;
146 body = newBody;
147 if (eNotificationRequired()) {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_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 if (newBody != body) {
162 NotificationChain msgs = null;
163 if (body != null)
164 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
165 if (newBody != null)
166 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
167 msgs = basicSetBody(newBody, msgs);
168 if (msgs != null) msgs.dispatch();
169 }
170 else if (eNotificationRequired())
171 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody));
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public NamedElement getType() {
181 if (type != null && type.eIsProxy()) {
182 InternalEObject oldType = (InternalEObject)type;
183 type = (NamedElement)eResolveProxy(oldType);
184 if (type != oldType) {
185 if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type));
187 }
188 }
189 return type;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 public NamedElement basicGetType() {
198 return type;
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public void setType(NamedElement newType) {
208 NamedElement oldType = type;
209 type = newType;
210 if (eNotificationRequired())
211 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type));
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
221 switch (featureID) {
222 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
223 return basicSetHead(null, msgs);
224 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
225 return basicSetBody(null, msgs);
226 }
227 return super.eInverseRemove(otherEnd, featureID, msgs);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public Object eGet(int featureID, boolean resolve, boolean coreType) {
237 switch (featureID) {
238 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
239 return getHead();
240 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
241 return getBody();
242 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
243 if (resolve) return getType();
244 return basicGetType();
245 }
246 return super.eGet(featureID, resolve, coreType);
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 @Override
255 public void eSet(int featureID, Object newValue) {
256 switch (featureID) {
257 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
258 setHead((Expression)newValue);
259 return;
260 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
261 setBody((Expression)newValue);
262 return;
263 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
264 setType((NamedElement)newValue);
265 return;
266 }
267 super.eSet(featureID, newValue);
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 @Override
276 public void eUnset(int featureID) {
277 switch (featureID) {
278 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
279 setHead((Expression)null);
280 return;
281 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
282 setBody((Expression)null);
283 return;
284 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
285 setType((NamedElement)null);
286 return;
287 }
288 super.eUnset(featureID);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public boolean eIsSet(int featureID) {
298 switch (featureID) {
299 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
300 return head != null;
301 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
302 return body != null;
303 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
304 return type != null;
305 }
306 return super.eIsSet(featureID);
307 }
308
309} //MetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java
deleted file mode 100644
index 41fbe6de..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java
+++ /dev/null
@@ -1,159 +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.Metric;
14import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Metric</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.MetricImpl#getReturnType <em>Return Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class MetricImpl extends FunctorImpl implements Metric {
31 /**
32 * The cached value of the '{@link #getReturnType() <em>Return Type</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getReturnType()
36 * @generated
37 * @ordered
38 */
39 protected NamedElement returnType;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected MetricImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.METRIC;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public NamedElement getReturnType() {
67 if (returnType != null && returnType.eIsProxy()) {
68 InternalEObject oldReturnType = (InternalEObject)returnType;
69 returnType = (NamedElement)eResolveProxy(oldReturnType);
70 if (returnType != oldReturnType) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType));
73 }
74 }
75 return returnType;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public NamedElement basicGetReturnType() {
84 return returnType;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public void setReturnType(NamedElement newReturnType) {
94 NamedElement oldReturnType = returnType;
95 returnType = newReturnType;
96 if (eNotificationRequired())
97 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType));
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public Object eGet(int featureID, boolean resolve, boolean coreType) {
107 switch (featureID) {
108 case SolverLanguagePackage.METRIC__RETURN_TYPE:
109 if (resolve) return getReturnType();
110 return basicGetReturnType();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SolverLanguagePackage.METRIC__RETURN_TYPE:
124 setReturnType((NamedElement)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 switch (featureID) {
138 case SolverLanguagePackage.METRIC__RETURN_TYPE:
139 setReturnType((NamedElement)null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SolverLanguagePackage.METRIC__RETURN_TYPE:
154 return returnType != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //MetricImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
deleted file mode 100644
index e29fe9f6..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
+++ /dev/null
@@ -1,40 +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 * <!-- begin-user-doc -->
23 * <!-- end-user-doc -->
24 * @generated
25 */
26 protected MultiplicityImpl() {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass() {
37 return SolverLanguagePackage.Literals.MULTIPLICITY;
38 }
39
40} //MultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
deleted file mode 100644
index a6b102ac..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
+++ /dev/null
@@ -1,166 +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 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected NamedElementImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass() {
66 return SolverLanguagePackage.Literals.NAMED_ELEMENT;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 public String getName() {
76 return name;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public void setName(String newName) {
86 String oldName = name;
87 name = newName;
88 if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name));
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
101 return getName();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
115 setName((String)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
130 setName(NAME_EDEFAULT);
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
145 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
146 }
147 return super.eIsSet(featureID);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public String toString() {
157 if (eIsProxy()) return super.toString();
158
159 StringBuilder result = new StringBuilder(super.toString());
160 result.append(" (name: ");
161 result.append(name);
162 result.append(')');
163 return result.toString();
164 }
165
166} //NamedElementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java
deleted file mode 100644
index a4fcf51f..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java
+++ /dev/null
@@ -1,165 +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.Node;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Node</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.NodeImpl#isWithId <em>With Id</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class NodeImpl extends NamedElementImpl implements Node {
29 /**
30 * The default value of the '{@link #isWithId() <em>With Id</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #isWithId()
34 * @generated
35 * @ordered
36 */
37 protected static final boolean WITH_ID_EDEFAULT = false;
38
39 /**
40 * The cached value of the '{@link #isWithId() <em>With Id</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isWithId()
44 * @generated
45 * @ordered
46 */
47 protected boolean withId = WITH_ID_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected NodeImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.NODE;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public boolean isWithId() {
75 return withId;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setWithId(boolean newWithId) {
85 boolean oldWithId = withId;
86 withId = newWithId;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NODE__WITH_ID, oldWithId, withId));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.NODE__WITH_ID:
100 return isWithId();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.NODE__WITH_ID:
114 setWithId((Boolean)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.NODE__WITH_ID:
129 setWithId(WITH_ID_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.NODE__WITH_ID:
144 return withId != WITH_ID_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (withId: ");
160 result.append(withId);
161 result.append(')');
162 return result.toString();
163 }
164
165} //NodeImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
deleted file mode 100644
index ffd4294d..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.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.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 * 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 BigDecimal VALUE_EDEFAULT = null;
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 BigDecimal value = VALUE_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected NumericLiteralImpl() {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass() {
67 return SolverLanguagePackage.Literals.NUMERIC_LITERAL;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public BigDecimal getValue() {
77 return value;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public void setValue(BigDecimal newValue) {
87 BigDecimal oldValue = value;
88 value = newValue;
89 if (eNotificationRequired())
90 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value));
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Object eGet(int featureID, boolean resolve, boolean coreType) {
100 switch (featureID) {
101 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
102 return getValue();
103 }
104 return super.eGet(featureID, resolve, coreType);
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
116 setValue((BigDecimal)newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
131 setValue(VALUE_EDEFAULT);
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
146 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
147 }
148 return super.eIsSet(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public String toString() {
158 if (eIsProxy()) return super.toString();
159
160 StringBuilder result = new StringBuilder(super.toString());
161 result.append(" (value: ");
162 result.append(value);
163 result.append(')');
164 return result.toString();
165 }
166
167} //NumericLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
deleted file mode 100644
index 7d0e4c50..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
+++ /dev/null
@@ -1,249 +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 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getKind()
39 * @generated
40 * @ordered
41 */
42 protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE;
43
44 /**
45 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getKind()
49 * @generated
50 * @ordered
51 */
52 protected ObjectiveKind kind = KIND_EDEFAULT;
53
54 /**
55 * The cached value of the '{@link #getObjective() <em>Objective</em>}' containment reference.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getObjective()
59 * @generated
60 * @ordered
61 */
62 protected Expression objective;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 protected ObjectiveDefinitionImpl() {
70 super();
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 protected EClass eStaticClass() {
80 return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public ObjectiveKind getKind() {
90 return kind;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public void setKind(ObjectiveKind newKind) {
100 ObjectiveKind oldKind = kind;
101 kind = newKind == null ? KIND_EDEFAULT : newKind;
102 if (eNotificationRequired())
103 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind));
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public Expression getObjective() {
113 return objective;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs) {
122 Expression oldObjective = objective;
123 objective = newObjective;
124 if (eNotificationRequired()) {
125 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective);
126 if (msgs == null) msgs = notification; else msgs.add(notification);
127 }
128 return msgs;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void setObjective(Expression newObjective) {
138 if (newObjective != objective) {
139 NotificationChain msgs = null;
140 if (objective != null)
141 msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
142 if (newObjective != null)
143 msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
144 msgs = basicSetObjective(newObjective, msgs);
145 if (msgs != null) msgs.dispatch();
146 }
147 else if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) {
159 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
160 return basicSetObjective(null, msgs);
161 }
162 return super.eInverseRemove(otherEnd, featureID, msgs);
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public Object eGet(int featureID, boolean resolve, boolean coreType) {
172 switch (featureID) {
173 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
174 return getKind();
175 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
176 return getObjective();
177 }
178 return super.eGet(featureID, resolve, coreType);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public void eSet(int featureID, Object newValue) {
188 switch (featureID) {
189 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
190 setKind((ObjectiveKind)newValue);
191 return;
192 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
193 setObjective((Expression)newValue);
194 return;
195 }
196 super.eSet(featureID, newValue);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public void eUnset(int featureID) {
206 switch (featureID) {
207 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
208 setKind(KIND_EDEFAULT);
209 return;
210 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
211 setObjective((Expression)null);
212 return;
213 }
214 super.eUnset(featureID);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean eIsSet(int featureID) {
224 switch (featureID) {
225 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
226 return kind != KIND_EDEFAULT;
227 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
228 return objective != null;
229 }
230 return super.eIsSet(featureID);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public String toString() {
240 if (eIsProxy()) return super.toString();
241
242 StringBuilder result = new StringBuilder(super.toString());
243 result.append(" (kind: ");
244 result.append(kind);
245 result.append(')');
246 return result.toString();
247 }
248
249} //ObjectiveDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
deleted file mode 100644
index 251a27d9..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
+++ /dev/null
@@ -1,372 +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 * 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 Expression head;
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 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isFunctional()
60 * @generated
61 * @ordered
62 */
63 protected static final boolean FUNCTIONAL_EDEFAULT = false;
64
65 /**
66 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #isFunctional()
70 * @generated
71 * @ordered
72 */
73 protected boolean functional = FUNCTIONAL_EDEFAULT;
74
75 /**
76 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #isError()
80 * @generated
81 * @ordered
82 */
83 protected static final boolean ERROR_EDEFAULT = false;
84
85 /**
86 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #isError()
90 * @generated
91 * @ordered
92 */
93 protected boolean error = ERROR_EDEFAULT;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 protected PredicateDefinitionImpl() {
101 super();
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 protected EClass eStaticClass() {
111 return SolverLanguagePackage.Literals.PREDICATE_DEFINITION;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public Expression getHead() {
121 return head;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) {
130 Expression oldHead = head;
131 head = newHead;
132 if (eNotificationRequired()) {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_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(Expression newHead) {
146 if (newHead != head) {
147 NotificationChain msgs = null;
148 if (head != null)
149 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
150 if (newHead != null)
151 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
152 msgs = basicSetHead(newHead, msgs);
153 if (msgs != null) msgs.dispatch();
154 }
155 else if (eNotificationRequired())
156 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead));
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public Expression getBody() {
166 return body;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
175 Expression oldBody = body;
176 body = newBody;
177 if (eNotificationRequired()) {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody);
179 if (msgs == null) msgs = notification; else msgs.add(notification);
180 }
181 return msgs;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void setBody(Expression newBody) {
191 if (newBody != body) {
192 NotificationChain msgs = null;
193 if (body != null)
194 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
195 if (newBody != null)
196 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
197 msgs = basicSetBody(newBody, msgs);
198 if (msgs != null) msgs.dispatch();
199 }
200 else if (eNotificationRequired())
201 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody));
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public boolean isFunctional() {
211 return functional;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void setFunctional(boolean newFunctional) {
221 boolean oldFunctional = functional;
222 functional = newFunctional;
223 if (eNotificationRequired())
224 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional));
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public boolean isError() {
234 return error;
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public void setError(boolean newError) {
244 boolean oldError = error;
245 error = newError;
246 if (eNotificationRequired())
247 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error));
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
257 switch (featureID) {
258 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
259 return basicSetHead(null, msgs);
260 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
261 return basicSetBody(null, msgs);
262 }
263 return super.eInverseRemove(otherEnd, featureID, msgs);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public Object eGet(int featureID, boolean resolve, boolean coreType) {
273 switch (featureID) {
274 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
275 return getHead();
276 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
277 return getBody();
278 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
279 return isFunctional();
280 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
281 return isError();
282 }
283 return super.eGet(featureID, resolve, coreType);
284 }
285
286 /**
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @generated
290 */
291 @Override
292 public void eSet(int featureID, Object newValue) {
293 switch (featureID) {
294 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
295 setHead((Expression)newValue);
296 return;
297 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
298 setBody((Expression)newValue);
299 return;
300 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
301 setFunctional((Boolean)newValue);
302 return;
303 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
304 setError((Boolean)newValue);
305 return;
306 }
307 super.eSet(featureID, newValue);
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public void eUnset(int featureID) {
317 switch (featureID) {
318 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
319 setHead((Expression)null);
320 return;
321 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
322 setBody((Expression)null);
323 return;
324 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
325 setFunctional(FUNCTIONAL_EDEFAULT);
326 return;
327 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
328 setError(ERROR_EDEFAULT);
329 return;
330 }
331 super.eUnset(featureID);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public boolean eIsSet(int featureID) {
341 switch (featureID) {
342 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
343 return head != null;
344 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
345 return body != null;
346 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
347 return functional != FUNCTIONAL_EDEFAULT;
348 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
349 return error != ERROR_EDEFAULT;
350 }
351 return super.eIsSet(featureID);
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @Override
360 public String toString() {
361 if (eIsProxy()) return super.toString();
362
363 StringBuilder result = new StringBuilder(super.toString());
364 result.append(" (functional: ");
365 result.append(functional);
366 result.append(", error: ");
367 result.append(error);
368 result.append(')');
369 return result.toString();
370 }
371
372} //PredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
deleted file mode 100644
index 626b6419..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
+++ /dev/null
@@ -1,38 +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.Predicate;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Predicate</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PredicateImpl extends FunctorImpl implements Predicate {
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected PredicateImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.PREDICATE;
36 }
37
38} //PredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
deleted file mode 100644
index 0a4ad5ce..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
+++ /dev/null
@@ -1,154 +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 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getStatements()
43 * @generated
44 * @ordered
45 */
46 protected EList<Statement> statements;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ProblemImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SolverLanguagePackage.Literals.PROBLEM;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public EList<Statement> getStatements() {
74 if (statements == null) {
75 statements = new EObjectContainmentEList<Statement>(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS);
76 }
77 return statements;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
87 switch (featureID) {
88 case SolverLanguagePackage.PROBLEM__STATEMENTS:
89 return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
90 }
91 return super.eInverseRemove(otherEnd, featureID, msgs);
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType) {
101 switch (featureID) {
102 case SolverLanguagePackage.PROBLEM__STATEMENTS:
103 return getStatements();
104 }
105 return super.eGet(featureID, resolve, coreType);
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @SuppressWarnings("unchecked")
114 @Override
115 public void eSet(int featureID, Object newValue) {
116 switch (featureID) {
117 case SolverLanguagePackage.PROBLEM__STATEMENTS:
118 getStatements().clear();
119 getStatements().addAll((Collection<? extends Statement>)newValue);
120 return;
121 }
122 super.eSet(featureID, newValue);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eUnset(int featureID) {
132 switch (featureID) {
133 case SolverLanguagePackage.PROBLEM__STATEMENTS:
134 getStatements().clear();
135 return;
136 }
137 super.eUnset(featureID);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public boolean eIsSet(int featureID) {
147 switch (featureID) {
148 case SolverLanguagePackage.PROBLEM__STATEMENTS:
149 return statements != null && !statements.isEmpty();
150 }
151 return super.eIsSet(featureID);
152 }
153
154} //ProblemImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java
deleted file mode 100644
index a1eecebd..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java
+++ /dev/null
@@ -1,318 +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.LocalVariables;
16import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression;
17import org.eclipse.viatra.solver.language.solverLanguage.Quantifier;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Quantified Expression</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.QuantifiedExpressionImpl#getLocalVariables <em>Local Variables</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getBody <em>Body</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getQuantifier <em>Quantifier</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class QuantifiedExpressionImpl extends ExpressionImpl implements QuantifiedExpression {
36 /**
37 * The cached value of the '{@link #getLocalVariables() <em>Local Variables</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLocalVariables()
41 * @generated
42 * @ordered
43 */
44 protected LocalVariables localVariables;
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 #getQuantifier() <em>Quantifier</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getQuantifier()
61 * @generated
62 * @ordered
63 */
64 protected static final Quantifier QUANTIFIER_EDEFAULT = Quantifier.EXISTS;
65
66 /**
67 * The cached value of the '{@link #getQuantifier() <em>Quantifier</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getQuantifier()
71 * @generated
72 * @ordered
73 */
74 protected Quantifier quantifier = QUANTIFIER_EDEFAULT;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected QuantifiedExpressionImpl() {
82 super();
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 protected EClass eStaticClass() {
92 return SolverLanguagePackage.Literals.QUANTIFIED_EXPRESSION;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public LocalVariables getLocalVariables() {
102 return localVariables;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) {
111 LocalVariables oldLocalVariables = localVariables;
112 localVariables = newLocalVariables;
113 if (eNotificationRequired()) {
114 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables);
115 if (msgs == null) msgs = notification; else msgs.add(notification);
116 }
117 return msgs;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void setLocalVariables(LocalVariables newLocalVariables) {
127 if (newLocalVariables != localVariables) {
128 NotificationChain msgs = null;
129 if (localVariables != null)
130 msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs);
131 if (newLocalVariables != null)
132 msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs);
133 msgs = basicSetLocalVariables(newLocalVariables, msgs);
134 if (msgs != null) msgs.dispatch();
135 }
136 else if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public Expression getBody() {
147 return body;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
156 Expression oldBody = body;
157 body = newBody;
158 if (eNotificationRequired()) {
159 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, oldBody, newBody);
160 if (msgs == null) msgs = notification; else msgs.add(notification);
161 }
162 return msgs;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public void setBody(Expression newBody) {
172 if (newBody != body) {
173 NotificationChain msgs = null;
174 if (body != null)
175 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, null, msgs);
176 if (newBody != null)
177 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, null, msgs);
178 msgs = basicSetBody(newBody, msgs);
179 if (msgs != null) msgs.dispatch();
180 }
181 else if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, newBody, newBody));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public Quantifier getQuantifier() {
192 return quantifier;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void setQuantifier(Quantifier newQuantifier) {
202 Quantifier oldQuantifier = quantifier;
203 quantifier = newQuantifier == null ? QUANTIFIER_EDEFAULT : newQuantifier;
204 if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER, oldQuantifier, quantifier));
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
215 switch (featureID) {
216 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES:
217 return basicSetLocalVariables(null, msgs);
218 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY:
219 return basicSetBody(null, msgs);
220 }
221 return super.eInverseRemove(otherEnd, featureID, msgs);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public Object eGet(int featureID, boolean resolve, boolean coreType) {
231 switch (featureID) {
232 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES:
233 return getLocalVariables();
234 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY:
235 return getBody();
236 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER:
237 return getQuantifier();
238 }
239 return super.eGet(featureID, resolve, coreType);
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 @Override
248 public void eSet(int featureID, Object newValue) {
249 switch (featureID) {
250 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES:
251 setLocalVariables((LocalVariables)newValue);
252 return;
253 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY:
254 setBody((Expression)newValue);
255 return;
256 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER:
257 setQuantifier((Quantifier)newValue);
258 return;
259 }
260 super.eSet(featureID, newValue);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public void eUnset(int featureID) {
270 switch (featureID) {
271 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES:
272 setLocalVariables((LocalVariables)null);
273 return;
274 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY:
275 setBody((Expression)null);
276 return;
277 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER:
278 setQuantifier(QUANTIFIER_EDEFAULT);
279 return;
280 }
281 super.eUnset(featureID);
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public boolean eIsSet(int featureID) {
291 switch (featureID) {
292 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES:
293 return localVariables != null;
294 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY:
295 return body != null;
296 case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER:
297 return quantifier != QUANTIFIER_EDEFAULT;
298 }
299 return super.eIsSet(featureID);
300 }
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 @Override
308 public String toString() {
309 if (eIsProxy()) return super.toString();
310
311 StringBuilder result = new StringBuilder(super.toString());
312 result.append(" (quantifier: ");
313 result.append(quantifier);
314 result.append(')');
315 return result.toString();
316 }
317
318} //QuantifiedExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
deleted file mode 100644
index 0be1aac7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
+++ /dev/null
@@ -1,159 +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 * The cached value of the '{@link #getReferred() <em>Referred</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getReferred()
36 * @generated
37 * @ordered
38 */
39 protected NamedElement referred;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ReferenceImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.REFERENCE;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public NamedElement getReferred() {
67 if (referred != null && referred.eIsProxy()) {
68 InternalEObject oldReferred = (InternalEObject)referred;
69 referred = (NamedElement)eResolveProxy(oldReferred);
70 if (referred != oldReferred) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
73 }
74 }
75 return referred;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public NamedElement basicGetReferred() {
84 return referred;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public void setReferred(NamedElement newReferred) {
94 NamedElement oldReferred = referred;
95 referred = newReferred;
96 if (eNotificationRequired())
97 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public Object eGet(int featureID, boolean resolve, boolean coreType) {
107 switch (featureID) {
108 case SolverLanguagePackage.REFERENCE__REFERRED:
109 if (resolve) return getReferred();
110 return basicGetReferred();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SolverLanguagePackage.REFERENCE__REFERRED:
124 setReferred((NamedElement)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 switch (featureID) {
138 case SolverLanguagePackage.REFERENCE__REFERRED:
139 setReferred((NamedElement)null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SolverLanguagePackage.REFERENCE__REFERRED:
154 return referred != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //ReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
deleted file mode 100644
index a4cf94a7..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
+++ /dev/null
@@ -1,159 +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 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getType()
36 * @generated
37 * @ordered
38 */
39 protected NamedElement type;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ScopeDefinitionImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.SCOPE_DEFINITION;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public NamedElement getType() {
67 if (type != null && type.eIsProxy()) {
68 InternalEObject oldType = (InternalEObject)type;
69 type = (NamedElement)eResolveProxy(oldType);
70 if (type != oldType) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
73 }
74 }
75 return type;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public NamedElement basicGetType() {
84 return type;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public void setType(NamedElement newType) {
94 NamedElement oldType = type;
95 type = newType;
96 if (eNotificationRequired())
97 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public Object eGet(int featureID, boolean resolve, boolean coreType) {
107 switch (featureID) {
108 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
109 if (resolve) return getType();
110 return basicGetType();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
124 setType((NamedElement)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 switch (featureID) {
138 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
139 setType((NamedElement)null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
154 return type != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //ScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
deleted file mode 100644
index 5787175b..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ /dev/null
@@ -1,905 +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 * Creates the default factory implementation.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @generated
29 */
30 public static SolverLanguageFactory init() {
31 try {
32 SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI);
33 if (theSolverLanguageFactory != null) {
34 return theSolverLanguageFactory;
35 }
36 }
37 catch (Exception exception) {
38 EcorePlugin.INSTANCE.log(exception);
39 }
40 return new SolverLanguageFactoryImpl();
41 }
42
43 /**
44 * Creates an instance of the factory.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 public SolverLanguageFactoryImpl() {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 public EObject create(EClass eClass) {
60 switch (eClass.getClassifierID()) {
61 case SolverLanguagePackage.PROBLEM: return createProblem();
62 case SolverLanguagePackage.STATEMENT: return createStatement();
63 case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition();
64 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition();
65 case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition();
66 case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition();
67 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition();
68 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition();
69 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: return createExternAggregatorDefinition();
70 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: return createExternDatatypeDefinition();
71 case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement();
72 case SolverLanguagePackage.IF_ELSE: return createIfElse();
73 case SolverLanguagePackage.LET: return createLet();
74 case SolverLanguagePackage.LET_BINDING: return createLetBinding();
75 case SolverLanguagePackage.CASE: return createCase();
76 case SolverLanguagePackage.LOCAL_VARIABLES: return createLocalVariables();
77 case SolverLanguagePackage.QUANTIFIED_EXPRESSION: return createQuantifiedExpression();
78 case SolverLanguagePackage.AGGREGATION: return createAggregation();
79 case SolverLanguagePackage.CALL: return createCall();
80 case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList();
81 case SolverLanguagePackage.ARGUMENT: return createArgument();
82 case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument();
83 case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument();
84 case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument();
85 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument();
86 case SolverLanguagePackage.REFERENCE: return createReference();
87 case SolverLanguagePackage.INTERVAL: return createInterval();
88 case SolverLanguagePackage.LITERAL: return createLiteral();
89 case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral();
90 case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral();
91 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
92 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
93 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
94 case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition();
95 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
96 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
97 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
98 case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity();
99 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity();
100 case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition();
101 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition();
102 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition();
103 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition();
104 case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition();
105 case SolverLanguagePackage.INTERPRETATION: return createInterpretation();
106 case SolverLanguagePackage.VARIABLE: return createVariable();
107 case SolverLanguagePackage.DISJUNCTION: return createDisjunction();
108 case SolverLanguagePackage.SWITCH: return createSwitch();
109 case SolverLanguagePackage.CONJUNCTION: return createConjunction();
110 case SolverLanguagePackage.COMPARISON: return createComparison();
111 case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression();
112 case SolverLanguagePackage.CAST_EXPRESSION: return createCastExpression();
113 case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression();
114 case SolverLanguagePackage.NODE: return createNode();
115 case SolverLanguagePackage.PREDICATE: return createPredicate();
116 case SolverLanguagePackage.METRIC: return createMetric();
117 default:
118 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
119 }
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Object createFromString(EDataType eDataType, String initialValue) {
129 switch (eDataType.getClassifierID()) {
130 case SolverLanguagePackage.BINARY_OPERATOR:
131 return createBinaryOperatorFromString(eDataType, initialValue);
132 case SolverLanguagePackage.UNARY_OP:
133 return createUnaryOpFromString(eDataType, initialValue);
134 case SolverLanguagePackage.LOGIC_VALUE:
135 return createLogicValueFromString(eDataType, initialValue);
136 case SolverLanguagePackage.OBJECTIVE_KIND:
137 return createObjectiveKindFromString(eDataType, initialValue);
138 case SolverLanguagePackage.QUANTIFIER:
139 return createQuantifierFromString(eDataType, initialValue);
140 default:
141 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
142 }
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public String convertToString(EDataType eDataType, Object instanceValue) {
152 switch (eDataType.getClassifierID()) {
153 case SolverLanguagePackage.BINARY_OPERATOR:
154 return convertBinaryOperatorToString(eDataType, instanceValue);
155 case SolverLanguagePackage.UNARY_OP:
156 return convertUnaryOpToString(eDataType, instanceValue);
157 case SolverLanguagePackage.LOGIC_VALUE:
158 return convertLogicValueToString(eDataType, instanceValue);
159 case SolverLanguagePackage.OBJECTIVE_KIND:
160 return convertObjectiveKindToString(eDataType, instanceValue);
161 case SolverLanguagePackage.QUANTIFIER:
162 return convertQuantifierToString(eDataType, instanceValue);
163 default:
164 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
165 }
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public Problem createProblem() {
175 ProblemImpl problem = new ProblemImpl();
176 return problem;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public Statement createStatement() {
186 StatementImpl statement = new StatementImpl();
187 return statement;
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public PredicateDefinition createPredicateDefinition() {
197 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
198 return predicateDefinition;
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition() {
208 UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl();
209 return unnamedErrorPrediateDefinition;
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public DefaultDefinition createDefaultDefinition() {
219 DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl();
220 return defaultDefinition;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public MetricDefinition createMetricDefinition() {
230 MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl();
231 return metricDefinition;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public ExternPredicateDefinition createExternPredicateDefinition() {
241 ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl();
242 return externPredicateDefinition;
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public ExternMetricDefinition createExternMetricDefinition() {
252 ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl();
253 return externMetricDefinition;
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public ExternAggregatorDefinition createExternAggregatorDefinition() {
263 ExternAggregatorDefinitionImpl externAggregatorDefinition = new ExternAggregatorDefinitionImpl();
264 return externAggregatorDefinition;
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public ExternDatatypeDefinition createExternDatatypeDefinition() {
274 ExternDatatypeDefinitionImpl externDatatypeDefinition = new ExternDatatypeDefinitionImpl();
275 return externDatatypeDefinition;
276 }
277
278 /**
279 * <!-- begin-user-doc -->
280 * <!-- end-user-doc -->
281 * @generated
282 */
283 @Override
284 public NamedElement createNamedElement() {
285 NamedElementImpl namedElement = new NamedElementImpl();
286 return namedElement;
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public IfElse createIfElse() {
296 IfElseImpl ifElse = new IfElseImpl();
297 return ifElse;
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public Let createLet() {
307 LetImpl let = new LetImpl();
308 return let;
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 @Override
317 public LetBinding createLetBinding() {
318 LetBindingImpl letBinding = new LetBindingImpl();
319 return letBinding;
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public Case createCase() {
329 CaseImpl case_ = new CaseImpl();
330 return case_;
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 @Override
339 public LocalVariables createLocalVariables() {
340 LocalVariablesImpl localVariables = new LocalVariablesImpl();
341 return localVariables;
342 }
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 @Override
350 public QuantifiedExpression createQuantifiedExpression() {
351 QuantifiedExpressionImpl quantifiedExpression = new QuantifiedExpressionImpl();
352 return quantifiedExpression;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public Aggregation createAggregation() {
362 AggregationImpl aggregation = new AggregationImpl();
363 return aggregation;
364 }
365
366 /**
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 */
371 @Override
372 public Call createCall() {
373 CallImpl call = new CallImpl();
374 return call;
375 }
376
377 /**
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @generated
381 */
382 @Override
383 public ArgumentList createArgumentList() {
384 ArgumentListImpl argumentList = new ArgumentListImpl();
385 return argumentList;
386 }
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 @Override
394 public Argument createArgument() {
395 ArgumentImpl argument = new ArgumentImpl();
396 return argument;
397 }
398
399 /**
400 * <!-- begin-user-doc -->
401 * <!-- end-user-doc -->
402 * @generated
403 */
404 @Override
405 public ExpressionArgument createExpressionArgument() {
406 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
407 return expressionArgument;
408 }
409
410 /**
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 */
415 @Override
416 public StarArgument createStarArgument() {
417 StarArgumentImpl starArgument = new StarArgumentImpl();
418 return starArgument;
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 @Override
427 public TypedArgument createTypedArgument() {
428 TypedArgumentImpl typedArgument = new TypedArgumentImpl();
429 return typedArgument;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public TypedStarArgument createTypedStarArgument() {
439 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
440 return typedStarArgument;
441 }
442
443 /**
444 * <!-- begin-user-doc -->
445 * <!-- end-user-doc -->
446 * @generated
447 */
448 @Override
449 public Reference createReference() {
450 ReferenceImpl reference = new ReferenceImpl();
451 return reference;
452 }
453
454 /**
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @generated
458 */
459 @Override
460 public Interval createInterval() {
461 IntervalImpl interval = new IntervalImpl();
462 return interval;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
471 public Literal createLiteral() {
472 LiteralImpl literal = new LiteralImpl();
473 return literal;
474 }
475
476 /**
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @generated
480 */
481 @Override
482 public LogicLiteral createLogicLiteral() {
483 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
484 return logicLiteral;
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 @Override
493 public NumericLiteral createNumericLiteral() {
494 NumericLiteralImpl numericLiteral = new NumericLiteralImpl();
495 return numericLiteral;
496 }
497
498 /**
499 * <!-- begin-user-doc -->
500 * <!-- end-user-doc -->
501 * @generated
502 */
503 @Override
504 public InfinityLiteral createInfinityLiteral() {
505 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
506 return infinityLiteral;
507 }
508
509 /**
510 * <!-- begin-user-doc -->
511 * <!-- end-user-doc -->
512 * @generated
513 */
514 @Override
515 public EmptyIntervalLiteral createEmptyIntervalLiteral() {
516 EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl();
517 return emptyIntervalLiteral;
518 }
519
520 /**
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @generated
524 */
525 @Override
526 public StringLiteral createStringLiteral() {
527 StringLiteralImpl stringLiteral = new StringLiteralImpl();
528 return stringLiteral;
529 }
530
531 /**
532 * <!-- begin-user-doc -->
533 * <!-- end-user-doc -->
534 * @generated
535 */
536 @Override
537 public ClassDefinition createClassDefinition() {
538 ClassDefinitionImpl classDefinition = new ClassDefinitionImpl();
539 return classDefinition;
540 }
541
542 /**
543 * <!-- begin-user-doc -->
544 * <!-- end-user-doc -->
545 * @generated
546 */
547 @Override
548 public MemberDefinition createMemberDefinition() {
549 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
550 return memberDefinition;
551 }
552
553 /**
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 */
558 @Override
559 public Multiplicity createMultiplicity() {
560 MultiplicityImpl multiplicity = new MultiplicityImpl();
561 return multiplicity;
562 }
563
564 /**
565 * <!-- begin-user-doc -->
566 * <!-- end-user-doc -->
567 * @generated
568 */
569 @Override
570 public ManyMultiplicity createManyMultiplicity() {
571 ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl();
572 return manyMultiplicity;
573 }
574
575 /**
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @generated
579 */
580 @Override
581 public ExactMultiplicity createExactMultiplicity() {
582 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
583 return exactMultiplicity;
584 }
585
586 /**
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 */
591 @Override
592 public BoundedMultiplicity createBoundedMultiplicity() {
593 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
594 return boundedMultiplicity;
595 }
596
597 /**
598 * <!-- begin-user-doc -->
599 * <!-- end-user-doc -->
600 * @generated
601 */
602 @Override
603 public ScopeDefinition createScopeDefinition() {
604 ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl();
605 return scopeDefinition;
606 }
607
608 /**
609 * <!-- begin-user-doc -->
610 * <!-- end-user-doc -->
611 * @generated
612 */
613 @Override
614 public ExactScopeDefinition createExactScopeDefinition() {
615 ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl();
616 return exactScopeDefinition;
617 }
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 @Override
625 public BoundedScopeDefinition createBoundedScopeDefinition() {
626 BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl();
627 return boundedScopeDefinition;
628 }
629
630 /**
631 * <!-- begin-user-doc -->
632 * <!-- end-user-doc -->
633 * @generated
634 */
635 @Override
636 public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition() {
637 LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl();
638 return lowerBoundedScopeDefinition;
639 }
640
641 /**
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 */
646 @Override
647 public ObjectiveDefinition createObjectiveDefinition() {
648 ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl();
649 return objectiveDefinition;
650 }
651
652 /**
653 * <!-- begin-user-doc -->
654 * <!-- end-user-doc -->
655 * @generated
656 */
657 @Override
658 public Interpretation createInterpretation() {
659 InterpretationImpl interpretation = new InterpretationImpl();
660 return interpretation;
661 }
662
663 /**
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 */
668 @Override
669 public Variable createVariable() {
670 VariableImpl variable = new VariableImpl();
671 return variable;
672 }
673
674 /**
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @generated
678 */
679 @Override
680 public Disjunction createDisjunction() {
681 DisjunctionImpl disjunction = new DisjunctionImpl();
682 return disjunction;
683 }
684
685 /**
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @generated
689 */
690 @Override
691 public Switch createSwitch() {
692 SwitchImpl switch_ = new SwitchImpl();
693 return switch_;
694 }
695
696 /**
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 */
701 @Override
702 public Conjunction createConjunction() {
703 ConjunctionImpl conjunction = new ConjunctionImpl();
704 return conjunction;
705 }
706
707 /**
708 * <!-- begin-user-doc -->
709 * <!-- end-user-doc -->
710 * @generated
711 */
712 @Override
713 public Comparison createComparison() {
714 ComparisonImpl comparison = new ComparisonImpl();
715 return comparison;
716 }
717
718 /**
719 * <!-- begin-user-doc -->
720 * <!-- end-user-doc -->
721 * @generated
722 */
723 @Override
724 public BinaryExpression createBinaryExpression() {
725 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
726 return binaryExpression;
727 }
728
729 /**
730 * <!-- begin-user-doc -->
731 * <!-- end-user-doc -->
732 * @generated
733 */
734 @Override
735 public CastExpression createCastExpression() {
736 CastExpressionImpl castExpression = new CastExpressionImpl();
737 return castExpression;
738 }
739
740 /**
741 * <!-- begin-user-doc -->
742 * <!-- end-user-doc -->
743 * @generated
744 */
745 @Override
746 public UnaryExpression createUnaryExpression() {
747 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
748 return unaryExpression;
749 }
750
751 /**
752 * <!-- begin-user-doc -->
753 * <!-- end-user-doc -->
754 * @generated
755 */
756 @Override
757 public Node createNode() {
758 NodeImpl node = new NodeImpl();
759 return node;
760 }
761
762 /**
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @generated
766 */
767 @Override
768 public Predicate createPredicate() {
769 PredicateImpl predicate = new PredicateImpl();
770 return predicate;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 @Override
779 public Metric createMetric() {
780 MetricImpl metric = new MetricImpl();
781 return metric;
782 }
783
784 /**
785 * <!-- begin-user-doc -->
786 * <!-- end-user-doc -->
787 * @generated
788 */
789 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) {
790 BinaryOperator result = BinaryOperator.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 convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) {
801 return instanceValue == null ? null : instanceValue.toString();
802 }
803
804 /**
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @generated
808 */
809 public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue) {
810 UnaryOp result = UnaryOp.get(initialValue);
811 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
812 return result;
813 }
814
815 /**
816 * <!-- begin-user-doc -->
817 * <!-- end-user-doc -->
818 * @generated
819 */
820 public String convertUnaryOpToString(EDataType eDataType, Object instanceValue) {
821 return instanceValue == null ? null : instanceValue.toString();
822 }
823
824 /**
825 * <!-- begin-user-doc -->
826 * <!-- end-user-doc -->
827 * @generated
828 */
829 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
830 LogicValue result = LogicValue.get(initialValue);
831 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
832 return result;
833 }
834
835 /**
836 * <!-- begin-user-doc -->
837 * <!-- end-user-doc -->
838 * @generated
839 */
840 public String convertLogicValueToString(EDataType eDataType, Object instanceValue) {
841 return instanceValue == null ? null : instanceValue.toString();
842 }
843
844 /**
845 * <!-- begin-user-doc -->
846 * <!-- end-user-doc -->
847 * @generated
848 */
849 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue) {
850 ObjectiveKind result = ObjectiveKind.get(initialValue);
851 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
852 return result;
853 }
854
855 /**
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue) {
861 return instanceValue == null ? null : instanceValue.toString();
862 }
863
864 /**
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 */
869 public Quantifier createQuantifierFromString(EDataType eDataType, String initialValue) {
870 Quantifier result = Quantifier.get(initialValue);
871 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
872 return result;
873 }
874
875 /**
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @generated
879 */
880 public String convertQuantifierToString(EDataType eDataType, Object instanceValue) {
881 return instanceValue == null ? null : instanceValue.toString();
882 }
883
884 /**
885 * <!-- begin-user-doc -->
886 * <!-- end-user-doc -->
887 * @generated
888 */
889 @Override
890 public SolverLanguagePackage getSolverLanguagePackage() {
891 return (SolverLanguagePackage)getEPackage();
892 }
893
894 /**
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @deprecated
898 * @generated
899 */
900 @Deprecated
901 public static SolverLanguagePackage getPackage() {
902 return SolverLanguagePackage.eINSTANCE;
903 }
904
905} //SolverLanguageFactoryImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
deleted file mode 100644
index e8834386..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ /dev/null
@@ -1,2726 +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.Argument;
16import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
17import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
18import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
19import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
20import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
21import org.eclipse.viatra.solver.language.solverLanguage.Call;
22import org.eclipse.viatra.solver.language.solverLanguage.Case;
23import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
24import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
25import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
26import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
27import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
29import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
30import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
31import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
32import org.eclipse.viatra.solver.language.solverLanguage.Expression;
33import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
34import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition;
35import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.Functor;
39import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
40import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
42import org.eclipse.viatra.solver.language.solverLanguage.Interval;
43import org.eclipse.viatra.solver.language.solverLanguage.Let;
44import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
45import org.eclipse.viatra.solver.language.solverLanguage.Literal;
46import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables;
47import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
48import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
49import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
50import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
51import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
52import org.eclipse.viatra.solver.language.solverLanguage.Metric;
53import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
54import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
55import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
56import org.eclipse.viatra.solver.language.solverLanguage.Node;
57import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
58import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
59import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
60import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
61import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
62import org.eclipse.viatra.solver.language.solverLanguage.Problem;
63import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression;
64import org.eclipse.viatra.solver.language.solverLanguage.Quantifier;
65import org.eclipse.viatra.solver.language.solverLanguage.Reference;
66import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
67import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
68import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
69import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
70import org.eclipse.viatra.solver.language.solverLanguage.Statement;
71import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
72import org.eclipse.viatra.solver.language.solverLanguage.Switch;
73import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
74import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
75import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
76import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
77import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
78import org.eclipse.viatra.solver.language.solverLanguage.Variable;
79
80/**
81 * <!-- begin-user-doc -->
82 * An implementation of the model <b>Package</b>.
83 * <!-- end-user-doc -->
84 * @generated
85 */
86public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage {
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 private EClass problemEClass = null;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 private EClass statementEClass = null;
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 private EClass predicateDefinitionEClass = null;
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private EClass unnamedErrorPrediateDefinitionEClass = null;
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 private EClass defaultDefinitionEClass = null;
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 private EClass metricDefinitionEClass = null;
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 private EClass externPredicateDefinitionEClass = null;
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 private EClass externMetricDefinitionEClass = null;
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 private EClass externAggregatorDefinitionEClass = null;
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private EClass externDatatypeDefinitionEClass = null;
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 private EClass namedElementEClass = null;
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 private EClass expressionEClass = null;
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 private EClass ifElseEClass = null;
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private EClass letEClass = null;
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 private EClass letBindingEClass = null;
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private EClass caseEClass = null;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private EClass localVariablesEClass = null;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private EClass quantifiedExpressionEClass = null;
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 private EClass aggregationEClass = null;
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 private EClass callEClass = null;
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 private EClass argumentListEClass = null;
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 private EClass argumentEClass = null;
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 private EClass expressionArgumentEClass = null;
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 private EClass starArgumentEClass = null;
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 private EClass typedArgumentEClass = null;
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 private EClass typedStarArgumentEClass = null;
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 private EClass referenceEClass = null;
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private EClass intervalEClass = null;
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 private EClass literalEClass = null;
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 private EClass logicLiteralEClass = null;
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 private EClass numericLiteralEClass = null;
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 private EClass infinityLiteralEClass = null;
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 private EClass emptyIntervalLiteralEClass = null;
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 private EClass stringLiteralEClass = null;
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 private EClass classDefinitionEClass = null;
331
332 /**
333 * <!-- begin-user-doc -->
334 * <!-- end-user-doc -->
335 * @generated
336 */
337 private EClass memberDefinitionEClass = null;
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 private EClass multiplicityEClass = null;
345
346 /**
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 */
351 private EClass manyMultiplicityEClass = null;
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 private EClass exactMultiplicityEClass = null;
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 private EClass boundedMultiplicityEClass = null;
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 private EClass scopeDefinitionEClass = null;
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 private EClass exactScopeDefinitionEClass = null;
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 private EClass boundedScopeDefinitionEClass = null;
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 private EClass lowerBoundedScopeDefinitionEClass = null;
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 private EClass objectiveDefinitionEClass = null;
401
402 /**
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 private EClass interpretationEClass = null;
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 private EClass variableEClass = null;
415
416 /**
417 * <!-- begin-user-doc -->
418 * <!-- end-user-doc -->
419 * @generated
420 */
421 private EClass disjunctionEClass = null;
422
423 /**
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 private EClass switchEClass = null;
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 private EClass conjunctionEClass = null;
436
437 /**
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @generated
441 */
442 private EClass comparisonEClass = null;
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 private EClass binaryExpressionEClass = null;
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 private EClass castExpressionEClass = null;
457
458 /**
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 */
463 private EClass unaryExpressionEClass = null;
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 private EClass nodeEClass = null;
471
472 /**
473 * <!-- begin-user-doc -->
474 * <!-- end-user-doc -->
475 * @generated
476 */
477 private EClass functorEClass = null;
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 private EClass predicateEClass = null;
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 private EClass metricEClass = null;
492
493 /**
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 */
498 private EEnum binaryOperatorEEnum = null;
499
500 /**
501 * <!-- begin-user-doc -->
502 * <!-- end-user-doc -->
503 * @generated
504 */
505 private EEnum unaryOpEEnum = null;
506
507 /**
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @generated
511 */
512 private EEnum logicValueEEnum = null;
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 private EEnum objectiveKindEEnum = null;
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 private EEnum quantifierEEnum = null;
527
528 /**
529 * Creates an instance of the model <b>Package</b>, registered with
530 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
531 * package URI value.
532 * <p>Note: the correct way to create the package is via the static
533 * factory method {@link #init init()}, which also performs
534 * initialization of the package, or returns the registered package,
535 * if one already exists.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @see org.eclipse.emf.ecore.EPackage.Registry
539 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
540 * @see #init()
541 * @generated
542 */
543 private SolverLanguagePackageImpl() {
544 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
545 }
546
547 /**
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 */
552 private static boolean isInited = false;
553
554 /**
555 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
556 *
557 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
558 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @see #eNS_URI
562 * @see #createPackageContents()
563 * @see #initializePackageContents()
564 * @generated
565 */
566 public static SolverLanguagePackage init() {
567 if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
568
569 // Obtain or create and register package
570 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
571 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl();
572
573 isInited = true;
574
575 // Create package meta-data objects
576 theSolverLanguagePackage.createPackageContents();
577
578 // Initialize created meta-data
579 theSolverLanguagePackage.initializePackageContents();
580
581 // Mark meta-data to indicate it can't be changed
582 theSolverLanguagePackage.freeze();
583
584 // Update the registry and return the package
585 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
586 return theSolverLanguagePackage;
587 }
588
589 /**
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 */
594 @Override
595 public EClass getProblem() {
596 return problemEClass;
597 }
598
599 /**
600 * <!-- begin-user-doc -->
601 * <!-- end-user-doc -->
602 * @generated
603 */
604 @Override
605 public EReference getProblem_Statements() {
606 return (EReference)problemEClass.getEStructuralFeatures().get(0);
607 }
608
609 /**
610 * <!-- begin-user-doc -->
611 * <!-- end-user-doc -->
612 * @generated
613 */
614 @Override
615 public EClass getStatement() {
616 return statementEClass;
617 }
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 @Override
625 public EClass getPredicateDefinition() {
626 return predicateDefinitionEClass;
627 }
628
629 /**
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 */
634 @Override
635 public EReference getPredicateDefinition_Head() {
636 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
637 }
638
639 /**
640 * <!-- begin-user-doc -->
641 * <!-- end-user-doc -->
642 * @generated
643 */
644 @Override
645 public EReference getPredicateDefinition_Body() {
646 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
647 }
648
649 /**
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 */
654 @Override
655 public EAttribute getPredicateDefinition_Functional() {
656 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
657 }
658
659 /**
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @generated
663 */
664 @Override
665 public EAttribute getPredicateDefinition_Error() {
666 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
667 }
668
669 /**
670 * <!-- begin-user-doc -->
671 * <!-- end-user-doc -->
672 * @generated
673 */
674 @Override
675 public EClass getUnnamedErrorPrediateDefinition() {
676 return unnamedErrorPrediateDefinitionEClass;
677 }
678
679 /**
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 @Override
685 public EReference getUnnamedErrorPrediateDefinition_ArgumentList() {
686 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
687 }
688
689 /**
690 * <!-- begin-user-doc -->
691 * <!-- end-user-doc -->
692 * @generated
693 */
694 @Override
695 public EReference getUnnamedErrorPrediateDefinition_Body() {
696 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
697 }
698
699 /**
700 * <!-- begin-user-doc -->
701 * <!-- end-user-doc -->
702 * @generated
703 */
704 @Override
705 public EClass getDefaultDefinition() {
706 return defaultDefinitionEClass;
707 }
708
709 /**
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @generated
713 */
714 @Override
715 public EReference getDefaultDefinition_Head() {
716 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
717 }
718
719 /**
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 */
724 @Override
725 public EReference getDefaultDefinition_Range() {
726 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
727 }
728
729 /**
730 * <!-- begin-user-doc -->
731 * <!-- end-user-doc -->
732 * @generated
733 */
734 @Override
735 public EClass getMetricDefinition() {
736 return metricDefinitionEClass;
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 @Override
745 public EReference getMetricDefinition_Head() {
746 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
747 }
748
749 /**
750 * <!-- begin-user-doc -->
751 * <!-- end-user-doc -->
752 * @generated
753 */
754 @Override
755 public EReference getMetricDefinition_Body() {
756 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
757 }
758
759 /**
760 * <!-- begin-user-doc -->
761 * <!-- end-user-doc -->
762 * @generated
763 */
764 @Override
765 public EReference getMetricDefinition_Type() {
766 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(2);
767 }
768
769 /**
770 * <!-- begin-user-doc -->
771 * <!-- end-user-doc -->
772 * @generated
773 */
774 @Override
775 public EClass getExternPredicateDefinition() {
776 return externPredicateDefinitionEClass;
777 }
778
779 /**
780 * <!-- begin-user-doc -->
781 * <!-- end-user-doc -->
782 * @generated
783 */
784 @Override
785 public EAttribute getExternPredicateDefinition_Name() {
786 return (EAttribute)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
787 }
788
789 /**
790 * <!-- begin-user-doc -->
791 * <!-- end-user-doc -->
792 * @generated
793 */
794 @Override
795 public EReference getExternPredicateDefinition_ArgumentList() {
796 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(1);
797 }
798
799 /**
800 * <!-- begin-user-doc -->
801 * <!-- end-user-doc -->
802 * @generated
803 */
804 @Override
805 public EClass getExternMetricDefinition() {
806 return externMetricDefinitionEClass;
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 @Override
815 public EReference getExternMetricDefinition_Type() {
816 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
817 }
818
819 /**
820 * <!-- begin-user-doc -->
821 * <!-- end-user-doc -->
822 * @generated
823 */
824 @Override
825 public EAttribute getExternMetricDefinition_Name() {
826 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
827 }
828
829 /**
830 * <!-- begin-user-doc -->
831 * <!-- end-user-doc -->
832 * @generated
833 */
834 @Override
835 public EReference getExternMetricDefinition_ArgumentList() {
836 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(2);
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 */
844 @Override
845 public EClass getExternAggregatorDefinition() {
846 return externAggregatorDefinitionEClass;
847 }
848
849 /**
850 * <!-- begin-user-doc -->
851 * <!-- end-user-doc -->
852 * @generated
853 */
854 @Override
855 public EReference getExternAggregatorDefinition_Type() {
856 return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(0);
857 }
858
859 /**
860 * <!-- begin-user-doc -->
861 * <!-- end-user-doc -->
862 * @generated
863 */
864 @Override
865 public EAttribute getExternAggregatorDefinition_Name() {
866 return (EAttribute)externAggregatorDefinitionEClass.getEStructuralFeatures().get(1);
867 }
868
869 /**
870 * <!-- begin-user-doc -->
871 * <!-- end-user-doc -->
872 * @generated
873 */
874 @Override
875 public EReference getExternAggregatorDefinition_InputType() {
876 return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(2);
877 }
878
879 /**
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @generated
883 */
884 @Override
885 public EClass getExternDatatypeDefinition() {
886 return externDatatypeDefinitionEClass;
887 }
888
889 /**
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @generated
893 */
894 @Override
895 public EAttribute getExternDatatypeDefinition_Name() {
896 return (EAttribute)externDatatypeDefinitionEClass.getEStructuralFeatures().get(0);
897 }
898
899 /**
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 */
904 @Override
905 public EReference getExternDatatypeDefinition_Supertypes() {
906 return (EReference)externDatatypeDefinitionEClass.getEStructuralFeatures().get(1);
907 }
908
909 /**
910 * <!-- begin-user-doc -->
911 * <!-- end-user-doc -->
912 * @generated
913 */
914 @Override
915 public EClass getNamedElement() {
916 return namedElementEClass;
917 }
918
919 /**
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @generated
923 */
924 @Override
925 public EAttribute getNamedElement_Name() {
926 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
927 }
928
929 /**
930 * <!-- begin-user-doc -->
931 * <!-- end-user-doc -->
932 * @generated
933 */
934 @Override
935 public EClass getExpression() {
936 return expressionEClass;
937 }
938
939 /**
940 * <!-- begin-user-doc -->
941 * <!-- end-user-doc -->
942 * @generated
943 */
944 @Override
945 public EClass getIfElse() {
946 return ifElseEClass;
947 }
948
949 /**
950 * <!-- begin-user-doc -->
951 * <!-- end-user-doc -->
952 * @generated
953 */
954 @Override
955 public EReference getIfElse_Then() {
956 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
957 }
958
959 /**
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @generated
963 */
964 @Override
965 public EReference getIfElse_Else() {
966 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
967 }
968
969 /**
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @generated
973 */
974 @Override
975 public EReference getIfElse_Condition() {
976 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
977 }
978
979 /**
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @generated
983 */
984 @Override
985 public EClass getLet() {
986 return letEClass;
987 }
988
989 /**
990 * <!-- begin-user-doc -->
991 * <!-- end-user-doc -->
992 * @generated
993 */
994 @Override
995 public EReference getLet_Bindings() {
996 return (EReference)letEClass.getEStructuralFeatures().get(0);
997 }
998
999 /**
1000 * <!-- begin-user-doc -->
1001 * <!-- end-user-doc -->
1002 * @generated
1003 */
1004 @Override
1005 public EReference getLet_Body() {
1006 return (EReference)letEClass.getEStructuralFeatures().get(1);
1007 }
1008
1009 /**
1010 * <!-- begin-user-doc -->
1011 * <!-- end-user-doc -->
1012 * @generated
1013 */
1014 @Override
1015 public EClass getLetBinding() {
1016 return letBindingEClass;
1017 }
1018
1019 /**
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 */
1024 @Override
1025 public EReference getLetBinding_Variable() {
1026 return (EReference)letBindingEClass.getEStructuralFeatures().get(0);
1027 }
1028
1029 /**
1030 * <!-- begin-user-doc -->
1031 * <!-- end-user-doc -->
1032 * @generated
1033 */
1034 @Override
1035 public EReference getLetBinding_Value() {
1036 return (EReference)letBindingEClass.getEStructuralFeatures().get(1);
1037 }
1038
1039 /**
1040 * <!-- begin-user-doc -->
1041 * <!-- end-user-doc -->
1042 * @generated
1043 */
1044 @Override
1045 public EClass getCase() {
1046 return caseEClass;
1047 }
1048
1049 /**
1050 * <!-- begin-user-doc -->
1051 * <!-- end-user-doc -->
1052 * @generated
1053 */
1054 @Override
1055 public EReference getCase_Body() {
1056 return (EReference)caseEClass.getEStructuralFeatures().get(0);
1057 }
1058
1059 /**
1060 * <!-- begin-user-doc -->
1061 * <!-- end-user-doc -->
1062 * @generated
1063 */
1064 @Override
1065 public EReference getCase_Condition() {
1066 return (EReference)caseEClass.getEStructuralFeatures().get(1);
1067 }
1068
1069 /**
1070 * <!-- begin-user-doc -->
1071 * <!-- end-user-doc -->
1072 * @generated
1073 */
1074 @Override
1075 public EClass getLocalVariables() {
1076 return localVariablesEClass;
1077 }
1078
1079 /**
1080 * <!-- begin-user-doc -->
1081 * <!-- end-user-doc -->
1082 * @generated
1083 */
1084 @Override
1085 public EReference getLocalVariables_Variables() {
1086 return (EReference)localVariablesEClass.getEStructuralFeatures().get(0);
1087 }
1088
1089 /**
1090 * <!-- begin-user-doc -->
1091 * <!-- end-user-doc -->
1092 * @generated
1093 */
1094 @Override
1095 public EClass getQuantifiedExpression() {
1096 return quantifiedExpressionEClass;
1097 }
1098
1099 /**
1100 * <!-- begin-user-doc -->
1101 * <!-- end-user-doc -->
1102 * @generated
1103 */
1104 @Override
1105 public EReference getQuantifiedExpression_LocalVariables() {
1106 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(0);
1107 }
1108
1109 /**
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @generated
1113 */
1114 @Override
1115 public EReference getQuantifiedExpression_Body() {
1116 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(1);
1117 }
1118
1119 /**
1120 * <!-- begin-user-doc -->
1121 * <!-- end-user-doc -->
1122 * @generated
1123 */
1124 @Override
1125 public EAttribute getQuantifiedExpression_Quantifier() {
1126 return (EAttribute)quantifiedExpressionEClass.getEStructuralFeatures().get(2);
1127 }
1128
1129 /**
1130 * <!-- begin-user-doc -->
1131 * <!-- end-user-doc -->
1132 * @generated
1133 */
1134 @Override
1135 public EClass getAggregation() {
1136 return aggregationEClass;
1137 }
1138
1139 /**
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 */
1144 @Override
1145 public EReference getAggregation_Op() {
1146 return (EReference)aggregationEClass.getEStructuralFeatures().get(0);
1147 }
1148
1149 /**
1150 * <!-- begin-user-doc -->
1151 * <!-- end-user-doc -->
1152 * @generated
1153 */
1154 @Override
1155 public EReference getAggregation_LocalVariables() {
1156 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
1157 }
1158
1159 /**
1160 * <!-- begin-user-doc -->
1161 * <!-- end-user-doc -->
1162 * @generated
1163 */
1164 @Override
1165 public EReference getAggregation_Body() {
1166 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
1167 }
1168
1169 /**
1170 * <!-- begin-user-doc -->
1171 * <!-- end-user-doc -->
1172 * @generated
1173 */
1174 @Override
1175 public EReference getAggregation_Condition() {
1176 return (EReference)aggregationEClass.getEStructuralFeatures().get(3);
1177 }
1178
1179 /**
1180 * <!-- begin-user-doc -->
1181 * <!-- end-user-doc -->
1182 * @generated
1183 */
1184 @Override
1185 public EClass getCall() {
1186 return callEClass;
1187 }
1188
1189 /**
1190 * <!-- begin-user-doc -->
1191 * <!-- end-user-doc -->
1192 * @generated
1193 */
1194 @Override
1195 public EReference getCall_Functor() {
1196 return (EReference)callEClass.getEStructuralFeatures().get(0);
1197 }
1198
1199 /**
1200 * <!-- begin-user-doc -->
1201 * <!-- end-user-doc -->
1202 * @generated
1203 */
1204 @Override
1205 public EAttribute getCall_TransitiveClosure() {
1206 return (EAttribute)callEClass.getEStructuralFeatures().get(1);
1207 }
1208
1209 /**
1210 * <!-- begin-user-doc -->
1211 * <!-- end-user-doc -->
1212 * @generated
1213 */
1214 @Override
1215 public EAttribute getCall_ReflexiveTransitiveClosure() {
1216 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
1217 }
1218
1219 /**
1220 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc -->
1222 * @generated
1223 */
1224 @Override
1225 public EReference getCall_ArgumentList() {
1226 return (EReference)callEClass.getEStructuralFeatures().get(3);
1227 }
1228
1229 /**
1230 * <!-- begin-user-doc -->
1231 * <!-- end-user-doc -->
1232 * @generated
1233 */
1234 @Override
1235 public EClass getArgumentList() {
1236 return argumentListEClass;
1237 }
1238
1239 /**
1240 * <!-- begin-user-doc -->
1241 * <!-- end-user-doc -->
1242 * @generated
1243 */
1244 @Override
1245 public EReference getArgumentList_Arguments() {
1246 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
1247 }
1248
1249 /**
1250 * <!-- begin-user-doc -->
1251 * <!-- end-user-doc -->
1252 * @generated
1253 */
1254 @Override
1255 public EClass getArgument() {
1256 return argumentEClass;
1257 }
1258
1259 /**
1260 * <!-- begin-user-doc -->
1261 * <!-- end-user-doc -->
1262 * @generated
1263 */
1264 @Override
1265 public EClass getExpressionArgument() {
1266 return expressionArgumentEClass;
1267 }
1268
1269 /**
1270 * <!-- begin-user-doc -->
1271 * <!-- end-user-doc -->
1272 * @generated
1273 */
1274 @Override
1275 public EReference getExpressionArgument_Body() {
1276 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
1277 }
1278
1279 /**
1280 * <!-- begin-user-doc -->
1281 * <!-- end-user-doc -->
1282 * @generated
1283 */
1284 @Override
1285 public EClass getStarArgument() {
1286 return starArgumentEClass;
1287 }
1288
1289 /**
1290 * <!-- begin-user-doc -->
1291 * <!-- end-user-doc -->
1292 * @generated
1293 */
1294 @Override
1295 public EClass getTypedArgument() {
1296 return typedArgumentEClass;
1297 }
1298
1299 /**
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 */
1304 @Override
1305 public EReference getTypedArgument_Type() {
1306 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
1307 }
1308
1309 /**
1310 * <!-- begin-user-doc -->
1311 * <!-- end-user-doc -->
1312 * @generated
1313 */
1314 @Override
1315 public EReference getTypedArgument_Variable() {
1316 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1317 }
1318
1319 /**
1320 * <!-- begin-user-doc -->
1321 * <!-- end-user-doc -->
1322 * @generated
1323 */
1324 @Override
1325 public EClass getTypedStarArgument() {
1326 return typedStarArgumentEClass;
1327 }
1328
1329 /**
1330 * <!-- begin-user-doc -->
1331 * <!-- end-user-doc -->
1332 * @generated
1333 */
1334 @Override
1335 public EReference getTypedStarArgument_Type() {
1336 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1337 }
1338
1339 /**
1340 * <!-- begin-user-doc -->
1341 * <!-- end-user-doc -->
1342 * @generated
1343 */
1344 @Override
1345 public EClass getReference() {
1346 return referenceEClass;
1347 }
1348
1349 /**
1350 * <!-- begin-user-doc -->
1351 * <!-- end-user-doc -->
1352 * @generated
1353 */
1354 @Override
1355 public EReference getReference_Referred() {
1356 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1357 }
1358
1359 /**
1360 * <!-- begin-user-doc -->
1361 * <!-- end-user-doc -->
1362 * @generated
1363 */
1364 @Override
1365 public EClass getInterval() {
1366 return intervalEClass;
1367 }
1368
1369 /**
1370 * <!-- begin-user-doc -->
1371 * <!-- end-user-doc -->
1372 * @generated
1373 */
1374 @Override
1375 public EReference getInterval_LowerBound() {
1376 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1377 }
1378
1379 /**
1380 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc -->
1382 * @generated
1383 */
1384 @Override
1385 public EReference getInterval_UpperBound() {
1386 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1387 }
1388
1389 /**
1390 * <!-- begin-user-doc -->
1391 * <!-- end-user-doc -->
1392 * @generated
1393 */
1394 @Override
1395 public EClass getLiteral() {
1396 return literalEClass;
1397 }
1398
1399 /**
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @generated
1403 */
1404 @Override
1405 public EClass getLogicLiteral() {
1406 return logicLiteralEClass;
1407 }
1408
1409 /**
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @generated
1413 */
1414 @Override
1415 public EAttribute getLogicLiteral_Value() {
1416 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1417 }
1418
1419 /**
1420 * <!-- begin-user-doc -->
1421 * <!-- end-user-doc -->
1422 * @generated
1423 */
1424 @Override
1425 public EClass getNumericLiteral() {
1426 return numericLiteralEClass;
1427 }
1428
1429 /**
1430 * <!-- begin-user-doc -->
1431 * <!-- end-user-doc -->
1432 * @generated
1433 */
1434 @Override
1435 public EAttribute getNumericLiteral_Value() {
1436 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1437 }
1438
1439 /**
1440 * <!-- begin-user-doc -->
1441 * <!-- end-user-doc -->
1442 * @generated
1443 */
1444 @Override
1445 public EClass getInfinityLiteral() {
1446 return infinityLiteralEClass;
1447 }
1448
1449 /**
1450 * <!-- begin-user-doc -->
1451 * <!-- end-user-doc -->
1452 * @generated
1453 */
1454 @Override
1455 public EClass getEmptyIntervalLiteral() {
1456 return emptyIntervalLiteralEClass;
1457 }
1458
1459 /**
1460 * <!-- begin-user-doc -->
1461 * <!-- end-user-doc -->
1462 * @generated
1463 */
1464 @Override
1465 public EClass getStringLiteral() {
1466 return stringLiteralEClass;
1467 }
1468
1469 /**
1470 * <!-- begin-user-doc -->
1471 * <!-- end-user-doc -->
1472 * @generated
1473 */
1474 @Override
1475 public EAttribute getStringLiteral_Value() {
1476 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1477 }
1478
1479 /**
1480 * <!-- begin-user-doc -->
1481 * <!-- end-user-doc -->
1482 * @generated
1483 */
1484 @Override
1485 public EClass getClassDefinition() {
1486 return classDefinitionEClass;
1487 }
1488
1489 /**
1490 * <!-- begin-user-doc -->
1491 * <!-- end-user-doc -->
1492 * @generated
1493 */
1494 @Override
1495 public EAttribute getClassDefinition_Abstract() {
1496 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0);
1497 }
1498
1499 /**
1500 * <!-- begin-user-doc -->
1501 * <!-- end-user-doc -->
1502 * @generated
1503 */
1504 @Override
1505 public EAttribute getClassDefinition_Name() {
1506 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1);
1507 }
1508
1509 /**
1510 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc -->
1512 * @generated
1513 */
1514 @Override
1515 public EReference getClassDefinition_Superclasses() {
1516 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2);
1517 }
1518
1519 /**
1520 * <!-- begin-user-doc -->
1521 * <!-- end-user-doc -->
1522 * @generated
1523 */
1524 @Override
1525 public EReference getClassDefinition_Members() {
1526 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3);
1527 }
1528
1529 /**
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 */
1534 @Override
1535 public EClass getMemberDefinition() {
1536 return memberDefinitionEClass;
1537 }
1538
1539 /**
1540 * <!-- begin-user-doc -->
1541 * <!-- end-user-doc -->
1542 * @generated
1543 */
1544 @Override
1545 public EAttribute getMemberDefinition_Containment() {
1546 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1547 }
1548
1549 /**
1550 * <!-- begin-user-doc -->
1551 * <!-- end-user-doc -->
1552 * @generated
1553 */
1554 @Override
1555 public EReference getMemberDefinition_Type() {
1556 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1557 }
1558
1559 /**
1560 * <!-- begin-user-doc -->
1561 * <!-- end-user-doc -->
1562 * @generated
1563 */
1564 @Override
1565 public EReference getMemberDefinition_Multiplicity() {
1566 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1567 }
1568
1569 /**
1570 * <!-- begin-user-doc -->
1571 * <!-- end-user-doc -->
1572 * @generated
1573 */
1574 @Override
1575 public EAttribute getMemberDefinition_Name() {
1576 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1577 }
1578
1579 /**
1580 * <!-- begin-user-doc -->
1581 * <!-- end-user-doc -->
1582 * @generated
1583 */
1584 @Override
1585 public EReference getMemberDefinition_Opposite() {
1586 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1587 }
1588
1589 /**
1590 * <!-- begin-user-doc -->
1591 * <!-- end-user-doc -->
1592 * @generated
1593 */
1594 @Override
1595 public EClass getMultiplicity() {
1596 return multiplicityEClass;
1597 }
1598
1599 /**
1600 * <!-- begin-user-doc -->
1601 * <!-- end-user-doc -->
1602 * @generated
1603 */
1604 @Override
1605 public EClass getManyMultiplicity() {
1606 return manyMultiplicityEClass;
1607 }
1608
1609 /**
1610 * <!-- begin-user-doc -->
1611 * <!-- end-user-doc -->
1612 * @generated
1613 */
1614 @Override
1615 public EClass getExactMultiplicity() {
1616 return exactMultiplicityEClass;
1617 }
1618
1619 /**
1620 * <!-- begin-user-doc -->
1621 * <!-- end-user-doc -->
1622 * @generated
1623 */
1624 @Override
1625 public EAttribute getExactMultiplicity_Multiplicity() {
1626 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1627 }
1628
1629 /**
1630 * <!-- begin-user-doc -->
1631 * <!-- end-user-doc -->
1632 * @generated
1633 */
1634 @Override
1635 public EClass getBoundedMultiplicity() {
1636 return boundedMultiplicityEClass;
1637 }
1638
1639 /**
1640 * <!-- begin-user-doc -->
1641 * <!-- end-user-doc -->
1642 * @generated
1643 */
1644 @Override
1645 public EAttribute getBoundedMultiplicity_LowerBound() {
1646 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1647 }
1648
1649 /**
1650 * <!-- begin-user-doc -->
1651 * <!-- end-user-doc -->
1652 * @generated
1653 */
1654 @Override
1655 public EAttribute getBoundedMultiplicity_UpperBound() {
1656 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1657 }
1658
1659 /**
1660 * <!-- begin-user-doc -->
1661 * <!-- end-user-doc -->
1662 * @generated
1663 */
1664 @Override
1665 public EClass getScopeDefinition() {
1666 return scopeDefinitionEClass;
1667 }
1668
1669 /**
1670 * <!-- begin-user-doc -->
1671 * <!-- end-user-doc -->
1672 * @generated
1673 */
1674 @Override
1675 public EReference getScopeDefinition_Type() {
1676 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1677 }
1678
1679 /**
1680 * <!-- begin-user-doc -->
1681 * <!-- end-user-doc -->
1682 * @generated
1683 */
1684 @Override
1685 public EClass getExactScopeDefinition() {
1686 return exactScopeDefinitionEClass;
1687 }
1688
1689 /**
1690 * <!-- begin-user-doc -->
1691 * <!-- end-user-doc -->
1692 * @generated
1693 */
1694 @Override
1695 public EAttribute getExactScopeDefinition_ExactScope() {
1696 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1697 }
1698
1699 /**
1700 * <!-- begin-user-doc -->
1701 * <!-- end-user-doc -->
1702 * @generated
1703 */
1704 @Override
1705 public EClass getBoundedScopeDefinition() {
1706 return boundedScopeDefinitionEClass;
1707 }
1708
1709 /**
1710 * <!-- begin-user-doc -->
1711 * <!-- end-user-doc -->
1712 * @generated
1713 */
1714 @Override
1715 public EAttribute getBoundedScopeDefinition_LowerBound() {
1716 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1717 }
1718
1719 /**
1720 * <!-- begin-user-doc -->
1721 * <!-- end-user-doc -->
1722 * @generated
1723 */
1724 @Override
1725 public EAttribute getBoundedScopeDefinition_UpperBound() {
1726 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1727 }
1728
1729 /**
1730 * <!-- begin-user-doc -->
1731 * <!-- end-user-doc -->
1732 * @generated
1733 */
1734 @Override
1735 public EClass getLowerBoundedScopeDefinition() {
1736 return lowerBoundedScopeDefinitionEClass;
1737 }
1738
1739 /**
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @generated
1743 */
1744 @Override
1745 public EAttribute getLowerBoundedScopeDefinition_LowerBound() {
1746 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1747 }
1748
1749 /**
1750 * <!-- begin-user-doc -->
1751 * <!-- end-user-doc -->
1752 * @generated
1753 */
1754 @Override
1755 public EClass getObjectiveDefinition() {
1756 return objectiveDefinitionEClass;
1757 }
1758
1759 /**
1760 * <!-- begin-user-doc -->
1761 * <!-- end-user-doc -->
1762 * @generated
1763 */
1764 @Override
1765 public EAttribute getObjectiveDefinition_Kind() {
1766 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1767 }
1768
1769 /**
1770 * <!-- begin-user-doc -->
1771 * <!-- end-user-doc -->
1772 * @generated
1773 */
1774 @Override
1775 public EReference getObjectiveDefinition_Objective() {
1776 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1777 }
1778
1779 /**
1780 * <!-- begin-user-doc -->
1781 * <!-- end-user-doc -->
1782 * @generated
1783 */
1784 @Override
1785 public EClass getInterpretation() {
1786 return interpretationEClass;
1787 }
1788
1789 /**
1790 * <!-- begin-user-doc -->
1791 * <!-- end-user-doc -->
1792 * @generated
1793 */
1794 @Override
1795 public EReference getInterpretation_Body() {
1796 return (EReference)interpretationEClass.getEStructuralFeatures().get(0);
1797 }
1798
1799 /**
1800 * <!-- begin-user-doc -->
1801 * <!-- end-user-doc -->
1802 * @generated
1803 */
1804 @Override
1805 public EReference getInterpretation_Range() {
1806 return (EReference)interpretationEClass.getEStructuralFeatures().get(1);
1807 }
1808
1809 /**
1810 * <!-- begin-user-doc -->
1811 * <!-- end-user-doc -->
1812 * @generated
1813 */
1814 @Override
1815 public EClass getVariable() {
1816 return variableEClass;
1817 }
1818
1819 /**
1820 * <!-- begin-user-doc -->
1821 * <!-- end-user-doc -->
1822 * @generated
1823 */
1824 @Override
1825 public EReference getVariable_Type() {
1826 return (EReference)variableEClass.getEStructuralFeatures().get(0);
1827 }
1828
1829 /**
1830 * <!-- begin-user-doc -->
1831 * <!-- end-user-doc -->
1832 * @generated
1833 */
1834 @Override
1835 public EClass getDisjunction() {
1836 return disjunctionEClass;
1837 }
1838
1839 /**
1840 * <!-- begin-user-doc -->
1841 * <!-- end-user-doc -->
1842 * @generated
1843 */
1844 @Override
1845 public EReference getDisjunction_Children() {
1846 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1847 }
1848
1849 /**
1850 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc -->
1852 * @generated
1853 */
1854 @Override
1855 public EClass getSwitch() {
1856 return switchEClass;
1857 }
1858
1859 /**
1860 * <!-- begin-user-doc -->
1861 * <!-- end-user-doc -->
1862 * @generated
1863 */
1864 @Override
1865 public EReference getSwitch_Cases() {
1866 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1867 }
1868
1869 /**
1870 * <!-- begin-user-doc -->
1871 * <!-- end-user-doc -->
1872 * @generated
1873 */
1874 @Override
1875 public EClass getConjunction() {
1876 return conjunctionEClass;
1877 }
1878
1879 /**
1880 * <!-- begin-user-doc -->
1881 * <!-- end-user-doc -->
1882 * @generated
1883 */
1884 @Override
1885 public EReference getConjunction_Children() {
1886 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1887 }
1888
1889 /**
1890 * <!-- begin-user-doc -->
1891 * <!-- end-user-doc -->
1892 * @generated
1893 */
1894 @Override
1895 public EClass getComparison() {
1896 return comparisonEClass;
1897 }
1898
1899 /**
1900 * <!-- begin-user-doc -->
1901 * <!-- end-user-doc -->
1902 * @generated
1903 */
1904 @Override
1905 public EReference getComparison_Left() {
1906 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1907 }
1908
1909 /**
1910 * <!-- begin-user-doc -->
1911 * <!-- end-user-doc -->
1912 * @generated
1913 */
1914 @Override
1915 public EAttribute getComparison_Op() {
1916 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1917 }
1918
1919 /**
1920 * <!-- begin-user-doc -->
1921 * <!-- end-user-doc -->
1922 * @generated
1923 */
1924 @Override
1925 public EReference getComparison_Right() {
1926 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1927 }
1928
1929 /**
1930 * <!-- begin-user-doc -->
1931 * <!-- end-user-doc -->
1932 * @generated
1933 */
1934 @Override
1935 public EClass getBinaryExpression() {
1936 return binaryExpressionEClass;
1937 }
1938
1939 /**
1940 * <!-- begin-user-doc -->
1941 * <!-- end-user-doc -->
1942 * @generated
1943 */
1944 @Override
1945 public EReference getBinaryExpression_Left() {
1946 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1947 }
1948
1949 /**
1950 * <!-- begin-user-doc -->
1951 * <!-- end-user-doc -->
1952 * @generated
1953 */
1954 @Override
1955 public EAttribute getBinaryExpression_Op() {
1956 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1957 }
1958
1959 /**
1960 * <!-- begin-user-doc -->
1961 * <!-- end-user-doc -->
1962 * @generated
1963 */
1964 @Override
1965 public EReference getBinaryExpression_Right() {
1966 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1967 }
1968
1969 /**
1970 * <!-- begin-user-doc -->
1971 * <!-- end-user-doc -->
1972 * @generated
1973 */
1974 @Override
1975 public EClass getCastExpression() {
1976 return castExpressionEClass;
1977 }
1978
1979 /**
1980 * <!-- begin-user-doc -->
1981 * <!-- end-user-doc -->
1982 * @generated
1983 */
1984 @Override
1985 public EReference getCastExpression_Body() {
1986 return (EReference)castExpressionEClass.getEStructuralFeatures().get(0);
1987 }
1988
1989 /**
1990 * <!-- begin-user-doc -->
1991 * <!-- end-user-doc -->
1992 * @generated
1993 */
1994 @Override
1995 public EReference getCastExpression_Type() {
1996 return (EReference)castExpressionEClass.getEStructuralFeatures().get(1);
1997 }
1998
1999 /**
2000 * <!-- begin-user-doc -->
2001 * <!-- end-user-doc -->
2002 * @generated
2003 */
2004 @Override
2005 public EClass getUnaryExpression() {
2006 return unaryExpressionEClass;
2007 }
2008
2009 /**
2010 * <!-- begin-user-doc -->
2011 * <!-- end-user-doc -->
2012 * @generated
2013 */
2014 @Override
2015 public EAttribute getUnaryExpression_Op() {
2016 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
2017 }
2018
2019 /**
2020 * <!-- begin-user-doc -->
2021 * <!-- end-user-doc -->
2022 * @generated
2023 */
2024 @Override
2025 public EReference getUnaryExpression_Body() {
2026 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
2027 }
2028
2029 /**
2030 * <!-- begin-user-doc -->
2031 * <!-- end-user-doc -->
2032 * @generated
2033 */
2034 @Override
2035 public EClass getNode() {
2036 return nodeEClass;
2037 }
2038
2039 /**
2040 * <!-- begin-user-doc -->
2041 * <!-- end-user-doc -->
2042 * @generated
2043 */
2044 @Override
2045 public EAttribute getNode_WithId() {
2046 return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
2047 }
2048
2049 /**
2050 * <!-- begin-user-doc -->
2051 * <!-- end-user-doc -->
2052 * @generated
2053 */
2054 @Override
2055 public EClass getFunctor() {
2056 return functorEClass;
2057 }
2058
2059 /**
2060 * <!-- begin-user-doc -->
2061 * <!-- end-user-doc -->
2062 * @generated
2063 */
2064 @Override
2065 public EReference getFunctor_Parameters() {
2066 return (EReference)functorEClass.getEStructuralFeatures().get(0);
2067 }
2068
2069 /**
2070 * <!-- begin-user-doc -->
2071 * <!-- end-user-doc -->
2072 * @generated
2073 */
2074 @Override
2075 public EClass getPredicate() {
2076 return predicateEClass;
2077 }
2078
2079 /**
2080 * <!-- begin-user-doc -->
2081 * <!-- end-user-doc -->
2082 * @generated
2083 */
2084 @Override
2085 public EClass getMetric() {
2086 return metricEClass;
2087 }
2088
2089 /**
2090 * <!-- begin-user-doc -->
2091 * <!-- end-user-doc -->
2092 * @generated
2093 */
2094 @Override
2095 public EReference getMetric_ReturnType() {
2096 return (EReference)metricEClass.getEStructuralFeatures().get(0);
2097 }
2098
2099 /**
2100 * <!-- begin-user-doc -->
2101 * <!-- end-user-doc -->
2102 * @generated
2103 */
2104 @Override
2105 public EEnum getBinaryOperator() {
2106 return binaryOperatorEEnum;
2107 }
2108
2109 /**
2110 * <!-- begin-user-doc -->
2111 * <!-- end-user-doc -->
2112 * @generated
2113 */
2114 @Override
2115 public EEnum getUnaryOp() {
2116 return unaryOpEEnum;
2117 }
2118
2119 /**
2120 * <!-- begin-user-doc -->
2121 * <!-- end-user-doc -->
2122 * @generated
2123 */
2124 @Override
2125 public EEnum getLogicValue() {
2126 return logicValueEEnum;
2127 }
2128
2129 /**
2130 * <!-- begin-user-doc -->
2131 * <!-- end-user-doc -->
2132 * @generated
2133 */
2134 @Override
2135 public EEnum getObjectiveKind() {
2136 return objectiveKindEEnum;
2137 }
2138
2139 /**
2140 * <!-- begin-user-doc -->
2141 * <!-- end-user-doc -->
2142 * @generated
2143 */
2144 @Override
2145 public EEnum getQuantifier() {
2146 return quantifierEEnum;
2147 }
2148
2149 /**
2150 * <!-- begin-user-doc -->
2151 * <!-- end-user-doc -->
2152 * @generated
2153 */
2154 @Override
2155 public SolverLanguageFactory getSolverLanguageFactory() {
2156 return (SolverLanguageFactory)getEFactoryInstance();
2157 }
2158
2159 /**
2160 * <!-- begin-user-doc -->
2161 * <!-- end-user-doc -->
2162 * @generated
2163 */
2164 private boolean isCreated = false;
2165
2166 /**
2167 * Creates the meta-model objects for the package. This method is
2168 * guarded to have no affect on any invocation but its first.
2169 * <!-- begin-user-doc -->
2170 * <!-- end-user-doc -->
2171 * @generated
2172 */
2173 public void createPackageContents() {
2174 if (isCreated) return;
2175 isCreated = true;
2176
2177 // Create classes and their features
2178 problemEClass = createEClass(PROBLEM);
2179 createEReference(problemEClass, PROBLEM__STATEMENTS);
2180
2181 statementEClass = createEClass(STATEMENT);
2182
2183 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
2184 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
2185 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
2186 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
2187 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
2188
2189 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
2190 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
2191 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
2192
2193 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
2194 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
2195 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
2196
2197 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
2198 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
2199 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
2200 createEReference(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
2201
2202 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
2203 createEAttribute(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__NAME);
2204 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST);
2205
2206 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
2207 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
2208 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__NAME);
2209 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__ARGUMENT_LIST);
2210
2211 externAggregatorDefinitionEClass = createEClass(EXTERN_AGGREGATOR_DEFINITION);
2212 createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__TYPE);
2213 createEAttribute(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__NAME);
2214 createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE);
2215
2216 externDatatypeDefinitionEClass = createEClass(EXTERN_DATATYPE_DEFINITION);
2217 createEAttribute(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__NAME);
2218 createEReference(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__SUPERTYPES);
2219
2220 namedElementEClass = createEClass(NAMED_ELEMENT);
2221 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
2222
2223 expressionEClass = createEClass(EXPRESSION);
2224
2225 ifElseEClass = createEClass(IF_ELSE);
2226 createEReference(ifElseEClass, IF_ELSE__THEN);
2227 createEReference(ifElseEClass, IF_ELSE__ELSE);
2228 createEReference(ifElseEClass, IF_ELSE__CONDITION);
2229
2230 letEClass = createEClass(LET);
2231 createEReference(letEClass, LET__BINDINGS);
2232 createEReference(letEClass, LET__BODY);
2233
2234 letBindingEClass = createEClass(LET_BINDING);
2235 createEReference(letBindingEClass, LET_BINDING__VARIABLE);
2236 createEReference(letBindingEClass, LET_BINDING__VALUE);
2237
2238 caseEClass = createEClass(CASE);
2239 createEReference(caseEClass, CASE__BODY);
2240 createEReference(caseEClass, CASE__CONDITION);
2241
2242 localVariablesEClass = createEClass(LOCAL_VARIABLES);
2243 createEReference(localVariablesEClass, LOCAL_VARIABLES__VARIABLES);
2244
2245 quantifiedExpressionEClass = createEClass(QUANTIFIED_EXPRESSION);
2246 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__LOCAL_VARIABLES);
2247 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__BODY);
2248 createEAttribute(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__QUANTIFIER);
2249
2250 aggregationEClass = createEClass(AGGREGATION);
2251 createEReference(aggregationEClass, AGGREGATION__OP);
2252 createEReference(aggregationEClass, AGGREGATION__LOCAL_VARIABLES);
2253 createEReference(aggregationEClass, AGGREGATION__BODY);
2254 createEReference(aggregationEClass, AGGREGATION__CONDITION);
2255
2256 callEClass = createEClass(CALL);
2257 createEReference(callEClass, CALL__FUNCTOR);
2258 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
2259 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
2260 createEReference(callEClass, CALL__ARGUMENT_LIST);
2261
2262 argumentListEClass = createEClass(ARGUMENT_LIST);
2263 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
2264
2265 argumentEClass = createEClass(ARGUMENT);
2266
2267 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
2268 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
2269
2270 starArgumentEClass = createEClass(STAR_ARGUMENT);
2271
2272 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
2273 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
2274 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
2275
2276 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
2277 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
2278
2279 referenceEClass = createEClass(REFERENCE);
2280 createEReference(referenceEClass, REFERENCE__REFERRED);
2281
2282 intervalEClass = createEClass(INTERVAL);
2283 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
2284 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
2285
2286 literalEClass = createEClass(LITERAL);
2287
2288 logicLiteralEClass = createEClass(LOGIC_LITERAL);
2289 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
2290
2291 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
2292 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
2293
2294 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
2295
2296 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
2297
2298 stringLiteralEClass = createEClass(STRING_LITERAL);
2299 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
2300
2301 classDefinitionEClass = createEClass(CLASS_DEFINITION);
2302 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT);
2303 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME);
2304 createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES);
2305 createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS);
2306
2307 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
2308 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2309 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2310 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2311 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2312 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
2313
2314 multiplicityEClass = createEClass(MULTIPLICITY);
2315
2316 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
2317
2318 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2319 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
2320
2321 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
2322 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
2323 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
2324
2325 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
2326 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
2327
2328 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
2329 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
2330
2331 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
2332 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2333 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
2334
2335 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
2336 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2337
2338 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2339 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2340 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
2341
2342 interpretationEClass = createEClass(INTERPRETATION);
2343 createEReference(interpretationEClass, INTERPRETATION__BODY);
2344 createEReference(interpretationEClass, INTERPRETATION__RANGE);
2345
2346 variableEClass = createEClass(VARIABLE);
2347 createEReference(variableEClass, VARIABLE__TYPE);
2348
2349 disjunctionEClass = createEClass(DISJUNCTION);
2350 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
2351
2352 switchEClass = createEClass(SWITCH);
2353 createEReference(switchEClass, SWITCH__CASES);
2354
2355 conjunctionEClass = createEClass(CONJUNCTION);
2356 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
2357
2358 comparisonEClass = createEClass(COMPARISON);
2359 createEReference(comparisonEClass, COMPARISON__LEFT);
2360 createEAttribute(comparisonEClass, COMPARISON__OP);
2361 createEReference(comparisonEClass, COMPARISON__RIGHT);
2362
2363 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2364 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2365 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2366 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
2367
2368 castExpressionEClass = createEClass(CAST_EXPRESSION);
2369 createEReference(castExpressionEClass, CAST_EXPRESSION__BODY);
2370 createEReference(castExpressionEClass, CAST_EXPRESSION__TYPE);
2371
2372 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2373 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2374 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
2375
2376 nodeEClass = createEClass(NODE);
2377 createEAttribute(nodeEClass, NODE__WITH_ID);
2378
2379 functorEClass = createEClass(FUNCTOR);
2380 createEReference(functorEClass, FUNCTOR__PARAMETERS);
2381
2382 predicateEClass = createEClass(PREDICATE);
2383
2384 metricEClass = createEClass(METRIC);
2385 createEReference(metricEClass, METRIC__RETURN_TYPE);
2386
2387 // Create enums
2388 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2389 unaryOpEEnum = createEEnum(UNARY_OP);
2390 logicValueEEnum = createEEnum(LOGIC_VALUE);
2391 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
2392 quantifierEEnum = createEEnum(QUANTIFIER);
2393 }
2394
2395 /**
2396 * <!-- begin-user-doc -->
2397 * <!-- end-user-doc -->
2398 * @generated
2399 */
2400 private boolean isInitialized = false;
2401
2402 /**
2403 * Complete the initialization of the package and its meta-model. This
2404 * method is guarded to have no affect on any invocation but its first.
2405 * <!-- begin-user-doc -->
2406 * <!-- end-user-doc -->
2407 * @generated
2408 */
2409 public void initializePackageContents() {
2410 if (isInitialized) return;
2411 isInitialized = true;
2412
2413 // Initialize package
2414 setName(eNAME);
2415 setNsPrefix(eNS_PREFIX);
2416 setNsURI(eNS_URI);
2417
2418 // Create type parameters
2419
2420 // Set bounds for type parameters
2421
2422 // Add supertypes to classes
2423 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2424 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
2425 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
2426 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
2427 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2428 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
2429 externAggregatorDefinitionEClass.getESuperTypes().add(this.getStatement());
2430 externDatatypeDefinitionEClass.getESuperTypes().add(this.getStatement());
2431 expressionEClass.getESuperTypes().add(this.getStatement());
2432 ifElseEClass.getESuperTypes().add(this.getExpression());
2433 letEClass.getESuperTypes().add(this.getExpression());
2434 caseEClass.getESuperTypes().add(this.getExpression());
2435 quantifiedExpressionEClass.getESuperTypes().add(this.getExpression());
2436 aggregationEClass.getESuperTypes().add(this.getExpression());
2437 callEClass.getESuperTypes().add(this.getExpression());
2438 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
2439 starArgumentEClass.getESuperTypes().add(this.getArgument());
2440 typedArgumentEClass.getESuperTypes().add(this.getArgument());
2441 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
2442 referenceEClass.getESuperTypes().add(this.getExpression());
2443 intervalEClass.getESuperTypes().add(this.getExpression());
2444 literalEClass.getESuperTypes().add(this.getExpression());
2445 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
2446 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
2447 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2448 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
2449 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2450 classDefinitionEClass.getESuperTypes().add(this.getStatement());
2451 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2452 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2453 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2454 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
2455 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2456 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2457 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2458 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
2459 interpretationEClass.getESuperTypes().add(this.getStatement());
2460 variableEClass.getESuperTypes().add(this.getNamedElement());
2461 disjunctionEClass.getESuperTypes().add(this.getExpression());
2462 switchEClass.getESuperTypes().add(this.getExpression());
2463 conjunctionEClass.getESuperTypes().add(this.getExpression());
2464 comparisonEClass.getESuperTypes().add(this.getExpression());
2465 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
2466 castExpressionEClass.getESuperTypes().add(this.getExpression());
2467 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
2468 nodeEClass.getESuperTypes().add(this.getNamedElement());
2469 functorEClass.getESuperTypes().add(this.getNamedElement());
2470 predicateEClass.getESuperTypes().add(this.getFunctor());
2471 metricEClass.getESuperTypes().add(this.getFunctor());
2472
2473 // Initialize classes and features; add operations and parameters
2474 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2475 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);
2476
2477 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2478
2479 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2480 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);
2481 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);
2482 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);
2483 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);
2484
2485 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2486 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);
2487 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);
2488
2489 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2490 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);
2491 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);
2492
2493 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2494 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);
2495 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);
2496 initEReference(getMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2497
2498 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2499 initEAttribute(getExternPredicateDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2500 initEReference(getExternPredicateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2501
2502 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2503 initEReference(getExternMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2504 initEAttribute(getExternMetricDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2505 initEReference(getExternMetricDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2506
2507 initEClass(externAggregatorDefinitionEClass, ExternAggregatorDefinition.class, "ExternAggregatorDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2508 initEReference(getExternAggregatorDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2509 initEAttribute(getExternAggregatorDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2510 initEReference(getExternAggregatorDefinition_InputType(), this.getNamedElement(), null, "inputType", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2511
2512 initEClass(externDatatypeDefinitionEClass, ExternDatatypeDefinition.class, "ExternDatatypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2513 initEAttribute(getExternDatatypeDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2514 initEReference(getExternDatatypeDefinition_Supertypes(), this.getNamedElement(), null, "supertypes", null, 0, -1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2515
2516 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2517 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);
2518
2519 initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2520
2521 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2522 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);
2523 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);
2524 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);
2525
2526 initEClass(letEClass, Let.class, "Let", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2527 initEReference(getLet_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2528 initEReference(getLet_Body(), this.getExpression(), null, "body", null, 0, 1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2529
2530 initEClass(letBindingEClass, LetBinding.class, "LetBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2531 initEReference(getLetBinding_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2532 initEReference(getLetBinding_Value(), this.getExpression(), null, "value", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2533
2534 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2535 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);
2536 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);
2537
2538 initEClass(localVariablesEClass, LocalVariables.class, "LocalVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2539 initEReference(getLocalVariables_Variables(), this.getNamedElement(), null, "variables", null, 0, -1, LocalVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2540
2541 initEClass(quantifiedExpressionEClass, QuantifiedExpression.class, "QuantifiedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2542 initEReference(getQuantifiedExpression_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2543 initEReference(getQuantifiedExpression_Body(), this.getExpression(), null, "body", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2544 initEAttribute(getQuantifiedExpression_Quantifier(), this.getQuantifier(), "quantifier", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2545
2546 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2547 initEReference(getAggregation_Op(), this.getNamedElement(), null, "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2548 initEReference(getAggregation_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2549 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);
2550 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);
2551
2552 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2553 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);
2554 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);
2555 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);
2556 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);
2557
2558 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2559 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);
2560
2561 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2562
2563 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2564 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);
2565
2566 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2567
2568 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2569 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);
2570 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);
2571
2572 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2573 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);
2574
2575 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2576 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);
2577
2578 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2579 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);
2580 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);
2581
2582 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2583
2584 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2585 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);
2586
2587 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2588 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);
2589
2590 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2591
2592 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2593
2594 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2595 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);
2596
2597 initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2598 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);
2599 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);
2600 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);
2601 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);
2602
2603 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2604 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);
2605 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);
2606 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);
2607 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);
2608 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);
2609
2610 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2611
2612 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2613
2614 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2615 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);
2616
2617 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2618 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);
2619 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);
2620
2621 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2622 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);
2623
2624 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2625 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);
2626
2627 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2628 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);
2629 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);
2630
2631 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2632 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);
2633
2634 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2635 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);
2636 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);
2637
2638 initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2639 initEReference(getInterpretation_Body(), this.getExpression(), null, "body", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2640 initEReference(getInterpretation_Range(), this.getExpression(), null, "range", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2641
2642 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2643 initEReference(getVariable_Type(), this.getNamedElement(), null, "type", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2644
2645 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2646 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);
2647
2648 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2649 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);
2650
2651 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2652 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);
2653
2654 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2655 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);
2656 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);
2657 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);
2658
2659 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2660 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);
2661 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);
2662 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);
2663
2664 initEClass(castExpressionEClass, CastExpression.class, "CastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2665 initEReference(getCastExpression_Body(), this.getExpression(), null, "body", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2666 initEReference(getCastExpression_Type(), this.getNamedElement(), null, "type", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2667
2668 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2669 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);
2670 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);
2671
2672 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2673 initEAttribute(getNode_WithId(), ecorePackage.getEBoolean(), "withId", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2674
2675 initEClass(functorEClass, Functor.class, "Functor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2676 initEReference(getFunctor_Parameters(), this.getVariable(), null, "parameters", null, 0, -1, Functor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2677
2678 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2679
2680 initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2681 initEReference(getMetric_ReturnType(), this.getNamedElement(), null, "returnType", null, 0, 1, Metric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2682
2683 // Initialize enums and add enum literals
2684 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2685 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2686 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2687 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2688 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2689 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2690 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2691 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2692 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2693 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2694 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2695 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2696 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2697 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IMPLIES);
2698
2699 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2700 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2701 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2702 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2703 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2704 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2705 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2706
2707 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2708 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2709 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2710 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2711 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2712
2713 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2714 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2715 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
2716
2717 initEEnum(quantifierEEnum, Quantifier.class, "Quantifier");
2718 addEEnumLiteral(quantifierEEnum, Quantifier.EXISTS);
2719 addEEnumLiteral(quantifierEEnum, Quantifier.FORALL);
2720 addEEnumLiteral(quantifierEEnum, Quantifier.COUNT);
2721
2722 // Create resource
2723 createResource(eNS_URI);
2724 }
2725
2726} //SolverLanguagePackageImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
deleted file mode 100644
index 93d3ce7f..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
+++ /dev/null
@@ -1,38 +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 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected StarArgumentImpl() {
25 super();
26 }
27
28 /**
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 @Override
34 protected EClass eStaticClass() {
35 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
36 }
37
38} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
deleted file mode 100644
index bf4d9e6a..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
+++ /dev/null
@@ -1,40 +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 * <!-- begin-user-doc -->
23 * <!-- end-user-doc -->
24 * @generated
25 */
26 protected StatementImpl() {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass() {
37 return SolverLanguagePackage.Literals.STATEMENT;
38 }
39
40} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
deleted file mode 100644
index 30bef702..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
+++ /dev/null
@@ -1,165 +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 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getValue()
34 * @generated
35 * @ordered
36 */
37 protected static final String VALUE_EDEFAULT = null;
38
39 /**
40 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getValue()
44 * @generated
45 * @ordered
46 */
47 protected String value = VALUE_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected StringLiteralImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return SolverLanguagePackage.Literals.STRING_LITERAL;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public String getValue() {
75 return value;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setValue(String newValue) {
85 String oldValue = value;
86 value = newValue;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SolverLanguagePackage.STRING_LITERAL__VALUE:
100 return getValue();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SolverLanguagePackage.STRING_LITERAL__VALUE:
114 setValue((String)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SolverLanguagePackage.STRING_LITERAL__VALUE:
129 setValue(VALUE_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SolverLanguagePackage.STRING_LITERAL__VALUE:
144 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (value: ");
160 result.append(value);
161 result.append(')');
162 return result.toString();
163 }
164
165} //StringLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
deleted file mode 100644
index 23215a72..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
+++ /dev/null
@@ -1,152 +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 * The cached value of the '{@link #getCases() <em>Cases</em>}' containment reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getCases()
41 * @generated
42 * @ordered
43 */
44 protected EList<Case> cases;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected SwitchImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return SolverLanguagePackage.Literals.SWITCH;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 public EList<Case> getCases() {
72 if (cases == null) {
73 cases = new EObjectContainmentEList<Case>(Case.class, this, SolverLanguagePackage.SWITCH__CASES);
74 }
75 return cases;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case SolverLanguagePackage.SWITCH__CASES:
87 return ((InternalEList<?>)getCases()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SolverLanguagePackage.SWITCH__CASES:
101 return getCases();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case SolverLanguagePackage.SWITCH__CASES:
116 getCases().clear();
117 getCases().addAll((Collection<? extends Case>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case SolverLanguagePackage.SWITCH__CASES:
132 getCases().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case SolverLanguagePackage.SWITCH__CASES:
147 return cases != null && !cases.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //SwitchImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
deleted file mode 100644
index 03032f1c..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
+++ /dev/null
@@ -1,221 +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 * 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 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getVariable()
47 * @generated
48 * @ordered
49 */
50 protected NamedElement variable;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected TypedArgumentImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SolverLanguagePackage.Literals.TYPED_ARGUMENT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public NamedElement getType() {
78 if (type != null && type.eIsProxy()) {
79 InternalEObject oldType = (InternalEObject)type;
80 type = (NamedElement)eResolveProxy(oldType);
81 if (type != oldType) {
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
84 }
85 }
86 return type;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public NamedElement basicGetType() {
95 return type;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public void setType(NamedElement newType) {
105 NamedElement oldType = type;
106 type = newType;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public NamedElement getVariable() {
118 if (variable != null && variable.eIsProxy()) {
119 InternalEObject oldVariable = (InternalEObject)variable;
120 variable = (NamedElement)eResolveProxy(oldVariable);
121 if (variable != oldVariable) {
122 if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
124 }
125 }
126 return variable;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NamedElement basicGetVariable() {
135 return variable;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void setVariable(NamedElement newVariable) {
145 NamedElement oldVariable = variable;
146 variable = newVariable;
147 if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public Object eGet(int featureID, boolean resolve, boolean coreType) {
158 switch (featureID) {
159 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
160 if (resolve) return getType();
161 return basicGetType();
162 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
163 if (resolve) return getVariable();
164 return basicGetVariable();
165 }
166 return super.eGet(featureID, resolve, coreType);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eSet(int featureID, Object newValue) {
176 switch (featureID) {
177 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
178 setType((NamedElement)newValue);
179 return;
180 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
181 setVariable((NamedElement)newValue);
182 return;
183 }
184 super.eSet(featureID, newValue);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void eUnset(int featureID) {
194 switch (featureID) {
195 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
196 setType((NamedElement)null);
197 return;
198 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
199 setVariable((NamedElement)null);
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID) {
212 switch (featureID) {
213 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
214 return type != null;
215 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
216 return variable != null;
217 }
218 return super.eIsSet(featureID);
219 }
220
221} //TypedArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
deleted file mode 100644
index c806b3c2..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
+++ /dev/null
@@ -1,159 +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 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getType()
36 * @generated
37 * @ordered
38 */
39 protected NamedElement type;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected TypedStarArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public NamedElement getType() {
67 if (type != null && type.eIsProxy()) {
68 InternalEObject oldType = (InternalEObject)type;
69 type = (NamedElement)eResolveProxy(oldType);
70 if (type != oldType) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
73 }
74 }
75 return type;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public NamedElement basicGetType() {
84 return type;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public void setType(NamedElement newType) {
94 NamedElement oldType = type;
95 type = newType;
96 if (eNotificationRequired())
97 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public Object eGet(int featureID, boolean resolve, boolean coreType) {
107 switch (featureID) {
108 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
109 if (resolve) return getType();
110 return basicGetType();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
124 setType((NamedElement)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 switch (featureID) {
138 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
139 setType((NamedElement)null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
154 return type != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //TypedStarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
deleted file mode 100644
index a3a7b1dc..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
+++ /dev/null
@@ -1,249 +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 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getOp()
39 * @generated
40 * @ordered
41 */
42 protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG;
43
44 /**
45 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getOp()
49 * @generated
50 * @ordered
51 */
52 protected UnaryOp op = OP_EDEFAULT;
53
54 /**
55 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getBody()
59 * @generated
60 * @ordered
61 */
62 protected Expression body;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 protected UnaryExpressionImpl() {
70 super();
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 protected EClass eStaticClass() {
80 return SolverLanguagePackage.Literals.UNARY_EXPRESSION;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public UnaryOp getOp() {
90 return op;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public void setOp(UnaryOp newOp) {
100 UnaryOp oldOp = op;
101 op = newOp == null ? OP_EDEFAULT : newOp;
102 if (eNotificationRequired())
103 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op));
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public Expression getBody() {
113 return body;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
122 Expression oldBody = body;
123 body = newBody;
124 if (eNotificationRequired()) {
125 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody);
126 if (msgs == null) msgs = notification; else msgs.add(notification);
127 }
128 return msgs;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void setBody(Expression newBody) {
138 if (newBody != body) {
139 NotificationChain msgs = null;
140 if (body != null)
141 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
142 if (newBody != null)
143 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
144 msgs = basicSetBody(newBody, msgs);
145 if (msgs != null) msgs.dispatch();
146 }
147 else if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) {
159 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
160 return basicSetBody(null, msgs);
161 }
162 return super.eInverseRemove(otherEnd, featureID, msgs);
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public Object eGet(int featureID, boolean resolve, boolean coreType) {
172 switch (featureID) {
173 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
174 return getOp();
175 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
176 return getBody();
177 }
178 return super.eGet(featureID, resolve, coreType);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public void eSet(int featureID, Object newValue) {
188 switch (featureID) {
189 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
190 setOp((UnaryOp)newValue);
191 return;
192 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
193 setBody((Expression)newValue);
194 return;
195 }
196 super.eSet(featureID, newValue);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public void eUnset(int featureID) {
206 switch (featureID) {
207 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
208 setOp(OP_EDEFAULT);
209 return;
210 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
211 setBody((Expression)null);
212 return;
213 }
214 super.eUnset(featureID);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean eIsSet(int featureID) {
224 switch (featureID) {
225 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
226 return op != OP_EDEFAULT;
227 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
228 return body != null;
229 }
230 return super.eIsSet(featureID);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public String toString() {
240 if (eIsProxy()) return super.toString();
241
242 StringBuilder result = new StringBuilder(super.toString());
243 result.append(" (op: ");
244 result.append(op);
245 result.append(')');
246 return result.toString();
247 }
248
249} //UnaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
deleted file mode 100644
index 35450b74..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
+++ /dev/null
@@ -1,247 +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 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getArgumentList()
39 * @generated
40 * @ordered
41 */
42 protected ArgumentList argumentList;
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 UnnamedErrorPrediateDefinitionImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public ArgumentList getArgumentList() {
80 return argumentList;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) {
89 ArgumentList oldArgumentList = argumentList;
90 argumentList = newArgumentList;
91 if (eNotificationRequired()) {
92 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
93 if (msgs == null) msgs = notification; else msgs.add(notification);
94 }
95 return msgs;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public void setArgumentList(ArgumentList newArgumentList) {
105 if (newArgumentList != argumentList) {
106 NotificationChain msgs = null;
107 if (argumentList != null)
108 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
109 if (newArgumentList != null)
110 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
111 msgs = basicSetArgumentList(newArgumentList, msgs);
112 if (msgs != null) msgs.dispatch();
113 }
114 else if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Expression getBody() {
125 return body;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) {
134 Expression oldBody = body;
135 body = newBody;
136 if (eNotificationRequired()) {
137 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody);
138 if (msgs == null) msgs = notification; else msgs.add(notification);
139 }
140 return msgs;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public void setBody(Expression newBody) {
150 if (newBody != body) {
151 NotificationChain msgs = null;
152 if (body != null)
153 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
154 if (newBody != null)
155 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
156 msgs = basicSetBody(newBody, msgs);
157 if (msgs != null) msgs.dispatch();
158 }
159 else if (eNotificationRequired())
160 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
172 return basicSetArgumentList(null, msgs);
173 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
174 return basicSetBody(null, msgs);
175 }
176 return super.eInverseRemove(otherEnd, featureID, msgs);
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public Object eGet(int featureID, boolean resolve, boolean coreType) {
186 switch (featureID) {
187 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
188 return getArgumentList();
189 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__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 switch (featureID) {
203 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
204 setArgumentList((ArgumentList)newValue);
205 return;
206 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
207 setBody((Expression)newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
222 setArgumentList((ArgumentList)null);
223 return;
224 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
225 setBody((Expression)null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
240 return argumentList != null;
241 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
242 return body != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //UnnamedErrorPrediateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
deleted file mode 100644
index 1762d35c..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
+++ /dev/null
@@ -1,159 +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.Variable;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Variable</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.VariableImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class VariableImpl extends NamedElementImpl implements Variable {
31 /**
32 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getType()
36 * @generated
37 * @ordered
38 */
39 protected NamedElement type;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected VariableImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SolverLanguagePackage.Literals.VARIABLE;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public NamedElement getType() {
67 if (type != null && type.eIsProxy()) {
68 InternalEObject oldType = (InternalEObject)type;
69 type = (NamedElement)eResolveProxy(oldType);
70 if (type != oldType) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.VARIABLE__TYPE, oldType, type));
73 }
74 }
75 return type;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public NamedElement basicGetType() {
84 return type;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public void setType(NamedElement newType) {
94 NamedElement oldType = type;
95 type = newType;
96 if (eNotificationRequired())
97 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__TYPE, oldType, type));
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public Object eGet(int featureID, boolean resolve, boolean coreType) {
107 switch (featureID) {
108 case SolverLanguagePackage.VARIABLE__TYPE:
109 if (resolve) return getType();
110 return basicGetType();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SolverLanguagePackage.VARIABLE__TYPE:
124 setType((NamedElement)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 switch (featureID) {
138 case SolverLanguagePackage.VARIABLE__TYPE:
139 setType((NamedElement)null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SolverLanguagePackage.VARIABLE__TYPE:
154 return type != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //VariableImpl
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
deleted file mode 100644
index 23971e9d..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ /dev/null
@@ -1,1147 +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 * The cached model package.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @generated
29 */
30 protected static SolverLanguagePackage modelPackage;
31
32 /**
33 * Creates an instance of the adapter factory.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 public SolverLanguageAdapterFactory() {
39 if (modelPackage == null) {
40 modelPackage = SolverLanguagePackage.eINSTANCE;
41 }
42 }
43
44 /**
45 * Returns whether this factory is applicable for the type of the object.
46 * <!-- begin-user-doc -->
47 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
48 * <!-- end-user-doc -->
49 * @return whether this factory is applicable for the type of the object.
50 * @generated
51 */
52 @Override
53 public boolean isFactoryForType(Object object) {
54 if (object == modelPackage) {
55 return true;
56 }
57 if (object instanceof EObject) {
58 return ((EObject)object).eClass().getEPackage() == modelPackage;
59 }
60 return false;
61 }
62
63 /**
64 * The switch that delegates to the <code>createXXX</code> methods.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 protected SolverLanguageSwitch<Adapter> modelSwitch =
70 new SolverLanguageSwitch<Adapter>() {
71 @Override
72 public Adapter caseProblem(Problem object) {
73 return createProblemAdapter();
74 }
75 @Override
76 public Adapter caseStatement(Statement object) {
77 return createStatementAdapter();
78 }
79 @Override
80 public Adapter casePredicateDefinition(PredicateDefinition object) {
81 return createPredicateDefinitionAdapter();
82 }
83 @Override
84 public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) {
85 return createUnnamedErrorPrediateDefinitionAdapter();
86 }
87 @Override
88 public Adapter caseDefaultDefinition(DefaultDefinition object) {
89 return createDefaultDefinitionAdapter();
90 }
91 @Override
92 public Adapter caseMetricDefinition(MetricDefinition object) {
93 return createMetricDefinitionAdapter();
94 }
95 @Override
96 public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object) {
97 return createExternPredicateDefinitionAdapter();
98 }
99 @Override
100 public Adapter caseExternMetricDefinition(ExternMetricDefinition object) {
101 return createExternMetricDefinitionAdapter();
102 }
103 @Override
104 public Adapter caseExternAggregatorDefinition(ExternAggregatorDefinition object) {
105 return createExternAggregatorDefinitionAdapter();
106 }
107 @Override
108 public Adapter caseExternDatatypeDefinition(ExternDatatypeDefinition object) {
109 return createExternDatatypeDefinitionAdapter();
110 }
111 @Override
112 public Adapter caseNamedElement(NamedElement object) {
113 return createNamedElementAdapter();
114 }
115 @Override
116 public Adapter caseExpression(Expression object) {
117 return createExpressionAdapter();
118 }
119 @Override
120 public Adapter caseIfElse(IfElse object) {
121 return createIfElseAdapter();
122 }
123 @Override
124 public Adapter caseLet(Let object) {
125 return createLetAdapter();
126 }
127 @Override
128 public Adapter caseLetBinding(LetBinding object) {
129 return createLetBindingAdapter();
130 }
131 @Override
132 public Adapter caseCase(Case object) {
133 return createCaseAdapter();
134 }
135 @Override
136 public Adapter caseLocalVariables(LocalVariables object) {
137 return createLocalVariablesAdapter();
138 }
139 @Override
140 public Adapter caseQuantifiedExpression(QuantifiedExpression object) {
141 return createQuantifiedExpressionAdapter();
142 }
143 @Override
144 public Adapter caseAggregation(Aggregation object) {
145 return createAggregationAdapter();
146 }
147 @Override
148 public Adapter caseCall(Call object) {
149 return createCallAdapter();
150 }
151 @Override
152 public Adapter caseArgumentList(ArgumentList object) {
153 return createArgumentListAdapter();
154 }
155 @Override
156 public Adapter caseArgument(Argument object) {
157 return createArgumentAdapter();
158 }
159 @Override
160 public Adapter caseExpressionArgument(ExpressionArgument object) {
161 return createExpressionArgumentAdapter();
162 }
163 @Override
164 public Adapter caseStarArgument(StarArgument object) {
165 return createStarArgumentAdapter();
166 }
167 @Override
168 public Adapter caseTypedArgument(TypedArgument object) {
169 return createTypedArgumentAdapter();
170 }
171 @Override
172 public Adapter caseTypedStarArgument(TypedStarArgument object) {
173 return createTypedStarArgumentAdapter();
174 }
175 @Override
176 public Adapter caseReference(Reference object) {
177 return createReferenceAdapter();
178 }
179 @Override
180 public Adapter caseInterval(Interval object) {
181 return createIntervalAdapter();
182 }
183 @Override
184 public Adapter caseLiteral(Literal object) {
185 return createLiteralAdapter();
186 }
187 @Override
188 public Adapter caseLogicLiteral(LogicLiteral object) {
189 return createLogicLiteralAdapter();
190 }
191 @Override
192 public Adapter caseNumericLiteral(NumericLiteral object) {
193 return createNumericLiteralAdapter();
194 }
195 @Override
196 public Adapter caseInfinityLiteral(InfinityLiteral object) {
197 return createInfinityLiteralAdapter();
198 }
199 @Override
200 public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object) {
201 return createEmptyIntervalLiteralAdapter();
202 }
203 @Override
204 public Adapter caseStringLiteral(StringLiteral object) {
205 return createStringLiteralAdapter();
206 }
207 @Override
208 public Adapter caseClassDefinition(ClassDefinition object) {
209 return createClassDefinitionAdapter();
210 }
211 @Override
212 public Adapter caseMemberDefinition(MemberDefinition object) {
213 return createMemberDefinitionAdapter();
214 }
215 @Override
216 public Adapter caseMultiplicity(Multiplicity object) {
217 return createMultiplicityAdapter();
218 }
219 @Override
220 public Adapter caseManyMultiplicity(ManyMultiplicity object) {
221 return createManyMultiplicityAdapter();
222 }
223 @Override
224 public Adapter caseExactMultiplicity(ExactMultiplicity object) {
225 return createExactMultiplicityAdapter();
226 }
227 @Override
228 public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) {
229 return createBoundedMultiplicityAdapter();
230 }
231 @Override
232 public Adapter caseScopeDefinition(ScopeDefinition object) {
233 return createScopeDefinitionAdapter();
234 }
235 @Override
236 public Adapter caseExactScopeDefinition(ExactScopeDefinition object) {
237 return createExactScopeDefinitionAdapter();
238 }
239 @Override
240 public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object) {
241 return createBoundedScopeDefinitionAdapter();
242 }
243 @Override
244 public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) {
245 return createLowerBoundedScopeDefinitionAdapter();
246 }
247 @Override
248 public Adapter caseObjectiveDefinition(ObjectiveDefinition object) {
249 return createObjectiveDefinitionAdapter();
250 }
251 @Override
252 public Adapter caseInterpretation(Interpretation object) {
253 return createInterpretationAdapter();
254 }
255 @Override
256 public Adapter caseVariable(Variable object) {
257 return createVariableAdapter();
258 }
259 @Override
260 public Adapter caseDisjunction(Disjunction object) {
261 return createDisjunctionAdapter();
262 }
263 @Override
264 public Adapter caseSwitch(Switch object) {
265 return createSwitchAdapter();
266 }
267 @Override
268 public Adapter caseConjunction(Conjunction object) {
269 return createConjunctionAdapter();
270 }
271 @Override
272 public Adapter caseComparison(Comparison object) {
273 return createComparisonAdapter();
274 }
275 @Override
276 public Adapter caseBinaryExpression(BinaryExpression object) {
277 return createBinaryExpressionAdapter();
278 }
279 @Override
280 public Adapter caseCastExpression(CastExpression object) {
281 return createCastExpressionAdapter();
282 }
283 @Override
284 public Adapter caseUnaryExpression(UnaryExpression object) {
285 return createUnaryExpressionAdapter();
286 }
287 @Override
288 public Adapter caseNode(Node object) {
289 return createNodeAdapter();
290 }
291 @Override
292 public Adapter caseFunctor(Functor object) {
293 return createFunctorAdapter();
294 }
295 @Override
296 public Adapter casePredicate(Predicate object) {
297 return createPredicateAdapter();
298 }
299 @Override
300 public Adapter caseMetric(Metric object) {
301 return createMetricAdapter();
302 }
303 @Override
304 public Adapter defaultCase(EObject object) {
305 return createEObjectAdapter();
306 }
307 };
308
309 /**
310 * Creates an adapter for the <code>target</code>.
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @param target the object to adapt.
314 * @return the adapter for the <code>target</code>.
315 * @generated
316 */
317 @Override
318 public Adapter createAdapter(Notifier target) {
319 return modelSwitch.doSwitch((EObject)target);
320 }
321
322
323 /**
324 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
325 * <!-- begin-user-doc -->
326 * This default implementation returns null so that we can easily ignore cases;
327 * it's useful to ignore a case when inheritance will catch all the cases anyway.
328 * <!-- end-user-doc -->
329 * @return the new adapter.
330 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
331 * @generated
332 */
333 public Adapter createProblemAdapter() {
334 return null;
335 }
336
337 /**
338 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
339 * <!-- begin-user-doc -->
340 * This default implementation returns null so that we can easily ignore cases;
341 * it's useful to ignore a case when inheritance will catch all the cases anyway.
342 * <!-- end-user-doc -->
343 * @return the new adapter.
344 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
345 * @generated
346 */
347 public Adapter createStatementAdapter() {
348 return null;
349 }
350
351 /**
352 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
353 * <!-- begin-user-doc -->
354 * This default implementation returns null so that we can easily ignore cases;
355 * it's useful to ignore a case when inheritance will catch all the cases anyway.
356 * <!-- end-user-doc -->
357 * @return the new adapter.
358 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
359 * @generated
360 */
361 public Adapter createPredicateDefinitionAdapter() {
362 return null;
363 }
364
365 /**
366 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate 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.UnnamedErrorPrediateDefinition
373 * @generated
374 */
375 public Adapter createUnnamedErrorPrediateDefinitionAdapter() {
376 return null;
377 }
378
379 /**
380 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
381 * <!-- begin-user-doc -->
382 * This default implementation returns null so that we can easily ignore cases;
383 * it's useful to ignore a case when inheritance will catch all the cases anyway.
384 * <!-- end-user-doc -->
385 * @return the new adapter.
386 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
387 * @generated
388 */
389 public Adapter createDefaultDefinitionAdapter() {
390 return null;
391 }
392
393 /**
394 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
395 * <!-- begin-user-doc -->
396 * This default implementation returns null so that we can easily ignore cases;
397 * it's useful to ignore a case when inheritance will catch all the cases anyway.
398 * <!-- end-user-doc -->
399 * @return the new adapter.
400 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
401 * @generated
402 */
403 public Adapter createMetricDefinitionAdapter() {
404 return null;
405 }
406
407 /**
408 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
409 * <!-- begin-user-doc -->
410 * This default implementation returns null so that we can easily ignore cases;
411 * it's useful to ignore a case when inheritance will catch all the cases anyway.
412 * <!-- end-user-doc -->
413 * @return the new adapter.
414 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
415 * @generated
416 */
417 public Adapter createExternPredicateDefinitionAdapter() {
418 return null;
419 }
420
421 /**
422 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
423 * <!-- begin-user-doc -->
424 * This default implementation returns null so that we can easily ignore cases;
425 * it's useful to ignore a case when inheritance will catch all the cases anyway.
426 * <!-- end-user-doc -->
427 * @return the new adapter.
428 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
429 * @generated
430 */
431 public Adapter createExternMetricDefinitionAdapter() {
432 return null;
433 }
434
435 /**
436 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition <em>Extern Aggregator Definition</em>}'.
437 * <!-- begin-user-doc -->
438 * This default implementation returns null so that we can easily ignore cases;
439 * it's useful to ignore a case when inheritance will catch all the cases anyway.
440 * <!-- end-user-doc -->
441 * @return the new adapter.
442 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition
443 * @generated
444 */
445 public Adapter createExternAggregatorDefinitionAdapter() {
446 return null;
447 }
448
449 /**
450 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition <em>Extern Datatype Definition</em>}'.
451 * <!-- begin-user-doc -->
452 * This default implementation returns null so that we can easily ignore cases;
453 * it's useful to ignore a case when inheritance will catch all the cases anyway.
454 * <!-- end-user-doc -->
455 * @return the new adapter.
456 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition
457 * @generated
458 */
459 public Adapter createExternDatatypeDefinitionAdapter() {
460 return null;
461 }
462
463 /**
464 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
465 * <!-- begin-user-doc -->
466 * This default implementation returns null so that we can easily ignore cases;
467 * it's useful to ignore a case when inheritance will catch all the cases anyway.
468 * <!-- end-user-doc -->
469 * @return the new adapter.
470 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
471 * @generated
472 */
473 public Adapter createNamedElementAdapter() {
474 return null;
475 }
476
477 /**
478 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
479 * <!-- begin-user-doc -->
480 * This default implementation returns null so that we can easily ignore cases;
481 * it's useful to ignore a case when inheritance will catch all the cases anyway.
482 * <!-- end-user-doc -->
483 * @return the new adapter.
484 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
485 * @generated
486 */
487 public Adapter createExpressionAdapter() {
488 return null;
489 }
490
491 /**
492 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
493 * <!-- begin-user-doc -->
494 * This default implementation returns null so that we can easily ignore cases;
495 * it's useful to ignore a case when inheritance will catch all the cases anyway.
496 * <!-- end-user-doc -->
497 * @return the new adapter.
498 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
499 * @generated
500 */
501 public Adapter createIfElseAdapter() {
502 return null;
503 }
504
505 /**
506 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let <em>Let</em>}'.
507 * <!-- begin-user-doc -->
508 * This default implementation returns null so that we can easily ignore cases;
509 * it's useful to ignore a case when inheritance will catch all the cases anyway.
510 * <!-- end-user-doc -->
511 * @return the new adapter.
512 * @see org.eclipse.viatra.solver.language.solverLanguage.Let
513 * @generated
514 */
515 public Adapter createLetAdapter() {
516 return null;
517 }
518
519 /**
520 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding <em>Let Binding</em>}'.
521 * <!-- begin-user-doc -->
522 * This default implementation returns null so that we can easily ignore cases;
523 * it's useful to ignore a case when inheritance will catch all the cases anyway.
524 * <!-- end-user-doc -->
525 * @return the new adapter.
526 * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding
527 * @generated
528 */
529 public Adapter createLetBindingAdapter() {
530 return null;
531 }
532
533 /**
534 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
535 * <!-- begin-user-doc -->
536 * This default implementation returns null so that we can easily ignore cases;
537 * it's useful to ignore a case when inheritance will catch all the cases anyway.
538 * <!-- end-user-doc -->
539 * @return the new adapter.
540 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
541 * @generated
542 */
543 public Adapter createCaseAdapter() {
544 return null;
545 }
546
547 /**
548 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables <em>Local Variables</em>}'.
549 * <!-- begin-user-doc -->
550 * This default implementation returns null so that we can easily ignore cases;
551 * it's useful to ignore a case when inheritance will catch all the cases anyway.
552 * <!-- end-user-doc -->
553 * @return the new adapter.
554 * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables
555 * @generated
556 */
557 public Adapter createLocalVariablesAdapter() {
558 return null;
559 }
560
561 /**
562 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression <em>Quantified Expression</em>}'.
563 * <!-- begin-user-doc -->
564 * This default implementation returns null so that we can easily ignore cases;
565 * it's useful to ignore a case when inheritance will catch all the cases anyway.
566 * <!-- end-user-doc -->
567 * @return the new adapter.
568 * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression
569 * @generated
570 */
571 public Adapter createQuantifiedExpressionAdapter() {
572 return null;
573 }
574
575 /**
576 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</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.Aggregation
583 * @generated
584 */
585 public Adapter createAggregationAdapter() {
586 return null;
587 }
588
589 /**
590 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
591 * <!-- begin-user-doc -->
592 * This default implementation returns null so that we can easily ignore cases;
593 * it's useful to ignore a case when inheritance will catch all the cases anyway.
594 * <!-- end-user-doc -->
595 * @return the new adapter.
596 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
597 * @generated
598 */
599 public Adapter createCallAdapter() {
600 return null;
601 }
602
603 /**
604 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
605 * <!-- begin-user-doc -->
606 * This default implementation returns null so that we can easily ignore cases;
607 * it's useful to ignore a case when inheritance will catch all the cases anyway.
608 * <!-- end-user-doc -->
609 * @return the new adapter.
610 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
611 * @generated
612 */
613 public Adapter createArgumentListAdapter() {
614 return null;
615 }
616
617 /**
618 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
619 * <!-- begin-user-doc -->
620 * This default implementation returns null so that we can easily ignore cases;
621 * it's useful to ignore a case when inheritance will catch all the cases anyway.
622 * <!-- end-user-doc -->
623 * @return the new adapter.
624 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
625 * @generated
626 */
627 public Adapter createArgumentAdapter() {
628 return null;
629 }
630
631 /**
632 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
633 * <!-- begin-user-doc -->
634 * This default implementation returns null so that we can easily ignore cases;
635 * it's useful to ignore a case when inheritance will catch all the cases anyway.
636 * <!-- end-user-doc -->
637 * @return the new adapter.
638 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
639 * @generated
640 */
641 public Adapter createExpressionArgumentAdapter() {
642 return null;
643 }
644
645 /**
646 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
647 * <!-- begin-user-doc -->
648 * This default implementation returns null so that we can easily ignore cases;
649 * it's useful to ignore a case when inheritance will catch all the cases anyway.
650 * <!-- end-user-doc -->
651 * @return the new adapter.
652 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
653 * @generated
654 */
655 public Adapter createStarArgumentAdapter() {
656 return null;
657 }
658
659 /**
660 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
661 * <!-- begin-user-doc -->
662 * This default implementation returns null so that we can easily ignore cases;
663 * it's useful to ignore a case when inheritance will catch all the cases anyway.
664 * <!-- end-user-doc -->
665 * @return the new adapter.
666 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
667 * @generated
668 */
669 public Adapter createTypedArgumentAdapter() {
670 return null;
671 }
672
673 /**
674 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
675 * <!-- begin-user-doc -->
676 * This default implementation returns null so that we can easily ignore cases;
677 * it's useful to ignore a case when inheritance will catch all the cases anyway.
678 * <!-- end-user-doc -->
679 * @return the new adapter.
680 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
681 * @generated
682 */
683 public Adapter createTypedStarArgumentAdapter() {
684 return null;
685 }
686
687 /**
688 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
689 * <!-- begin-user-doc -->
690 * This default implementation returns null so that we can easily ignore cases;
691 * it's useful to ignore a case when inheritance will catch all the cases anyway.
692 * <!-- end-user-doc -->
693 * @return the new adapter.
694 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
695 * @generated
696 */
697 public Adapter createReferenceAdapter() {
698 return null;
699 }
700
701 /**
702 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
703 * <!-- begin-user-doc -->
704 * This default implementation returns null so that we can easily ignore cases;
705 * it's useful to ignore a case when inheritance will catch all the cases anyway.
706 * <!-- end-user-doc -->
707 * @return the new adapter.
708 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
709 * @generated
710 */
711 public Adapter createIntervalAdapter() {
712 return null;
713 }
714
715 /**
716 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
717 * <!-- begin-user-doc -->
718 * This default implementation returns null so that we can easily ignore cases;
719 * it's useful to ignore a case when inheritance will catch all the cases anyway.
720 * <!-- end-user-doc -->
721 * @return the new adapter.
722 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
723 * @generated
724 */
725 public Adapter createLiteralAdapter() {
726 return null;
727 }
728
729 /**
730 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
731 * <!-- begin-user-doc -->
732 * This default implementation returns null so that we can easily ignore cases;
733 * it's useful to ignore a case when inheritance will catch all the cases anyway.
734 * <!-- end-user-doc -->
735 * @return the new adapter.
736 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
737 * @generated
738 */
739 public Adapter createLogicLiteralAdapter() {
740 return null;
741 }
742
743 /**
744 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
745 * <!-- begin-user-doc -->
746 * This default implementation returns null so that we can easily ignore cases;
747 * it's useful to ignore a case when inheritance will catch all the cases anyway.
748 * <!-- end-user-doc -->
749 * @return the new adapter.
750 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
751 * @generated
752 */
753 public Adapter createNumericLiteralAdapter() {
754 return null;
755 }
756
757 /**
758 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
759 * <!-- begin-user-doc -->
760 * This default implementation returns null so that we can easily ignore cases;
761 * it's useful to ignore a case when inheritance will catch all the cases anyway.
762 * <!-- end-user-doc -->
763 * @return the new adapter.
764 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
765 * @generated
766 */
767 public Adapter createInfinityLiteralAdapter() {
768 return null;
769 }
770
771 /**
772 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
773 * <!-- begin-user-doc -->
774 * This default implementation returns null so that we can easily ignore cases;
775 * it's useful to ignore a case when inheritance will catch all the cases anyway.
776 * <!-- end-user-doc -->
777 * @return the new adapter.
778 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
779 * @generated
780 */
781 public Adapter createEmptyIntervalLiteralAdapter() {
782 return null;
783 }
784
785 /**
786 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</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.StringLiteral
793 * @generated
794 */
795 public Adapter createStringLiteralAdapter() {
796 return null;
797 }
798
799 /**
800 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
801 * <!-- begin-user-doc -->
802 * This default implementation returns null so that we can easily ignore cases;
803 * it's useful to ignore a case when inheritance will catch all the cases anyway.
804 * <!-- end-user-doc -->
805 * @return the new adapter.
806 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
807 * @generated
808 */
809 public Adapter createClassDefinitionAdapter() {
810 return null;
811 }
812
813 /**
814 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
815 * <!-- begin-user-doc -->
816 * This default implementation returns null so that we can easily ignore cases;
817 * it's useful to ignore a case when inheritance will catch all the cases anyway.
818 * <!-- end-user-doc -->
819 * @return the new adapter.
820 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
821 * @generated
822 */
823 public Adapter createMemberDefinitionAdapter() {
824 return null;
825 }
826
827 /**
828 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
829 * <!-- begin-user-doc -->
830 * This default implementation returns null so that we can easily ignore cases;
831 * it's useful to ignore a case when inheritance will catch all the cases anyway.
832 * <!-- end-user-doc -->
833 * @return the new adapter.
834 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
835 * @generated
836 */
837 public Adapter createMultiplicityAdapter() {
838 return null;
839 }
840
841 /**
842 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
843 * <!-- begin-user-doc -->
844 * This default implementation returns null so that we can easily ignore cases;
845 * it's useful to ignore a case when inheritance will catch all the cases anyway.
846 * <!-- end-user-doc -->
847 * @return the new adapter.
848 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
849 * @generated
850 */
851 public Adapter createManyMultiplicityAdapter() {
852 return null;
853 }
854
855 /**
856 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
857 * <!-- begin-user-doc -->
858 * This default implementation returns null so that we can easily ignore cases;
859 * it's useful to ignore a case when inheritance will catch all the cases anyway.
860 * <!-- end-user-doc -->
861 * @return the new adapter.
862 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
863 * @generated
864 */
865 public Adapter createExactMultiplicityAdapter() {
866 return null;
867 }
868
869 /**
870 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
871 * <!-- begin-user-doc -->
872 * This default implementation returns null so that we can easily ignore cases;
873 * it's useful to ignore a case when inheritance will catch all the cases anyway.
874 * <!-- end-user-doc -->
875 * @return the new adapter.
876 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
877 * @generated
878 */
879 public Adapter createBoundedMultiplicityAdapter() {
880 return null;
881 }
882
883 /**
884 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
885 * <!-- begin-user-doc -->
886 * This default implementation returns null so that we can easily ignore cases;
887 * it's useful to ignore a case when inheritance will catch all the cases anyway.
888 * <!-- end-user-doc -->
889 * @return the new adapter.
890 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
891 * @generated
892 */
893 public Adapter createScopeDefinitionAdapter() {
894 return null;
895 }
896
897 /**
898 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
899 * <!-- begin-user-doc -->
900 * This default implementation returns null so that we can easily ignore cases;
901 * it's useful to ignore a case when inheritance will catch all the cases anyway.
902 * <!-- end-user-doc -->
903 * @return the new adapter.
904 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
905 * @generated
906 */
907 public Adapter createExactScopeDefinitionAdapter() {
908 return null;
909 }
910
911 /**
912 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
913 * <!-- begin-user-doc -->
914 * This default implementation returns null so that we can easily ignore cases;
915 * it's useful to ignore a case when inheritance will catch all the cases anyway.
916 * <!-- end-user-doc -->
917 * @return the new adapter.
918 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
919 * @generated
920 */
921 public Adapter createBoundedScopeDefinitionAdapter() {
922 return null;
923 }
924
925 /**
926 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
927 * <!-- begin-user-doc -->
928 * This default implementation returns null so that we can easily ignore cases;
929 * it's useful to ignore a case when inheritance will catch all the cases anyway.
930 * <!-- end-user-doc -->
931 * @return the new adapter.
932 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
933 * @generated
934 */
935 public Adapter createLowerBoundedScopeDefinitionAdapter() {
936 return null;
937 }
938
939 /**
940 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
941 * <!-- begin-user-doc -->
942 * This default implementation returns null so that we can easily ignore cases;
943 * it's useful to ignore a case when inheritance will catch all the cases anyway.
944 * <!-- end-user-doc -->
945 * @return the new adapter.
946 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
947 * @generated
948 */
949 public Adapter createObjectiveDefinitionAdapter() {
950 return null;
951 }
952
953 /**
954 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'.
955 * <!-- begin-user-doc -->
956 * This default implementation returns null so that we can easily ignore cases;
957 * it's useful to ignore a case when inheritance will catch all the cases anyway.
958 * <!-- end-user-doc -->
959 * @return the new adapter.
960 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation
961 * @generated
962 */
963 public Adapter createInterpretationAdapter() {
964 return null;
965 }
966
967 /**
968 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'.
969 * <!-- begin-user-doc -->
970 * This default implementation returns null so that we can easily ignore cases;
971 * it's useful to ignore a case when inheritance will catch all the cases anyway.
972 * <!-- end-user-doc -->
973 * @return the new adapter.
974 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable
975 * @generated
976 */
977 public Adapter createVariableAdapter() {
978 return null;
979 }
980
981 /**
982 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
983 * <!-- begin-user-doc -->
984 * This default implementation returns null so that we can easily ignore cases;
985 * it's useful to ignore a case when inheritance will catch all the cases anyway.
986 * <!-- end-user-doc -->
987 * @return the new adapter.
988 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
989 * @generated
990 */
991 public Adapter createDisjunctionAdapter() {
992 return null;
993 }
994
995 /**
996 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</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.Switch
1003 * @generated
1004 */
1005 public Adapter createSwitchAdapter() {
1006 return null;
1007 }
1008
1009 /**
1010 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
1011 * <!-- begin-user-doc -->
1012 * This default implementation returns null so that we can easily ignore cases;
1013 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1014 * <!-- end-user-doc -->
1015 * @return the new adapter.
1016 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
1017 * @generated
1018 */
1019 public Adapter createConjunctionAdapter() {
1020 return null;
1021 }
1022
1023 /**
1024 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
1025 * <!-- begin-user-doc -->
1026 * This default implementation returns null so that we can easily ignore cases;
1027 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1028 * <!-- end-user-doc -->
1029 * @return the new adapter.
1030 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
1031 * @generated
1032 */
1033 public Adapter createComparisonAdapter() {
1034 return null;
1035 }
1036
1037 /**
1038 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
1039 * <!-- begin-user-doc -->
1040 * This default implementation returns null so that we can easily ignore cases;
1041 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1042 * <!-- end-user-doc -->
1043 * @return the new adapter.
1044 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
1045 * @generated
1046 */
1047 public Adapter createBinaryExpressionAdapter() {
1048 return null;
1049 }
1050
1051 /**
1052 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression <em>Cast Expression</em>}'.
1053 * <!-- begin-user-doc -->
1054 * This default implementation returns null so that we can easily ignore cases;
1055 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1056 * <!-- end-user-doc -->
1057 * @return the new adapter.
1058 * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression
1059 * @generated
1060 */
1061 public Adapter createCastExpressionAdapter() {
1062 return null;
1063 }
1064
1065 /**
1066 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
1067 * <!-- begin-user-doc -->
1068 * This default implementation returns null so that we can easily ignore cases;
1069 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1070 * <!-- end-user-doc -->
1071 * @return the new adapter.
1072 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
1073 * @generated
1074 */
1075 public Adapter createUnaryExpressionAdapter() {
1076 return null;
1077 }
1078
1079 /**
1080 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node <em>Node</em>}'.
1081 * <!-- begin-user-doc -->
1082 * This default implementation returns null so that we can easily ignore cases;
1083 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1084 * <!-- end-user-doc -->
1085 * @return the new adapter.
1086 * @see org.eclipse.viatra.solver.language.solverLanguage.Node
1087 * @generated
1088 */
1089 public Adapter createNodeAdapter() {
1090 return null;
1091 }
1092
1093 /**
1094 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor <em>Functor</em>}'.
1095 * <!-- begin-user-doc -->
1096 * This default implementation returns null so that we can easily ignore cases;
1097 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1098 * <!-- end-user-doc -->
1099 * @return the new adapter.
1100 * @see org.eclipse.viatra.solver.language.solverLanguage.Functor
1101 * @generated
1102 */
1103 public Adapter createFunctorAdapter() {
1104 return null;
1105 }
1106
1107 /**
1108 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'.
1109 * <!-- begin-user-doc -->
1110 * This default implementation returns null so that we can easily ignore cases;
1111 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1112 * <!-- end-user-doc -->
1113 * @return the new adapter.
1114 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate
1115 * @generated
1116 */
1117 public Adapter createPredicateAdapter() {
1118 return null;
1119 }
1120
1121 /**
1122 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric <em>Metric</em>}'.
1123 * <!-- begin-user-doc -->
1124 * This default implementation returns null so that we can easily ignore cases;
1125 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1126 * <!-- end-user-doc -->
1127 * @return the new adapter.
1128 * @see org.eclipse.viatra.solver.language.solverLanguage.Metric
1129 * @generated
1130 */
1131 public Adapter createMetricAdapter() {
1132 return null;
1133 }
1134
1135 /**
1136 * Creates a new adapter for the default case.
1137 * <!-- begin-user-doc -->
1138 * This default implementation returns null.
1139 * <!-- end-user-doc -->
1140 * @return the new adapter.
1141 * @generated
1142 */
1143 public Adapter createEObjectAdapter() {
1144 return null;
1145 }
1146
1147} //SolverLanguageAdapterFactory
diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
deleted file mode 100644
index 4e5929e6..00000000
--- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ /dev/null
@@ -1,1388 +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 * The cached model package
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 protected static SolverLanguagePackage modelPackage;
34
35 /**
36 * Creates an instance of the switch.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 public SolverLanguageSwitch() {
42 if (modelPackage == null) {
43 modelPackage = SolverLanguagePackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Checks whether this is a switch for the given package.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @param ePackage the package in question.
52 * @return whether this is a switch for the given package.
53 * @generated
54 */
55 @Override
56 protected boolean isSwitchFor(EPackage ePackage) {
57 return ePackage == modelPackage;
58 }
59
60 /**
61 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the first non-null result returned by a <code>caseXXX</code> call.
65 * @generated
66 */
67 @Override
68 protected T doSwitch(int classifierID, EObject theEObject) {
69 switch (classifierID) {
70 case SolverLanguagePackage.PROBLEM: {
71 Problem problem = (Problem)theEObject;
72 T result = caseProblem(problem);
73 if (result == null) result = defaultCase(theEObject);
74 return result;
75 }
76 case SolverLanguagePackage.STATEMENT: {
77 Statement statement = (Statement)theEObject;
78 T result = caseStatement(statement);
79 if (result == null) result = defaultCase(theEObject);
80 return result;
81 }
82 case SolverLanguagePackage.PREDICATE_DEFINITION: {
83 PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject;
84 T result = casePredicateDefinition(predicateDefinition);
85 if (result == null) result = caseStatement(predicateDefinition);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: {
90 UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject;
91 T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition);
92 if (result == null) result = caseStatement(unnamedErrorPrediateDefinition);
93 if (result == null) result = defaultCase(theEObject);
94 return result;
95 }
96 case SolverLanguagePackage.DEFAULT_DEFINITION: {
97 DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject;
98 T result = caseDefaultDefinition(defaultDefinition);
99 if (result == null) result = caseStatement(defaultDefinition);
100 if (result == null) result = defaultCase(theEObject);
101 return result;
102 }
103 case SolverLanguagePackage.METRIC_DEFINITION: {
104 MetricDefinition metricDefinition = (MetricDefinition)theEObject;
105 T result = caseMetricDefinition(metricDefinition);
106 if (result == null) result = caseStatement(metricDefinition);
107 if (result == null) result = defaultCase(theEObject);
108 return result;
109 }
110 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: {
111 ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject;
112 T result = caseExternPredicateDefinition(externPredicateDefinition);
113 if (result == null) result = caseStatement(externPredicateDefinition);
114 if (result == null) result = defaultCase(theEObject);
115 return result;
116 }
117 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: {
118 ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject;
119 T result = caseExternMetricDefinition(externMetricDefinition);
120 if (result == null) result = caseStatement(externMetricDefinition);
121 if (result == null) result = defaultCase(theEObject);
122 return result;
123 }
124 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: {
125 ExternAggregatorDefinition externAggregatorDefinition = (ExternAggregatorDefinition)theEObject;
126 T result = caseExternAggregatorDefinition(externAggregatorDefinition);
127 if (result == null) result = caseStatement(externAggregatorDefinition);
128 if (result == null) result = defaultCase(theEObject);
129 return result;
130 }
131 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: {
132 ExternDatatypeDefinition externDatatypeDefinition = (ExternDatatypeDefinition)theEObject;
133 T result = caseExternDatatypeDefinition(externDatatypeDefinition);
134 if (result == null) result = caseStatement(externDatatypeDefinition);
135 if (result == null) result = defaultCase(theEObject);
136 return result;
137 }
138 case SolverLanguagePackage.NAMED_ELEMENT: {
139 NamedElement namedElement = (NamedElement)theEObject;
140 T result = caseNamedElement(namedElement);
141 if (result == null) result = defaultCase(theEObject);
142 return result;
143 }
144 case SolverLanguagePackage.EXPRESSION: {
145 Expression expression = (Expression)theEObject;
146 T result = caseExpression(expression);
147 if (result == null) result = caseStatement(expression);
148 if (result == null) result = defaultCase(theEObject);
149 return result;
150 }
151 case SolverLanguagePackage.IF_ELSE: {
152 IfElse ifElse = (IfElse)theEObject;
153 T result = caseIfElse(ifElse);
154 if (result == null) result = caseExpression(ifElse);
155 if (result == null) result = caseStatement(ifElse);
156 if (result == null) result = defaultCase(theEObject);
157 return result;
158 }
159 case SolverLanguagePackage.LET: {
160 Let let = (Let)theEObject;
161 T result = caseLet(let);
162 if (result == null) result = caseExpression(let);
163 if (result == null) result = caseStatement(let);
164 if (result == null) result = defaultCase(theEObject);
165 return result;
166 }
167 case SolverLanguagePackage.LET_BINDING: {
168 LetBinding letBinding = (LetBinding)theEObject;
169 T result = caseLetBinding(letBinding);
170 if (result == null) result = defaultCase(theEObject);
171 return result;
172 }
173 case SolverLanguagePackage.CASE: {
174 Case case_ = (Case)theEObject;
175 T result = caseCase(case_);
176 if (result == null) result = caseExpression(case_);
177 if (result == null) result = caseStatement(case_);
178 if (result == null) result = defaultCase(theEObject);
179 return result;
180 }
181 case SolverLanguagePackage.LOCAL_VARIABLES: {
182 LocalVariables localVariables = (LocalVariables)theEObject;
183 T result = caseLocalVariables(localVariables);
184 if (result == null) result = defaultCase(theEObject);
185 return result;
186 }
187 case SolverLanguagePackage.QUANTIFIED_EXPRESSION: {
188 QuantifiedExpression quantifiedExpression = (QuantifiedExpression)theEObject;
189 T result = caseQuantifiedExpression(quantifiedExpression);
190 if (result == null) result = caseExpression(quantifiedExpression);
191 if (result == null) result = caseStatement(quantifiedExpression);
192 if (result == null) result = defaultCase(theEObject);
193 return result;
194 }
195 case SolverLanguagePackage.AGGREGATION: {
196 Aggregation aggregation = (Aggregation)theEObject;
197 T result = caseAggregation(aggregation);
198 if (result == null) result = caseExpression(aggregation);
199 if (result == null) result = caseStatement(aggregation);
200 if (result == null) result = defaultCase(theEObject);
201 return result;
202 }
203 case SolverLanguagePackage.CALL: {
204 Call call = (Call)theEObject;
205 T result = caseCall(call);
206 if (result == null) result = caseExpression(call);
207 if (result == null) result = caseStatement(call);
208 if (result == null) result = defaultCase(theEObject);
209 return result;
210 }
211 case SolverLanguagePackage.ARGUMENT_LIST: {
212 ArgumentList argumentList = (ArgumentList)theEObject;
213 T result = caseArgumentList(argumentList);
214 if (result == null) result = defaultCase(theEObject);
215 return result;
216 }
217 case SolverLanguagePackage.ARGUMENT: {
218 Argument argument = (Argument)theEObject;
219 T result = caseArgument(argument);
220 if (result == null) result = defaultCase(theEObject);
221 return result;
222 }
223 case SolverLanguagePackage.EXPRESSION_ARGUMENT: {
224 ExpressionArgument expressionArgument = (ExpressionArgument)theEObject;
225 T result = caseExpressionArgument(expressionArgument);
226 if (result == null) result = caseArgument(expressionArgument);
227 if (result == null) result = defaultCase(theEObject);
228 return result;
229 }
230 case SolverLanguagePackage.STAR_ARGUMENT: {
231 StarArgument starArgument = (StarArgument)theEObject;
232 T result = caseStarArgument(starArgument);
233 if (result == null) result = caseArgument(starArgument);
234 if (result == null) result = defaultCase(theEObject);
235 return result;
236 }
237 case SolverLanguagePackage.TYPED_ARGUMENT: {
238 TypedArgument typedArgument = (TypedArgument)theEObject;
239 T result = caseTypedArgument(typedArgument);
240 if (result == null) result = caseArgument(typedArgument);
241 if (result == null) result = defaultCase(theEObject);
242 return result;
243 }
244 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: {
245 TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject;
246 T result = caseTypedStarArgument(typedStarArgument);
247 if (result == null) result = caseArgument(typedStarArgument);
248 if (result == null) result = defaultCase(theEObject);
249 return result;
250 }
251 case SolverLanguagePackage.REFERENCE: {
252 Reference reference = (Reference)theEObject;
253 T result = caseReference(reference);
254 if (result == null) result = caseExpression(reference);
255 if (result == null) result = caseStatement(reference);
256 if (result == null) result = defaultCase(theEObject);
257 return result;
258 }
259 case SolverLanguagePackage.INTERVAL: {
260 Interval interval = (Interval)theEObject;
261 T result = caseInterval(interval);
262 if (result == null) result = caseExpression(interval);
263 if (result == null) result = caseStatement(interval);
264 if (result == null) result = defaultCase(theEObject);
265 return result;
266 }
267 case SolverLanguagePackage.LITERAL: {
268 Literal literal = (Literal)theEObject;
269 T result = caseLiteral(literal);
270 if (result == null) result = caseExpression(literal);
271 if (result == null) result = caseStatement(literal);
272 if (result == null) result = defaultCase(theEObject);
273 return result;
274 }
275 case SolverLanguagePackage.LOGIC_LITERAL: {
276 LogicLiteral logicLiteral = (LogicLiteral)theEObject;
277 T result = caseLogicLiteral(logicLiteral);
278 if (result == null) result = caseLiteral(logicLiteral);
279 if (result == null) result = caseExpression(logicLiteral);
280 if (result == null) result = caseStatement(logicLiteral);
281 if (result == null) result = defaultCase(theEObject);
282 return result;
283 }
284 case SolverLanguagePackage.NUMERIC_LITERAL: {
285 NumericLiteral numericLiteral = (NumericLiteral)theEObject;
286 T result = caseNumericLiteral(numericLiteral);
287 if (result == null) result = caseLiteral(numericLiteral);
288 if (result == null) result = caseExpression(numericLiteral);
289 if (result == null) result = caseStatement(numericLiteral);
290 if (result == null) result = defaultCase(theEObject);
291 return result;
292 }
293 case SolverLanguagePackage.INFINITY_LITERAL: {
294 InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject;
295 T result = caseInfinityLiteral(infinityLiteral);
296 if (result == null) result = caseLiteral(infinityLiteral);
297 if (result == null) result = caseExpression(infinityLiteral);
298 if (result == null) result = caseStatement(infinityLiteral);
299 if (result == null) result = defaultCase(theEObject);
300 return result;
301 }
302 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: {
303 EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject;
304 T result = caseEmptyIntervalLiteral(emptyIntervalLiteral);
305 if (result == null) result = caseLiteral(emptyIntervalLiteral);
306 if (result == null) result = caseExpression(emptyIntervalLiteral);
307 if (result == null) result = caseStatement(emptyIntervalLiteral);
308 if (result == null) result = defaultCase(theEObject);
309 return result;
310 }
311 case SolverLanguagePackage.STRING_LITERAL: {
312 StringLiteral stringLiteral = (StringLiteral)theEObject;
313 T result = caseStringLiteral(stringLiteral);
314 if (result == null) result = caseLiteral(stringLiteral);
315 if (result == null) result = caseExpression(stringLiteral);
316 if (result == null) result = caseStatement(stringLiteral);
317 if (result == null) result = defaultCase(theEObject);
318 return result;
319 }
320 case SolverLanguagePackage.CLASS_DEFINITION: {
321 ClassDefinition classDefinition = (ClassDefinition)theEObject;
322 T result = caseClassDefinition(classDefinition);
323 if (result == null) result = caseStatement(classDefinition);
324 if (result == null) result = defaultCase(theEObject);
325 return result;
326 }
327 case SolverLanguagePackage.MEMBER_DEFINITION: {
328 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
329 T result = caseMemberDefinition(memberDefinition);
330 if (result == null) result = defaultCase(theEObject);
331 return result;
332 }
333 case SolverLanguagePackage.MULTIPLICITY: {
334 Multiplicity multiplicity = (Multiplicity)theEObject;
335 T result = caseMultiplicity(multiplicity);
336 if (result == null) result = defaultCase(theEObject);
337 return result;
338 }
339 case SolverLanguagePackage.MANY_MULTIPLICITY: {
340 ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject;
341 T result = caseManyMultiplicity(manyMultiplicity);
342 if (result == null) result = caseMultiplicity(manyMultiplicity);
343 if (result == null) result = defaultCase(theEObject);
344 return result;
345 }
346 case SolverLanguagePackage.EXACT_MULTIPLICITY: {
347 ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject;
348 T result = caseExactMultiplicity(exactMultiplicity);
349 if (result == null) result = caseMultiplicity(exactMultiplicity);
350 if (result == null) result = defaultCase(theEObject);
351 return result;
352 }
353 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: {
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 ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject;
362 T result = caseScopeDefinition(scopeDefinition);
363 if (result == null) result = caseStatement(scopeDefinition);
364 if (result == null) result = defaultCase(theEObject);
365 return result;
366 }
367 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: {
368 ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject;
369 T result = caseExactScopeDefinition(exactScopeDefinition);
370 if (result == null) result = caseScopeDefinition(exactScopeDefinition);
371 if (result == null) result = caseStatement(exactScopeDefinition);
372 if (result == null) result = defaultCase(theEObject);
373 return result;
374 }
375 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: {
376 BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject;
377 T result = caseBoundedScopeDefinition(boundedScopeDefinition);
378 if (result == null) result = caseScopeDefinition(boundedScopeDefinition);
379 if (result == null) result = caseStatement(boundedScopeDefinition);
380 if (result == null) result = defaultCase(theEObject);
381 return result;
382 }
383 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: {
384 LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject;
385 T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition);
386 if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition);
387 if (result == null) result = caseStatement(lowerBoundedScopeDefinition);
388 if (result == null) result = defaultCase(theEObject);
389 return result;
390 }
391 case SolverLanguagePackage.OBJECTIVE_DEFINITION: {
392 ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject;
393 T result = caseObjectiveDefinition(objectiveDefinition);
394 if (result == null) result = caseStatement(objectiveDefinition);
395 if (result == null) result = defaultCase(theEObject);
396 return result;
397 }
398 case SolverLanguagePackage.INTERPRETATION: {
399 Interpretation interpretation = (Interpretation)theEObject;
400 T result = caseInterpretation(interpretation);
401 if (result == null) result = caseStatement(interpretation);
402 if (result == null) result = defaultCase(theEObject);
403 return result;
404 }
405 case SolverLanguagePackage.VARIABLE: {
406 Variable variable = (Variable)theEObject;
407 T result = caseVariable(variable);
408 if (result == null) result = caseNamedElement(variable);
409 if (result == null) result = defaultCase(theEObject);
410 return result;
411 }
412 case SolverLanguagePackage.DISJUNCTION: {
413 Disjunction disjunction = (Disjunction)theEObject;
414 T result = caseDisjunction(disjunction);
415 if (result == null) result = caseExpression(disjunction);
416 if (result == null) result = caseStatement(disjunction);
417 if (result == null) result = defaultCase(theEObject);
418 return result;
419 }
420 case SolverLanguagePackage.SWITCH: {
421 org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject;
422 T result = caseSwitch(switch_);
423 if (result == null) result = caseExpression(switch_);
424 if (result == null) result = caseStatement(switch_);
425 if (result == null) result = defaultCase(theEObject);
426 return result;
427 }
428 case SolverLanguagePackage.CONJUNCTION: {
429 Conjunction conjunction = (Conjunction)theEObject;
430 T result = caseConjunction(conjunction);
431 if (result == null) result = caseExpression(conjunction);
432 if (result == null) result = caseStatement(conjunction);
433 if (result == null) result = defaultCase(theEObject);
434 return result;
435 }
436 case SolverLanguagePackage.COMPARISON: {
437 Comparison comparison = (Comparison)theEObject;
438 T result = caseComparison(comparison);
439 if (result == null) result = caseExpression(comparison);
440 if (result == null) result = caseStatement(comparison);
441 if (result == null) result = defaultCase(theEObject);
442 return result;
443 }
444 case SolverLanguagePackage.BINARY_EXPRESSION: {
445 BinaryExpression binaryExpression = (BinaryExpression)theEObject;
446 T result = caseBinaryExpression(binaryExpression);
447 if (result == null) result = caseExpression(binaryExpression);
448 if (result == null) result = caseStatement(binaryExpression);
449 if (result == null) result = defaultCase(theEObject);
450 return result;
451 }
452 case SolverLanguagePackage.CAST_EXPRESSION: {
453 CastExpression castExpression = (CastExpression)theEObject;
454 T result = caseCastExpression(castExpression);
455 if (result == null) result = caseExpression(castExpression);
456 if (result == null) result = caseStatement(castExpression);
457 if (result == null) result = defaultCase(theEObject);
458 return result;
459 }
460 case SolverLanguagePackage.UNARY_EXPRESSION: {
461 UnaryExpression unaryExpression = (UnaryExpression)theEObject;
462 T result = caseUnaryExpression(unaryExpression);
463 if (result == null) result = caseExpression(unaryExpression);
464 if (result == null) result = caseStatement(unaryExpression);
465 if (result == null) result = defaultCase(theEObject);
466 return result;
467 }
468 case SolverLanguagePackage.NODE: {
469 Node node = (Node)theEObject;
470 T result = caseNode(node);
471 if (result == null) result = caseNamedElement(node);
472 if (result == null) result = defaultCase(theEObject);
473 return result;
474 }
475 case SolverLanguagePackage.FUNCTOR: {
476 Functor functor = (Functor)theEObject;
477 T result = caseFunctor(functor);
478 if (result == null) result = caseNamedElement(functor);
479 if (result == null) result = defaultCase(theEObject);
480 return result;
481 }
482 case SolverLanguagePackage.PREDICATE: {
483 Predicate predicate = (Predicate)theEObject;
484 T result = casePredicate(predicate);
485 if (result == null) result = caseFunctor(predicate);
486 if (result == null) result = caseNamedElement(predicate);
487 if (result == null) result = defaultCase(theEObject);
488 return result;
489 }
490 case SolverLanguagePackage.METRIC: {
491 Metric metric = (Metric)theEObject;
492 T result = caseMetric(metric);
493 if (result == null) result = caseFunctor(metric);
494 if (result == null) result = caseNamedElement(metric);
495 if (result == null) result = defaultCase(theEObject);
496 return result;
497 }
498 default: return defaultCase(theEObject);
499 }
500 }
501
502 /**
503 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
504 * <!-- begin-user-doc -->
505 * This implementation returns null;
506 * returning a non-null result will terminate the switch.
507 * <!-- end-user-doc -->
508 * @param object the target of the switch.
509 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
510 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
511 * @generated
512 */
513 public T caseProblem(Problem object) {
514 return null;
515 }
516
517 /**
518 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
519 * <!-- begin-user-doc -->
520 * This implementation returns null;
521 * returning a non-null result will terminate the switch.
522 * <!-- end-user-doc -->
523 * @param object the target of the switch.
524 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
525 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
526 * @generated
527 */
528 public T caseStatement(Statement object) {
529 return null;
530 }
531
532 /**
533 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
534 * <!-- begin-user-doc -->
535 * This implementation returns null;
536 * returning a non-null result will terminate the switch.
537 * <!-- end-user-doc -->
538 * @param object the target of the switch.
539 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
540 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
541 * @generated
542 */
543 public T casePredicateDefinition(PredicateDefinition object) {
544 return null;
545 }
546
547 /**
548 * Returns the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
549 * <!-- begin-user-doc -->
550 * This implementation returns null;
551 * returning a non-null result will terminate the switch.
552 * <!-- end-user-doc -->
553 * @param object the target of the switch.
554 * @return the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
555 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
556 * @generated
557 */
558 public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) {
559 return null;
560 }
561
562 /**
563 * Returns the result of interpreting the object as an instance of '<em>Default Definition</em>'.
564 * <!-- begin-user-doc -->
565 * This implementation returns null;
566 * returning a non-null result will terminate the switch.
567 * <!-- end-user-doc -->
568 * @param object the target of the switch.
569 * @return the result of interpreting the object as an instance of '<em>Default Definition</em>'.
570 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
571 * @generated
572 */
573 public T caseDefaultDefinition(DefaultDefinition object) {
574 return null;
575 }
576
577 /**
578 * Returns the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
579 * <!-- begin-user-doc -->
580 * This implementation returns null;
581 * returning a non-null result will terminate the switch.
582 * <!-- end-user-doc -->
583 * @param object the target of the switch.
584 * @return the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
585 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
586 * @generated
587 */
588 public T caseMetricDefinition(MetricDefinition object) {
589 return null;
590 }
591
592 /**
593 * Returns the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
594 * <!-- begin-user-doc -->
595 * This implementation returns null;
596 * returning a non-null result will terminate the switch.
597 * <!-- end-user-doc -->
598 * @param object the target of the switch.
599 * @return the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
600 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
601 * @generated
602 */
603 public T caseExternPredicateDefinition(ExternPredicateDefinition object) {
604 return null;
605 }
606
607 /**
608 * Returns the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
609 * <!-- begin-user-doc -->
610 * This implementation returns null;
611 * returning a non-null result will terminate the switch.
612 * <!-- end-user-doc -->
613 * @param object the target of the switch.
614 * @return the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
615 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
616 * @generated
617 */
618 public T caseExternMetricDefinition(ExternMetricDefinition object) {
619 return null;
620 }
621
622 /**
623 * Returns the result of interpreting the object as an instance of '<em>Extern Aggregator Definition</em>'.
624 * <!-- begin-user-doc -->
625 * This implementation returns null;
626 * returning a non-null result will terminate the switch.
627 * <!-- end-user-doc -->
628 * @param object the target of the switch.
629 * @return the result of interpreting the object as an instance of '<em>Extern Aggregator Definition</em>'.
630 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
631 * @generated
632 */
633 public T caseExternAggregatorDefinition(ExternAggregatorDefinition object) {
634 return null;
635 }
636
637 /**
638 * Returns the result of interpreting the object as an instance of '<em>Extern Datatype Definition</em>'.
639 * <!-- begin-user-doc -->
640 * This implementation returns null;
641 * returning a non-null result will terminate the switch.
642 * <!-- end-user-doc -->
643 * @param object the target of the switch.
644 * @return the result of interpreting the object as an instance of '<em>Extern Datatype Definition</em>'.
645 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
646 * @generated
647 */
648 public T caseExternDatatypeDefinition(ExternDatatypeDefinition object) {
649 return null;
650 }
651
652 /**
653 * Returns the result of interpreting the object as an instance of '<em>Named Element</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>Named Element</em>'.
660 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
661 * @generated
662 */
663 public T caseNamedElement(NamedElement object) {
664 return null;
665 }
666
667 /**
668 * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
669 * <!-- begin-user-doc -->
670 * This implementation returns null;
671 * returning a non-null result will terminate the switch.
672 * <!-- end-user-doc -->
673 * @param object the target of the switch.
674 * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
675 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
676 * @generated
677 */
678 public T caseExpression(Expression object) {
679 return null;
680 }
681
682 /**
683 * Returns the result of interpreting the object as an instance of '<em>If Else</em>'.
684 * <!-- begin-user-doc -->
685 * This implementation returns null;
686 * returning a non-null result will terminate the switch.
687 * <!-- end-user-doc -->
688 * @param object the target of the switch.
689 * @return the result of interpreting the object as an instance of '<em>If Else</em>'.
690 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
691 * @generated
692 */
693 public T caseIfElse(IfElse object) {
694 return null;
695 }
696
697 /**
698 * Returns the result of interpreting the object as an instance of '<em>Let</em>'.
699 * <!-- begin-user-doc -->
700 * This implementation returns null;
701 * returning a non-null result will terminate the switch.
702 * <!-- end-user-doc -->
703 * @param object the target of the switch.
704 * @return the result of interpreting the object as an instance of '<em>Let</em>'.
705 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
706 * @generated
707 */
708 public T caseLet(Let object) {
709 return null;
710 }
711
712 /**
713 * Returns the result of interpreting the object as an instance of '<em>Let Binding</em>'.
714 * <!-- begin-user-doc -->
715 * This implementation returns null;
716 * returning a non-null result will terminate the switch.
717 * <!-- end-user-doc -->
718 * @param object the target of the switch.
719 * @return the result of interpreting the object as an instance of '<em>Let Binding</em>'.
720 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
721 * @generated
722 */
723 public T caseLetBinding(LetBinding object) {
724 return null;
725 }
726
727 /**
728 * Returns the result of interpreting the object as an instance of '<em>Case</em>'.
729 * <!-- begin-user-doc -->
730 * This implementation returns null;
731 * returning a non-null result will terminate the switch.
732 * <!-- end-user-doc -->
733 * @param object the target of the switch.
734 * @return the result of interpreting the object as an instance of '<em>Case</em>'.
735 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
736 * @generated
737 */
738 public T caseCase(Case object) {
739 return null;
740 }
741
742 /**
743 * Returns the result of interpreting the object as an instance of '<em>Local Variables</em>'.
744 * <!-- begin-user-doc -->
745 * This implementation returns null;
746 * returning a non-null result will terminate the switch.
747 * <!-- end-user-doc -->
748 * @param object the target of the switch.
749 * @return the result of interpreting the object as an instance of '<em>Local Variables</em>'.
750 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
751 * @generated
752 */
753 public T caseLocalVariables(LocalVariables object) {
754 return null;
755 }
756
757 /**
758 * Returns the result of interpreting the object as an instance of '<em>Quantified Expression</em>'.
759 * <!-- begin-user-doc -->
760 * This implementation returns null;
761 * returning a non-null result will terminate the switch.
762 * <!-- end-user-doc -->
763 * @param object the target of the switch.
764 * @return the result of interpreting the object as an instance of '<em>Quantified Expression</em>'.
765 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
766 * @generated
767 */
768 public T caseQuantifiedExpression(QuantifiedExpression object) {
769 return null;
770 }
771
772 /**
773 * Returns the result of interpreting the object as an instance of '<em>Aggregation</em>'.
774 * <!-- begin-user-doc -->
775 * This implementation returns null;
776 * returning a non-null result will terminate the switch.
777 * <!-- end-user-doc -->
778 * @param object the target of the switch.
779 * @return the result of interpreting the object as an instance of '<em>Aggregation</em>'.
780 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
781 * @generated
782 */
783 public T caseAggregation(Aggregation object) {
784 return null;
785 }
786
787 /**
788 * Returns the result of interpreting the object as an instance of '<em>Call</em>'.
789 * <!-- begin-user-doc -->
790 * This implementation returns null;
791 * returning a non-null result will terminate the switch.
792 * <!-- end-user-doc -->
793 * @param object the target of the switch.
794 * @return the result of interpreting the object as an instance of '<em>Call</em>'.
795 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
796 * @generated
797 */
798 public T caseCall(Call object) {
799 return null;
800 }
801
802 /**
803 * Returns the result of interpreting the object as an instance of '<em>Argument List</em>'.
804 * <!-- begin-user-doc -->
805 * This implementation returns null;
806 * returning a non-null result will terminate the switch.
807 * <!-- end-user-doc -->
808 * @param object the target of the switch.
809 * @return the result of interpreting the object as an instance of '<em>Argument List</em>'.
810 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
811 * @generated
812 */
813 public T caseArgumentList(ArgumentList object) {
814 return null;
815 }
816
817 /**
818 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
819 * <!-- begin-user-doc -->
820 * This implementation returns null;
821 * returning a non-null result will terminate the switch.
822 * <!-- end-user-doc -->
823 * @param object the target of the switch.
824 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
825 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
826 * @generated
827 */
828 public T caseArgument(Argument object) {
829 return null;
830 }
831
832 /**
833 * Returns the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
834 * <!-- begin-user-doc -->
835 * This implementation returns null;
836 * returning a non-null result will terminate the switch.
837 * <!-- end-user-doc -->
838 * @param object the target of the switch.
839 * @return the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
840 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
841 * @generated
842 */
843 public T caseExpressionArgument(ExpressionArgument object) {
844 return null;
845 }
846
847 /**
848 * Returns the result of interpreting the object as an instance of '<em>Star Argument</em>'.
849 * <!-- begin-user-doc -->
850 * This implementation returns null;
851 * returning a non-null result will terminate the switch.
852 * <!-- end-user-doc -->
853 * @param object the target of the switch.
854 * @return the result of interpreting the object as an instance of '<em>Star Argument</em>'.
855 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
856 * @generated
857 */
858 public T caseStarArgument(StarArgument object) {
859 return null;
860 }
861
862 /**
863 * Returns the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
864 * <!-- begin-user-doc -->
865 * This implementation returns null;
866 * returning a non-null result will terminate the switch.
867 * <!-- end-user-doc -->
868 * @param object the target of the switch.
869 * @return the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
870 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
871 * @generated
872 */
873 public T caseTypedArgument(TypedArgument object) {
874 return null;
875 }
876
877 /**
878 * Returns the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
879 * <!-- begin-user-doc -->
880 * This implementation returns null;
881 * returning a non-null result will terminate the switch.
882 * <!-- end-user-doc -->
883 * @param object the target of the switch.
884 * @return the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
885 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
886 * @generated
887 */
888 public T caseTypedStarArgument(TypedStarArgument object) {
889 return null;
890 }
891
892 /**
893 * Returns the result of interpreting the object as an instance of '<em>Reference</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>Reference</em>'.
900 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
901 * @generated
902 */
903 public T caseReference(Reference object) {
904 return null;
905 }
906
907 /**
908 * Returns the result of interpreting the object as an instance of '<em>Interval</em>'.
909 * <!-- begin-user-doc -->
910 * This implementation returns null;
911 * returning a non-null result will terminate the switch.
912 * <!-- end-user-doc -->
913 * @param object the target of the switch.
914 * @return the result of interpreting the object as an instance of '<em>Interval</em>'.
915 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
916 * @generated
917 */
918 public T caseInterval(Interval object) {
919 return null;
920 }
921
922 /**
923 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
924 * <!-- begin-user-doc -->
925 * This implementation returns null;
926 * returning a non-null result will terminate the switch.
927 * <!-- end-user-doc -->
928 * @param object the target of the switch.
929 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
930 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
931 * @generated
932 */
933 public T caseLiteral(Literal object) {
934 return null;
935 }
936
937 /**
938 * Returns the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
939 * <!-- begin-user-doc -->
940 * This implementation returns null;
941 * returning a non-null result will terminate the switch.
942 * <!-- end-user-doc -->
943 * @param object the target of the switch.
944 * @return the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
945 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
946 * @generated
947 */
948 public T caseLogicLiteral(LogicLiteral object) {
949 return null;
950 }
951
952 /**
953 * Returns the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
954 * <!-- begin-user-doc -->
955 * This implementation returns null;
956 * returning a non-null result will terminate the switch.
957 * <!-- end-user-doc -->
958 * @param object the target of the switch.
959 * @return the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
960 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
961 * @generated
962 */
963 public T caseNumericLiteral(NumericLiteral object) {
964 return null;
965 }
966
967 /**
968 * Returns the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
969 * <!-- begin-user-doc -->
970 * This implementation returns null;
971 * returning a non-null result will terminate the switch.
972 * <!-- end-user-doc -->
973 * @param object the target of the switch.
974 * @return the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
975 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
976 * @generated
977 */
978 public T caseInfinityLiteral(InfinityLiteral object) {
979 return null;
980 }
981
982 /**
983 * Returns the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
984 * <!-- begin-user-doc -->
985 * This implementation returns null;
986 * returning a non-null result will terminate the switch.
987 * <!-- end-user-doc -->
988 * @param object the target of the switch.
989 * @return the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
990 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
991 * @generated
992 */
993 public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object) {
994 return null;
995 }
996
997 /**
998 * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
999 * <!-- begin-user-doc -->
1000 * This implementation returns null;
1001 * returning a non-null result will terminate the switch.
1002 * <!-- end-user-doc -->
1003 * @param object the target of the switch.
1004 * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
1005 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1006 * @generated
1007 */
1008 public T caseStringLiteral(StringLiteral object) {
1009 return null;
1010 }
1011
1012 /**
1013 * Returns the result of interpreting the object as an instance of '<em>Class Definition</em>'.
1014 * <!-- begin-user-doc -->
1015 * This implementation returns null;
1016 * returning a non-null result will terminate the switch.
1017 * <!-- end-user-doc -->
1018 * @param object the target of the switch.
1019 * @return the result of interpreting the object as an instance of '<em>Class Definition</em>'.
1020 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1021 * @generated
1022 */
1023 public T caseClassDefinition(ClassDefinition object) {
1024 return null;
1025 }
1026
1027 /**
1028 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1029 * <!-- begin-user-doc -->
1030 * This implementation returns null;
1031 * returning a non-null result will terminate the switch.
1032 * <!-- end-user-doc -->
1033 * @param object the target of the switch.
1034 * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1035 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1036 * @generated
1037 */
1038 public T caseMemberDefinition(MemberDefinition object) {
1039 return null;
1040 }
1041
1042 /**
1043 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1044 * <!-- begin-user-doc -->
1045 * This implementation returns null;
1046 * returning a non-null result will terminate the switch.
1047 * <!-- end-user-doc -->
1048 * @param object the target of the switch.
1049 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1050 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1051 * @generated
1052 */
1053 public T caseMultiplicity(Multiplicity object) {
1054 return null;
1055 }
1056
1057 /**
1058 * Returns the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1059 * <!-- begin-user-doc -->
1060 * This implementation returns null;
1061 * returning a non-null result will terminate the switch.
1062 * <!-- end-user-doc -->
1063 * @param object the target of the switch.
1064 * @return the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1065 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1066 * @generated
1067 */
1068 public T caseManyMultiplicity(ManyMultiplicity object) {
1069 return null;
1070 }
1071
1072 /**
1073 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1074 * <!-- begin-user-doc -->
1075 * This implementation returns null;
1076 * returning a non-null result will terminate the switch.
1077 * <!-- end-user-doc -->
1078 * @param object the target of the switch.
1079 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1080 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1081 * @generated
1082 */
1083 public T caseExactMultiplicity(ExactMultiplicity object) {
1084 return null;
1085 }
1086
1087 /**
1088 * Returns the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1089 * <!-- begin-user-doc -->
1090 * This implementation returns null;
1091 * returning a non-null result will terminate the switch.
1092 * <!-- end-user-doc -->
1093 * @param object the target of the switch.
1094 * @return the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1095 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1096 * @generated
1097 */
1098 public T caseBoundedMultiplicity(BoundedMultiplicity object) {
1099 return null;
1100 }
1101
1102 /**
1103 * Returns the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1104 * <!-- begin-user-doc -->
1105 * This implementation returns null;
1106 * returning a non-null result will terminate the switch.
1107 * <!-- end-user-doc -->
1108 * @param object the target of the switch.
1109 * @return the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1110 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1111 * @generated
1112 */
1113 public T caseScopeDefinition(ScopeDefinition object) {
1114 return null;
1115 }
1116
1117 /**
1118 * Returns the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1119 * <!-- begin-user-doc -->
1120 * This implementation returns null;
1121 * returning a non-null result will terminate the switch.
1122 * <!-- end-user-doc -->
1123 * @param object the target of the switch.
1124 * @return the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1125 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1126 * @generated
1127 */
1128 public T caseExactScopeDefinition(ExactScopeDefinition object) {
1129 return null;
1130 }
1131
1132 /**
1133 * Returns the result of interpreting the object as an instance of '<em>Bounded Scope Definition</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>Bounded Scope Definition</em>'.
1140 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1141 * @generated
1142 */
1143 public T caseBoundedScopeDefinition(BoundedScopeDefinition object) {
1144 return null;
1145 }
1146
1147 /**
1148 * Returns the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1149 * <!-- begin-user-doc -->
1150 * This implementation returns null;
1151 * returning a non-null result will terminate the switch.
1152 * <!-- end-user-doc -->
1153 * @param object the target of the switch.
1154 * @return the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1155 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1156 * @generated
1157 */
1158 public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) {
1159 return null;
1160 }
1161
1162 /**
1163 * Returns the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1164 * <!-- begin-user-doc -->
1165 * This implementation returns null;
1166 * returning a non-null result will terminate the switch.
1167 * <!-- end-user-doc -->
1168 * @param object the target of the switch.
1169 * @return the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1170 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1171 * @generated
1172 */
1173 public T caseObjectiveDefinition(ObjectiveDefinition object) {
1174 return null;
1175 }
1176
1177 /**
1178 * Returns the result of interpreting the object as an instance of '<em>Interpretation</em>'.
1179 * <!-- begin-user-doc -->
1180 * This implementation returns null;
1181 * returning a non-null result will terminate the switch.
1182 * <!-- end-user-doc -->
1183 * @param object the target of the switch.
1184 * @return the result of interpreting the object as an instance of '<em>Interpretation</em>'.
1185 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1186 * @generated
1187 */
1188 public T caseInterpretation(Interpretation object) {
1189 return null;
1190 }
1191
1192 /**
1193 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
1194 * <!-- begin-user-doc -->
1195 * This implementation returns null;
1196 * returning a non-null result will terminate the switch.
1197 * <!-- end-user-doc -->
1198 * @param object the target of the switch.
1199 * @return the result of interpreting the object as an instance of '<em>Variable</em>'.
1200 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1201 * @generated
1202 */
1203 public T caseVariable(Variable object) {
1204 return null;
1205 }
1206
1207 /**
1208 * Returns the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1209 * <!-- begin-user-doc -->
1210 * This implementation returns null;
1211 * returning a non-null result will terminate the switch.
1212 * <!-- end-user-doc -->
1213 * @param object the target of the switch.
1214 * @return the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1215 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1216 * @generated
1217 */
1218 public T caseDisjunction(Disjunction object) {
1219 return null;
1220 }
1221
1222 /**
1223 * Returns the result of interpreting the object as an instance of '<em>Switch</em>'.
1224 * <!-- begin-user-doc -->
1225 * This implementation returns null;
1226 * returning a non-null result will terminate the switch.
1227 * <!-- end-user-doc -->
1228 * @param object the target of the switch.
1229 * @return the result of interpreting the object as an instance of '<em>Switch</em>'.
1230 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1231 * @generated
1232 */
1233 public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object) {
1234 return null;
1235 }
1236
1237 /**
1238 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1239 * <!-- begin-user-doc -->
1240 * This implementation returns null;
1241 * returning a non-null result will terminate the switch.
1242 * <!-- end-user-doc -->
1243 * @param object the target of the switch.
1244 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1245 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1246 * @generated
1247 */
1248 public T caseConjunction(Conjunction object) {
1249 return null;
1250 }
1251
1252 /**
1253 * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'.
1254 * <!-- begin-user-doc -->
1255 * This implementation returns null;
1256 * returning a non-null result will terminate the switch.
1257 * <!-- end-user-doc -->
1258 * @param object the target of the switch.
1259 * @return the result of interpreting the object as an instance of '<em>Comparison</em>'.
1260 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1261 * @generated
1262 */
1263 public T caseComparison(Comparison object) {
1264 return null;
1265 }
1266
1267 /**
1268 * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1269 * <!-- begin-user-doc -->
1270 * This implementation returns null;
1271 * returning a non-null result will terminate the switch.
1272 * <!-- end-user-doc -->
1273 * @param object the target of the switch.
1274 * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1275 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1276 * @generated
1277 */
1278 public T caseBinaryExpression(BinaryExpression object) {
1279 return null;
1280 }
1281
1282 /**
1283 * Returns the result of interpreting the object as an instance of '<em>Cast Expression</em>'.
1284 * <!-- begin-user-doc -->
1285 * This implementation returns null;
1286 * returning a non-null result will terminate the switch.
1287 * <!-- end-user-doc -->
1288 * @param object the target of the switch.
1289 * @return the result of interpreting the object as an instance of '<em>Cast Expression</em>'.
1290 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1291 * @generated
1292 */
1293 public T caseCastExpression(CastExpression object) {
1294 return null;
1295 }
1296
1297 /**
1298 * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1299 * <!-- begin-user-doc -->
1300 * This implementation returns null;
1301 * returning a non-null result will terminate the switch.
1302 * <!-- end-user-doc -->
1303 * @param object the target of the switch.
1304 * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1305 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1306 * @generated
1307 */
1308 public T caseUnaryExpression(UnaryExpression object) {
1309 return null;
1310 }
1311
1312 /**
1313 * Returns the result of interpreting the object as an instance of '<em>Node</em>'.
1314 * <!-- begin-user-doc -->
1315 * This implementation returns null;
1316 * returning a non-null result will terminate the switch.
1317 * <!-- end-user-doc -->
1318 * @param object the target of the switch.
1319 * @return the result of interpreting the object as an instance of '<em>Node</em>'.
1320 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1321 * @generated
1322 */
1323 public T caseNode(Node object) {
1324 return null;
1325 }
1326
1327 /**
1328 * Returns the result of interpreting the object as an instance of '<em>Functor</em>'.
1329 * <!-- begin-user-doc -->
1330 * This implementation returns null;
1331 * returning a non-null result will terminate the switch.
1332 * <!-- end-user-doc -->
1333 * @param object the target of the switch.
1334 * @return the result of interpreting the object as an instance of '<em>Functor</em>'.
1335 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1336 * @generated
1337 */
1338 public T caseFunctor(Functor object) {
1339 return null;
1340 }
1341
1342 /**
1343 * Returns the result of interpreting the object as an instance of '<em>Predicate</em>'.
1344 * <!-- begin-user-doc -->
1345 * This implementation returns null;
1346 * returning a non-null result will terminate the switch.
1347 * <!-- end-user-doc -->
1348 * @param object the target of the switch.
1349 * @return the result of interpreting the object as an instance of '<em>Predicate</em>'.
1350 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1351 * @generated
1352 */
1353 public T casePredicate(Predicate object) {
1354 return null;
1355 }
1356
1357 /**
1358 * Returns the result of interpreting the object as an instance of '<em>Metric</em>'.
1359 * <!-- begin-user-doc -->
1360 * This implementation returns null;
1361 * returning a non-null result will terminate the switch.
1362 * <!-- end-user-doc -->
1363 * @param object the target of the switch.
1364 * @return the result of interpreting the object as an instance of '<em>Metric</em>'.
1365 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1366 * @generated
1367 */
1368 public T caseMetric(Metric object) {
1369 return null;
1370 }
1371
1372 /**
1373 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
1374 * <!-- begin-user-doc -->
1375 * This implementation returns null;
1376 * returning a non-null result will terminate the switch, but this is the last case anyway.
1377 * <!-- end-user-doc -->
1378 * @param object the target of the switch.
1379 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
1380 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
1381 * @generated
1382 */
1383 @Override
1384 public T defaultCase(EObject object) {
1385 return null;
1386 }
1387
1388} //SolverLanguageSwitch
diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
deleted file mode 100644
index 905e5a90..00000000
--- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
+++ /dev/null
@@ -1,291 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="solverLanguage" nsURI="http://www.eclipse.org/viatra/solver/language/SolverLanguage"
4 nsPrefix="solverLanguage">
5 <eClassifiers xsi:type="ecore:EClass" name="Problem">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
7 eType="#//Statement" containment="true"/>
8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
10 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Statement">
11 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
12 containment="true"/>
13 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
14 containment="true"/>
15 <eStructuralFeatures xsi:type="ecore:EAttribute" name="functional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPrediateDefinition" eSuperTypes="#//Statement">
19 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
20 containment="true"/>
21 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
22 containment="true"/>
23 </eClassifiers>
24 <eClassifiers xsi:type="ecore:EClass" name="DefaultDefinition" eSuperTypes="#//Statement">
25 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
26 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
27 containment="true"/>
28 </eClassifiers>
29 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement">
30 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
31 containment="true"/>
32 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
33 containment="true"/>
34 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
35 </eClassifiers>
36 <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement">
37 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
38 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
39 containment="true"/>
40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement">
42 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
43 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
44 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
45 containment="true"/>
46 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EClass" name="ExternAggregatorDefinition" eSuperTypes="#//Statement">
48 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="inputType" eType="#//NamedElement"/>
51 </eClassifiers>
52 <eClassifiers xsi:type="ecore:EClass" name="ExternDatatypeDefinition" eSuperTypes="#//Statement">
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
54 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" unique="false"
55 upperBound="-1" eType="#//NamedElement"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="NamedElement">
58 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
59 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//Statement"/>
61 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression">
62 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression"
63 containment="true"/>
64 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression"
65 containment="true"/>
66 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
67 containment="true"/>
68 </eClassifiers>
69 <eClassifiers xsi:type="ecore:EClass" name="Let" eSuperTypes="#//Expression">
70 <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
71 eType="#//LetBinding" containment="true"/>
72 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
73 containment="true"/>
74 </eClassifiers>
75 <eClassifiers xsi:type="ecore:EClass" name="LetBinding">
76 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"
77 containment="true"/>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression"
79 containment="true"/>
80 </eClassifiers>
81 <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression">
82 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
83 containment="true"/>
84 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
85 containment="true"/>
86 </eClassifiers>
87 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
88 <eLiterals name="EQ" literal="EQ"/>
89 <eLiterals name="NOT_EQ" value="1" literal="NOT_EQ"/>
90 <eLiterals name="LESS" value="2" literal="LESS"/>
91 <eLiterals name="LESS_EQ" value="3" literal="LESS_EQ"/>
92 <eLiterals name="GREATER" value="4" literal="GREATER"/>
93 <eLiterals name="GREATER_EQ" value="5" literal="GREATER_EQ"/>
94 <eLiterals name="IN" value="6" literal="IN"/>
95 <eLiterals name="ADD" value="7" literal="ADD"/>
96 <eLiterals name="SUB" value="8" literal="SUB"/>
97 <eLiterals name="MUL" value="9" literal="MUL"/>
98 <eLiterals name="DIV" value="10" literal="DIV"/>
99 <eLiterals name="POW" value="11" literal="POW"/>
100 <eLiterals name="IMPLIES" value="12"/>
101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp">
103 <eLiterals name="NEG" literal="!"/>
104 <eLiterals name="PLUS" value="1" literal="+"/>
105 <eLiterals name="MINUS" value="2" literal="-"/>
106 <eLiterals name="MAY" value="3" literal="may"/>
107 <eLiterals name="MUST" value="4" literal="must"/>
108 <eLiterals name="CURRENT" value="5" literal="current"/>
109 </eClassifiers>
110 <eClassifiers xsi:type="ecore:EClass" name="LocalVariables">
111 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
112 eType="#//NamedElement" containment="true"/>
113 </eClassifiers>
114 <eClassifiers xsi:type="ecore:EClass" name="QuantifiedExpression" eSuperTypes="#//Expression">
115 <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables"
116 containment="true"/>
117 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
118 containment="true"/>
119 <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" eType="#//Quantifier"/>
120 </eClassifiers>
121 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression">
122 <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//NamedElement"/>
123 <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables"
124 containment="true"/>
125 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
126 containment="true"/>
127 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
128 containment="true"/>
129 </eClassifiers>
130 <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression">
131 <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference"
132 containment="true"/>
133 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
134 <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure"
135 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
136 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
137 containment="true"/>
138 </eClassifiers>
139 <eClassifiers xsi:type="ecore:EClass" name="ArgumentList">
140 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
141 eType="#//Argument" containment="true"/>
142 </eClassifiers>
143 <eClassifiers xsi:type="ecore:EClass" name="Argument"/>
144 <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument">
145 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
146 containment="true"/>
147 </eClassifiers>
148 <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/>
149 <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" eSuperTypes="#//Argument">
150 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
151 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"/>
152 </eClassifiers>
153 <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//Argument">
154 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
155 </eClassifiers>
156 <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression">
157 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//NamedElement"/>
158 </eClassifiers>
159 <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression">
160 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression"
161 containment="true"/>
162 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression"
163 containment="true"/>
164 </eClassifiers>
165 <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/>
166 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
167 <eLiterals name="TRUE" literal="true"/>
168 <eLiterals name="FALSE" value="1" literal="false"/>
169 <eLiterals name="UNKNOWN" value="2" literal="unknown"/>
170 <eLiterals name="ERROR" value="3" literal="error"/>
171 </eClassifiers>
172 <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal">
173 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
174 </eClassifiers>
175 <eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Literal">
176 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
177 </eClassifiers>
178 <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/>
179 <eClassifiers xsi:type="ecore:EClass" name="EmptyIntervalLiteral" eSuperTypes="#//Literal"/>
180 <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
181 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
182 </eClassifiers>
183 <eClassifiers xsi:type="ecore:EClass" name="ClassDefinition" eSuperTypes="#//Statement">
184 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
185 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
186 <eStructuralFeatures xsi:type="ecore:EReference" name="superclasses" unique="false"
187 upperBound="-1" eType="#//NamedElement"/>
188 <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
189 eType="#//MemberDefinition" containment="true"/>
190 </eClassifiers>
191 <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition">
192 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
193 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
194 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
195 containment="true"/>
196 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
197 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//NamedElement"/>
198 </eClassifiers>
199 <eClassifiers xsi:type="ecore:EClass" name="Multiplicity"/>
200 <eClassifiers xsi:type="ecore:EClass" name="ManyMultiplicity" eSuperTypes="#//Multiplicity"/>
201 <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity">
202 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
203 </eClassifiers>
204 <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity">
205 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
206 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
207 </eClassifiers>
208 <eClassifiers xsi:type="ecore:EClass" name="ScopeDefinition" eSuperTypes="#//Statement">
209 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
210 </eClassifiers>
211 <eClassifiers xsi:type="ecore:EClass" name="ExactScopeDefinition" eSuperTypes="#//ScopeDefinition">
212 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactScope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
213 </eClassifiers>
214 <eClassifiers xsi:type="ecore:EClass" name="BoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
215 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
216 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
217 </eClassifiers>
218 <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
219 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
220 </eClassifiers>
221 <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind">
222 <eLiterals name="MINIMIZE" literal="minimize"/>
223 <eLiterals name="MAXIMIZE" value="1" literal="maximize"/>
224 </eClassifiers>
225 <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDefinition" eSuperTypes="#//Statement">
226 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/>
227 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression"
228 containment="true"/>
229 </eClassifiers>
230 <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement">
231 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
232 containment="true"/>
233 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
234 containment="true"/>
235 </eClassifiers>
236 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//NamedElement">
237 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
238 </eClassifiers>
239 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression">
240 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
241 eType="#//Expression" containment="true"/>
242 </eClassifiers>
243 <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression">
244 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
245 eType="#//Case" containment="true"/>
246 </eClassifiers>
247 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Expression">
248 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
249 eType="#//Expression" containment="true"/>
250 </eClassifiers>
251 <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression">
252 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
253 containment="true"/>
254 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
255 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
256 containment="true"/>
257 </eClassifiers>
258 <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression">
259 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
260 containment="true"/>
261 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
262 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
263 containment="true"/>
264 </eClassifiers>
265 <eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression">
266 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
267 containment="true"/>
268 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
269 </eClassifiers>
270 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
271 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/>
272 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
273 containment="true"/>
274 </eClassifiers>
275 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//NamedElement">
276 <eStructuralFeatures xsi:type="ecore:EAttribute" name="withId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
277 </eClassifiers>
278 <eClassifiers xsi:type="ecore:EClass" name="Functor" abstract="true" eSuperTypes="#//NamedElement">
279 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
280 eType="#//Variable"/>
281 </eClassifiers>
282 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Functor"/>
283 <eClassifiers xsi:type="ecore:EClass" name="Metric" eSuperTypes="#//Functor">
284 <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//NamedElement"/>
285 </eClassifiers>
286 <eClassifiers xsi:type="ecore:EEnum" name="Quantifier">
287 <eLiterals name="EXISTS"/>
288 <eLiterals name="FORALL" value="1"/>
289 <eLiterals name="COUNT" value="2"/>
290 </eClassifiers>
291</ecore:EPackage>
diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
deleted file mode 100644
index 2325d668..00000000
--- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
+++ /dev/null
@@ -1,249 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.21.0" modelDirectory="/org.eclipse.viatra.solver.language/ecore-gen"
4 modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage"
5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
7 runtimeVersion="2.20">
8 <foreignModel>SolverLanguage.ecore</foreignModel>
9 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language"
10 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/">
11 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator">
12 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/>
13 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/>
14 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS"/>
15 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS_EQ"/>
16 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER"/>
17 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER_EQ"/>
18 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IN"/>
19 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/ADD"/>
20 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/SUB"/>
21 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/>
22 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/>
23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IMPLIES"/>
25 </genEnums>
26 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp">
27 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/>
28 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/PLUS"/>
29 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MINUS"/>
30 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MAY"/>
31 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/>
32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/>
33 </genEnums>
34 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue">
35 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/>
36 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/>
37 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/UNKNOWN"/>
38 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/ERROR"/>
39 </genEnums>
40 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//ObjectiveKind">
41 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/>
42 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/>
43 </genEnums>
44 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//Quantifier">
45 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/EXISTS"/>
46 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/FORALL"/>
47 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/COUNT"/>
48 </genEnums>
49 <genClasses ecoreClass="SolverLanguage.ecore#//Problem">
50 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/>
51 </genClasses>
52 <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/>
53 <genClasses ecoreClass="SolverLanguage.ecore#//PredicateDefinition">
54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/head"/>
55 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/body"/>
56 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/functional"/>
57 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/error"/>
58 </genClasses>
59 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedErrorPrediateDefinition">
60 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/argumentList"/>
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/body"/>
62 </genClasses>
63 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultDefinition">
64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/>
65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/>
66 </genClasses>
67 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition">
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/>
70 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/type"/>
71 </genClasses>
72 <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition">
73 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternPredicateDefinition/name"/>
74 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/argumentList"/>
75 </genClasses>
76 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition">
77 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/type"/>
78 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/name"/>
79 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/argumentList"/>
80 </genClasses>
81 <genClasses ecoreClass="SolverLanguage.ecore#//ExternAggregatorDefinition">
82 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/type"/>
83 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternAggregatorDefinition/name"/>
84 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/inputType"/>
85 </genClasses>
86 <genClasses ecoreClass="SolverLanguage.ecore#//ExternDatatypeDefinition">
87 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternDatatypeDefinition/name"/>
88 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternDatatypeDefinition/supertypes"/>
89 </genClasses>
90 <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement">
91 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/>
92 </genClasses>
93 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/>
94 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse">
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/>
96 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/>
97 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/>
98 </genClasses>
99 <genClasses ecoreClass="SolverLanguage.ecore#//Let">
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/bindings"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/body"/>
102 </genClasses>
103 <genClasses ecoreClass="SolverLanguage.ecore#//LetBinding">
104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/variable"/>
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/value"/>
106 </genClasses>
107 <genClasses ecoreClass="SolverLanguage.ecore#//Case">
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/>
109 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/>
110 </genClasses>
111 <genClasses ecoreClass="SolverLanguage.ecore#//LocalVariables">
112 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LocalVariables/variables"/>
113 </genClasses>
114 <genClasses ecoreClass="SolverLanguage.ecore#//QuantifiedExpression">
115 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/localVariables"/>
116 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/body"/>
117 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//QuantifiedExpression/quantifier"/>
118 </genClasses>
119 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation">
120 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/op"/>
121 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/localVariables"/>
122 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/>
123 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/>
124 </genClasses>
125 <genClasses ecoreClass="SolverLanguage.ecore#//Call">
126 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/functor"/>
127 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/transitiveClosure"/>
128 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/reflexiveTransitiveClosure"/>
129 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/argumentList"/>
130 </genClasses>
131 <genClasses ecoreClass="SolverLanguage.ecore#//ArgumentList">
132 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ArgumentList/arguments"/>
133 </genClasses>
134 <genClasses ecoreClass="SolverLanguage.ecore#//Argument"/>
135 <genClasses ecoreClass="SolverLanguage.ecore#//ExpressionArgument">
136 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExpressionArgument/body"/>
137 </genClasses>
138 <genClasses ecoreClass="SolverLanguage.ecore#//StarArgument"/>
139 <genClasses ecoreClass="SolverLanguage.ecore#//TypedArgument">
140 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/type"/>
141 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/variable"/>
142 </genClasses>
143 <genClasses ecoreClass="SolverLanguage.ecore#//TypedStarArgument">
144 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedStarArgument/type"/>
145 </genClasses>
146 <genClasses ecoreClass="SolverLanguage.ecore#//Reference">
147 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Reference/referred"/>
148 </genClasses>
149 <genClasses ecoreClass="SolverLanguage.ecore#//Interval">
150 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/lowerBound"/>
151 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/upperBound"/>
152 </genClasses>
153 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/>
154 <genClasses ecoreClass="SolverLanguage.ecore#//LogicLiteral">
155 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LogicLiteral/value"/>
156 </genClasses>
157 <genClasses ecoreClass="SolverLanguage.ecore#//NumericLiteral">
158 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NumericLiteral/value"/>
159 </genClasses>
160 <genClasses ecoreClass="SolverLanguage.ecore#//InfinityLiteral"/>
161 <genClasses ecoreClass="SolverLanguage.ecore#//EmptyIntervalLiteral"/>
162 <genClasses ecoreClass="SolverLanguage.ecore#//StringLiteral">
163 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringLiteral/value"/>
164 </genClasses>
165 <genClasses ecoreClass="SolverLanguage.ecore#//ClassDefinition">
166 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/abstract"/>
167 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/name"/>
168 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/superclasses"/>
169 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/members"/>
170 </genClasses>
171 <genClasses ecoreClass="SolverLanguage.ecore#//MemberDefinition">
172 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/containment"/>
173 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/type"/>
174 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/multiplicity"/>
175 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/name"/>
176 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/opposite"/>
177 </genClasses>
178 <genClasses ecoreClass="SolverLanguage.ecore#//Multiplicity"/>
179 <genClasses ecoreClass="SolverLanguage.ecore#//ManyMultiplicity"/>
180 <genClasses ecoreClass="SolverLanguage.ecore#//ExactMultiplicity">
181 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactMultiplicity/multiplicity"/>
182 </genClasses>
183 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedMultiplicity">
184 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/lowerBound"/>
185 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/upperBound"/>
186 </genClasses>
187 <genClasses ecoreClass="SolverLanguage.ecore#//ScopeDefinition">
188 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ScopeDefinition/type"/>
189 </genClasses>
190 <genClasses ecoreClass="SolverLanguage.ecore#//ExactScopeDefinition">
191 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactScopeDefinition/exactScope"/>
192 </genClasses>
193 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedScopeDefinition">
194 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/lowerBound"/>
195 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/upperBound"/>
196 </genClasses>
197 <genClasses ecoreClass="SolverLanguage.ecore#//LowerBoundedScopeDefinition">
198 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LowerBoundedScopeDefinition/lowerBound"/>
199 </genClasses>
200 <genClasses ecoreClass="SolverLanguage.ecore#//ObjectiveDefinition">
201 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/>
202 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/>
203 </genClasses>
204 <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation">
205 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/body"/>
206 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/range"/>
207 </genClasses>
208 <genClasses ecoreClass="SolverLanguage.ecore#//Variable">
209 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Variable/type"/>
210 </genClasses>
211 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction">
212 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/>
213 </genClasses>
214 <genClasses ecoreClass="SolverLanguage.ecore#//Switch">
215 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Switch/cases"/>
216 </genClasses>
217 <genClasses ecoreClass="SolverLanguage.ecore#//Conjunction">
218 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Conjunction/children"/>
219 </genClasses>
220 <genClasses ecoreClass="SolverLanguage.ecore#//Comparison">
221 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/left"/>
222 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Comparison/op"/>
223 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/right"/>
224 </genClasses>
225 <genClasses ecoreClass="SolverLanguage.ecore#//BinaryExpression">
226 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/left"/>
227 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/>
228 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/>
229 </genClasses>
230 <genClasses ecoreClass="SolverLanguage.ecore#//CastExpression">
231 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/body"/>
232 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/type"/>
233 </genClasses>
234 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression">
235 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/>
236 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/>
237 </genClasses>
238 <genClasses ecoreClass="SolverLanguage.ecore#//Node">
239 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Node/withId"/>
240 </genClasses>
241 <genClasses image="false" ecoreClass="SolverLanguage.ecore#//Functor">
242 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Functor/parameters"/>
243 </genClasses>
244 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"/>
245 <genClasses ecoreClass="SolverLanguage.ecore#//Metric">
246 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Metric/returnType"/>
247 </genClasses>
248 </genPackages>
249</genmodel:GenModel>
diff --git a/Application/org.eclipse.viatra.solver.language/plugin.xml b/Application/org.eclipse.viatra.solver.language/plugin.xml
index 79c1ea47..c5be3e9b 100644
--- a/Application/org.eclipse.viatra.solver.language/plugin.xml
+++ b/Application/org.eclipse.viatra.solver.language/plugin.xml
@@ -1,10 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?> 2<?eclipse version="3.0"?>
3<plugin> 3<plugin>
4 <extension point="org.eclipse.emf.ecore.generated_package">
5 <package
6 uri = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"
7 class = "org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage"
8 genModel = "model/SolverLanguage.genmodel" />
9 </extension>
10</plugin> 4</plugin>
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
index 4bf254b2..a02b3ab2 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
@@ -28,9 +28,11 @@ import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
28import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; 28import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
29import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; 29import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
30import org.eclipse.xtext.parser.antlr.ITokenDefProvider; 30import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
31import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper;
31import org.eclipse.xtext.parser.antlr.Lexer; 32import org.eclipse.xtext.parser.antlr.Lexer;
32import org.eclipse.xtext.parser.antlr.LexerBindings; 33import org.eclipse.xtext.parser.antlr.LexerBindings;
33import org.eclipse.xtext.parser.antlr.LexerProvider; 34import org.eclipse.xtext.parser.antlr.LexerProvider;
35import org.eclipse.xtext.parser.antlr.UnorderedGroupHelper;
34import org.eclipse.xtext.resource.IContainer; 36import org.eclipse.xtext.resource.IContainer;
35import org.eclipse.xtext.resource.IResourceDescriptions; 37import org.eclipse.xtext.resource.IResourceDescriptions;
36import org.eclipse.xtext.resource.containers.IAllContainersState; 38import org.eclipse.xtext.resource.containers.IAllContainersState;
@@ -137,6 +139,11 @@ public abstract class AbstractSolverLanguageRuntimeModule extends DefaultRuntime
137 .to(InternalSolverLanguageLexer.class); 139 .to(InternalSolverLanguageLexer.class);
138 } 140 }
139 141
142 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
143 public Class<? extends IUnorderedGroupHelper> bindIUnorderedGroupHelper() {
144 return UnorderedGroupHelper.class;
145 }
146
140 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 147 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
141 @SingletonBinding(eager=true) 148 @SingletonBinding(eager=true)
142 public Class<? extends SolverLanguageValidator> bindSolverLanguageValidator() { 149 public Class<? extends SolverLanguageValidator> bindSolverLanguageValidator() {
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 da513ba9..0fa5d0d7 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
index 8ec69aaa..eb6f05c7 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
@@ -71,23 +71,73 @@ ruleProblem returns [EObject current=null]
71}: 71}:
72 ( 72 (
73 ( 73 (
74 otherlv_0=Problem
74 { 75 {
75 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 76 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
76 } 77 }
77 lv_statements_0_0=ruleStatement 78 (
79 (
80 {
81 newCompositeNode(grammarAccess.getProblemAccess().getNameQualifiedNameParserRuleCall_0_1_0());
82 }
83 lv_name_1_0=ruleQualifiedName
84 {
85 if ($current==null) {
86 $current = createModelElementForParent(grammarAccess.getProblemRule());
87 }
88 set(
89 $current,
90 "name",
91 lv_name_1_0,
92 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
93 afterParserOrEnumRuleCall();
94 }
95 )
96 )
97 this_FULL_STOP_2=RULE_FULL_STOP
78 { 98 {
79 if ($current==null) { 99 newLeafNode(this_FULL_STOP_2, grammarAccess.getProblemAccess().getFULL_STOPTerminalRuleCall_0_2());
80 $current = createModelElementForParent(grammarAccess.getProblemRule());
81 }
82 add(
83 $current,
84 "statements",
85 lv_statements_0_0,
86 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
87 afterParserOrEnumRuleCall();
88 } 100 }
89 ) 101 )?
90 )* 102 (
103 (
104 {
105 newCompositeNode(grammarAccess.getProblemAccess().getImportsImportParserRuleCall_1_0());
106 }
107 lv_imports_3_0=ruleImport
108 {
109 if ($current==null) {
110 $current = createModelElementForParent(grammarAccess.getProblemRule());
111 }
112 add(
113 $current,
114 "imports",
115 lv_imports_3_0,
116 "org.eclipse.viatra.solver.language.SolverLanguage.Import");
117 afterParserOrEnumRuleCall();
118 }
119 )
120 )*
121 (
122 (
123 {
124 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_2_0());
125 }
126 lv_statements_4_0=ruleStatement
127 {
128 if ($current==null) {
129 $current = createModelElementForParent(grammarAccess.getProblemRule());
130 }
131 add(
132 $current,
133 "statements",
134 lv_statements_4_0,
135 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
136 afterParserOrEnumRuleCall();
137 }
138 )
139 )*
140 )
91; 141;
92 142
93// Entry rule entryRuleStatement 143// Entry rule entryRuleStatement
@@ -106,118 +156,280 @@ ruleStatement returns [EObject current=null]
106 leaveRule(); 156 leaveRule();
107}: 157}:
108 ( 158 (
159 {
160 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0());
161 }
162 this_AssertionOrDefinition_0=ruleAssertionOrDefinition
163 {
164 $current = $this_AssertionOrDefinition_0.current;
165 afterParserOrEnumRuleCall();
166 }
167 |
168 {
169 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1());
170 }
171 this_PredicateDefinition_1=rulePredicateDefinition
172 {
173 $current = $this_PredicateDefinition_1.current;
174 afterParserOrEnumRuleCall();
175 }
176 |
177 {
178 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPredicateDefintionParserRuleCall_2());
179 }
180 this_UnnamedErrorPredicateDefintion_2=ruleUnnamedErrorPredicateDefintion
181 {
182 $current = $this_UnnamedErrorPredicateDefintion_2.current;
183 afterParserOrEnumRuleCall();
184 }
185 |
186 {
187 newCompositeNode(grammarAccess.getStatementAccess().getDefaultAssertionParserRuleCall_3());
188 }
189 this_DefaultAssertion_3=ruleDefaultAssertion
190 {
191 $current = $this_DefaultAssertion_3.current;
192 afterParserOrEnumRuleCall();
193 }
194 |
195 {
196 newCompositeNode(grammarAccess.getStatementAccess().getFunctionDefinitionParserRuleCall_4());
197 }
198 this_FunctionDefinition_4=ruleFunctionDefinition
199 {
200 $current = $this_FunctionDefinition_4.current;
201 afterParserOrEnumRuleCall();
202 }
203 |
204 {
205 newCompositeNode(grammarAccess.getStatementAccess().getAttributeParserRuleCall_5());
206 }
207 this_Attribute_5=ruleAttribute
208 {
209 $current = $this_Attribute_5.current;
210 afterParserOrEnumRuleCall();
211 }
212 |
213 {
214 newCompositeNode(grammarAccess.getStatementAccess().getExternDeclarationParserRuleCall_6());
215 }
216 this_ExternDeclaration_6=ruleExternDeclaration
217 {
218 $current = $this_ExternDeclaration_6.current;
219 afterParserOrEnumRuleCall();
220 }
221 |
222 {
223 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_7());
224 }
225 this_ScopeDeclaration_7=ruleScopeDeclaration
226 {
227 $current = $this_ScopeDeclaration_7.current;
228 afterParserOrEnumRuleCall();
229 }
230 |
231 {
232 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDeclarationParserRuleCall_8());
233 }
234 this_ObjectiveDeclaration_8=ruleObjectiveDeclaration
235 {
236 $current = $this_ObjectiveDeclaration_8.current;
237 afterParserOrEnumRuleCall();
238 }
239 |
240 {
241 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_9());
242 }
243 this_ClassDeclaration_9=ruleClassDeclaration
244 {
245 $current = $this_ClassDeclaration_9.current;
246 afterParserOrEnumRuleCall();
247 }
248 |
249 {
250 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_10());
251 }
252 this_EnumDeclaration_10=ruleEnumDeclaration
253 {
254 $current = $this_EnumDeclaration_10.current;
255 afterParserOrEnumRuleCall();
256 }
257 )
258;
259
260// Entry rule entryRuleImport
261entryRuleImport returns [EObject current=null]:
262 { newCompositeNode(grammarAccess.getImportRule()); }
263 iv_ruleImport=ruleImport
264 { $current=$iv_ruleImport.current; }
265 EOF;
266
267// Rule Import
268ruleImport returns [EObject current=null]
269@init {
270 enterRule();
271}
272@after {
273 leaveRule();
274}:
275 (
276 {
277 newCompositeNode(grammarAccess.getImportAccess().getUriImportParserRuleCall_0());
278 }
279 this_UriImport_0=ruleUriImport
280 {
281 $current = $this_UriImport_0.current;
282 afterParserOrEnumRuleCall();
283 }
284 |
285 {
286 newCompositeNode(grammarAccess.getImportAccess().getNamespaceImportParserRuleCall_1());
287 }
288 this_NamespaceImport_1=ruleNamespaceImport
289 {
290 $current = $this_NamespaceImport_1.current;
291 afterParserOrEnumRuleCall();
292 }
293 )
294;
295
296// Entry rule entryRuleUriImport
297entryRuleUriImport returns [EObject current=null]:
298 { newCompositeNode(grammarAccess.getUriImportRule()); }
299 iv_ruleUriImport=ruleUriImport
300 { $current=$iv_ruleUriImport.current; }
301 EOF;
302
303// Rule UriImport
304ruleUriImport returns [EObject current=null]
305@init {
306 enterRule();
307}
308@after {
309 leaveRule();
310}:
311 (
312 otherlv_0=Import
313 {
314 newLeafNode(otherlv_0, grammarAccess.getUriImportAccess().getImportKeyword_0());
315 }
109 ( 316 (
317 (
318 lv_uri_1_0=RULE_STRING
319 {
320 newLeafNode(lv_uri_1_0, grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0());
321 }
322 {
323 if ($current==null) {
324 $current = createModelElement(grammarAccess.getUriImportRule());
325 }
326 setWithLastConsumed(
327 $current,
328 "uri",
329 lv_uri_1_0,
330 "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
331 }
332 )
333 )
334 (
335 otherlv_2=As
110 { 336 {
111 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); 337 newLeafNode(otherlv_2, grammarAccess.getUriImportAccess().getAsKeyword_2_0());
112 }
113 this_AssertionOrDefinition_0=ruleAssertionOrDefinition
114 {
115 $current = $this_AssertionOrDefinition_0.current;
116 afterParserOrEnumRuleCall();
117 }
118 |
119 {
120 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
121 }
122 this_PredicateDefinition_1=rulePredicateDefinition
123 {
124 $current = $this_PredicateDefinition_1.current;
125 afterParserOrEnumRuleCall();
126 }
127 |
128 {
129 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
130 }
131 this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition
132 {
133 $current = $this_UnnamedErrorPrediateDefinition_2.current;
134 afterParserOrEnumRuleCall();
135 }
136 |
137 {
138 newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
139 }
140 this_DefaultDefinition_3=ruleDefaultDefinition
141 {
142 $current = $this_DefaultDefinition_3.current;
143 afterParserOrEnumRuleCall();
144 }
145 |
146 {
147 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
148 }
149 this_MetricDefinition_4=ruleMetricDefinition
150 {
151 $current = $this_MetricDefinition_4.current;
152 afterParserOrEnumRuleCall();
153 }
154 |
155 {
156 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
157 }
158 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition
159 {
160 $current = $this_ExternPredicateDefinition_5.current;
161 afterParserOrEnumRuleCall();
162 }
163 |
164 {
165 newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
166 }
167 this_ExternMetricDefinition_6=ruleExternMetricDefinition
168 {
169 $current = $this_ExternMetricDefinition_6.current;
170 afterParserOrEnumRuleCall();
171 }
172 |
173 {
174 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
175 }
176 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition
177 {
178 $current = $this_ExternAggregatorDefinition_7.current;
179 afterParserOrEnumRuleCall();
180 }
181 |
182 {
183 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
184 }
185 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition
186 {
187 $current = $this_ExternDatatypeDefinition_8.current;
188 afterParserOrEnumRuleCall();
189 }
190 |
191 {
192 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
193 }
194 this_ClassDefinition_9=ruleClassDefinition
195 {
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 } 338 }
212 this_ObjectiveDefinition_11=ruleObjectiveDefinition 339 (
340 (
341 {
342 newCompositeNode(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0());
343 }
344 lv_alias_3_0=ruleQualifiedName
345 {
346 if ($current==null) {
347 $current = createModelElementForParent(grammarAccess.getUriImportRule());
348 }
349 set(
350 $current,
351 "alias",
352 lv_alias_3_0,
353 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
354 afterParserOrEnumRuleCall();
355 }
356 )
357 )
358 )
359 this_FULL_STOP_4=RULE_FULL_STOP
360 {
361 newLeafNode(this_FULL_STOP_4, grammarAccess.getUriImportAccess().getFULL_STOPTerminalRuleCall_3());
362 }
363 )
364;
365
366// Entry rule entryRuleNamespaceImport
367entryRuleNamespaceImport returns [EObject current=null]:
368 { newCompositeNode(grammarAccess.getNamespaceImportRule()); }
369 iv_ruleNamespaceImport=ruleNamespaceImport
370 { $current=$iv_ruleNamespaceImport.current; }
371 EOF;
372
373// Rule NamespaceImport
374ruleNamespaceImport returns [EObject current=null]
375@init {
376 enterRule();
377}
378@after {
379 leaveRule();
380}:
381 (
382 otherlv_0=Import
383 {
384 newLeafNode(otherlv_0, grammarAccess.getNamespaceImportAccess().getImportKeyword_0());
385 }
386 (
387 (
388 {
389 newCompositeNode(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0());
390 }
391 lv_importedNamespace_1_0=ruleQualifiedName
392 {
393 if ($current==null) {
394 $current = createModelElementForParent(grammarAccess.getNamespaceImportRule());
395 }
396 set(
397 $current,
398 "importedNamespace",
399 lv_importedNamespace_1_0,
400 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
401 afterParserOrEnumRuleCall();
402 }
403 )
404 )
405 (
406 otherlv_2=As
213 { 407 {
214 $current = $this_ObjectiveDefinition_11.current; 408 newLeafNode(otherlv_2, grammarAccess.getNamespaceImportAccess().getAsKeyword_2_0());
215 afterParserOrEnumRuleCall();
216 } 409 }
410 (
411 (
412 {
413 newCompositeNode(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0());
414 }
415 lv_alias_3_0=ruleQualifiedName
416 {
417 if ($current==null) {
418 $current = createModelElementForParent(grammarAccess.getNamespaceImportRule());
419 }
420 set(
421 $current,
422 "alias",
423 lv_alias_3_0,
424 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
425 afterParserOrEnumRuleCall();
426 }
427 )
428 )
217 ) 429 )
218 this_FULL_STOP_12=RULE_FULL_STOP 430 this_FULL_STOP_4=RULE_FULL_STOP
219 { 431 {
220 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 432 newLeafNode(this_FULL_STOP_4, grammarAccess.getNamespaceImportAccess().getFULL_STOPTerminalRuleCall_3());
221 } 433 }
222 ) 434 )
223; 435;
@@ -251,33 +463,35 @@ ruleAssertionOrDefinition returns [EObject current=null]
251 ( 463 (
252 { 464 {
253 $current = forceCreateModelElementAndSet( 465 $current = forceCreateModelElementAndSet(
254 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), 466 grammarAccess.getAssertionOrDefinitionAccess().getAssertionExpressionAction_1_0_0(),
255 $current); 467 $current);
256 } 468 }
257 ) 469 )
258 otherlv_2=Colon
259 {
260 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
261 }
262 ( 470 (
471 otherlv_2=Colon
472 {
473 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
474 }
263 ( 475 (
264 { 476 (
265 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); 477 {
266 } 478 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
267 lv_range_3_0=ruleExpression
268 {
269 if ($current==null) {
270 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
271 } 479 }
272 set( 480 lv_range_3_0=ruleExpression
273 $current, 481 {
274 "range", 482 if ($current==null) {
275 lv_range_3_0, 483 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
276 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 484 }
277 afterParserOrEnumRuleCall(); 485 set(
278 } 486 $current,
487 "range",
488 lv_range_3_0,
489 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
490 afterParserOrEnumRuleCall();
491 }
492 )
279 ) 493 )
280 ) 494 )?
281 ) 495 )
282 | 496 |
283 ( 497 (
@@ -317,13 +531,13 @@ ruleAssertionOrDefinition returns [EObject current=null]
317 ( 531 (
318 { 532 {
319 $current = forceCreateModelElementAndSet( 533 $current = forceCreateModelElementAndSet(
320 grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), 534 grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(),
321 $current); 535 $current);
322 } 536 }
323 ) 537 )
324 otherlv_8=EqualsSign 538 otherlv_8=ColonEqualsSign
325 { 539 {
326 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 540 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getColonEqualsSignKeyword_1_2_1());
327 } 541 }
328 ( 542 (
329 ( 543 (
@@ -345,7 +559,11 @@ ruleAssertionOrDefinition returns [EObject current=null]
345 ) 559 )
346 ) 560 )
347 ) 561 )
348 )? 562 )
563 this_FULL_STOP_10=RULE_FULL_STOP
564 {
565 newLeafNode(this_FULL_STOP_10, grammarAccess.getAssertionOrDefinitionAccess().getFULL_STOPTerminalRuleCall_2());
566 }
349 ) 567 )
350; 568;
351 569
@@ -470,18 +688,22 @@ rulePredicateDefinition returns [EObject current=null]
470 } 688 }
471 ) 689 )
472 ) 690 )
691 this_FULL_STOP_7=RULE_FULL_STOP
692 {
693 newLeafNode(this_FULL_STOP_7, grammarAccess.getPredicateDefinitionAccess().getFULL_STOPTerminalRuleCall_4());
694 }
473 ) 695 )
474; 696;
475 697
476// Entry rule entryRuleUnnamedErrorPrediateDefinition 698// Entry rule entryRuleUnnamedErrorPredicateDefintion
477entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: 699entryRuleUnnamedErrorPredicateDefintion returns [EObject current=null]:
478 { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } 700 { newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionRule()); }
479 iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition 701 iv_ruleUnnamedErrorPredicateDefintion=ruleUnnamedErrorPredicateDefintion
480 { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } 702 { $current=$iv_ruleUnnamedErrorPredicateDefintion.current; }
481 EOF; 703 EOF;
482 704
483// Rule UnnamedErrorPrediateDefinition 705// Rule UnnamedErrorPredicateDefintion
484ruleUnnamedErrorPrediateDefinition returns [EObject current=null] 706ruleUnnamedErrorPredicateDefintion returns [EObject current=null]
485@init { 707@init {
486 enterRule(); 708 enterRule();
487} 709}
@@ -491,17 +713,17 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null]
491 ( 713 (
492 otherlv_0=Error 714 otherlv_0=Error
493 { 715 {
494 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 716 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getErrorKeyword_0());
495 } 717 }
496 ( 718 (
497 ( 719 (
498 { 720 {
499 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 721 newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0());
500 } 722 }
501 lv_argumentList_1_0=ruleArgumentList 723 lv_argumentList_1_0=ruleArgumentList
502 { 724 {
503 if ($current==null) { 725 if ($current==null) {
504 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 726 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule());
505 } 727 }
506 set( 728 set(
507 $current, 729 $current,
@@ -514,17 +736,17 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null]
514 ) 736 )
515 otherlv_2=ColonHyphenMinus 737 otherlv_2=ColonHyphenMinus
516 { 738 {
517 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 739 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getColonHyphenMinusKeyword_2());
518 } 740 }
519 ( 741 (
520 ( 742 (
521 { 743 {
522 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 744 newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0());
523 } 745 }
524 lv_body_3_0=ruleExpression 746 lv_body_3_0=ruleExpression
525 { 747 {
526 if ($current==null) { 748 if ($current==null) {
527 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 749 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule());
528 } 750 }
529 set( 751 set(
530 $current, 752 $current,
@@ -535,18 +757,22 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null]
535 } 757 }
536 ) 758 )
537 ) 759 )
760 this_FULL_STOP_4=RULE_FULL_STOP
761 {
762 newLeafNode(this_FULL_STOP_4, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getFULL_STOPTerminalRuleCall_4());
763 }
538 ) 764 )
539; 765;
540 766
541// Entry rule entryRuleDefaultDefinition 767// Entry rule entryRuleDefaultAssertion
542entryRuleDefaultDefinition returns [EObject current=null]: 768entryRuleDefaultAssertion returns [EObject current=null]:
543 { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } 769 { newCompositeNode(grammarAccess.getDefaultAssertionRule()); }
544 iv_ruleDefaultDefinition=ruleDefaultDefinition 770 iv_ruleDefaultAssertion=ruleDefaultAssertion
545 { $current=$iv_ruleDefaultDefinition.current; } 771 { $current=$iv_ruleDefaultAssertion.current; }
546 EOF; 772 EOF;
547 773
548// Rule DefaultDefinition 774// Rule DefaultAssertion
549ruleDefaultDefinition returns [EObject current=null] 775ruleDefaultAssertion returns [EObject current=null]
550@init { 776@init {
551 enterRule(); 777 enterRule();
552} 778}
@@ -556,17 +782,100 @@ ruleDefaultDefinition returns [EObject current=null]
556 ( 782 (
557 otherlv_0=Default 783 otherlv_0=Default
558 { 784 {
559 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 785 newLeafNode(otherlv_0, grammarAccess.getDefaultAssertionAccess().getDefaultKeyword_0());
560 } 786 }
561 ( 787 (
562 ( 788 (
563 { 789 {
564 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 790 newCompositeNode(grammarAccess.getDefaultAssertionAccess().getExpressionCallParserRuleCall_1_0());
791 }
792 lv_expression_1_0=ruleCall
793 {
794 if ($current==null) {
795 $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule());
796 }
797 set(
798 $current,
799 "expression",
800 lv_expression_1_0,
801 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
802 afterParserOrEnumRuleCall();
803 }
804 )
805 )
806 (
807 otherlv_2=Colon
808 {
809 newLeafNode(otherlv_2, grammarAccess.getDefaultAssertionAccess().getColonKeyword_2_0());
810 }
811 (
812 (
813 {
814 newCompositeNode(grammarAccess.getDefaultAssertionAccess().getRangeExpressionParserRuleCall_2_1_0());
815 }
816 lv_range_3_0=ruleExpression
817 {
818 if ($current==null) {
819 $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule());
820 }
821 set(
822 $current,
823 "range",
824 lv_range_3_0,
825 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
826 afterParserOrEnumRuleCall();
827 }
828 )
829 )
830 )?
831 this_FULL_STOP_4=RULE_FULL_STOP
832 {
833 newLeafNode(this_FULL_STOP_4, grammarAccess.getDefaultAssertionAccess().getFULL_STOPTerminalRuleCall_3());
834 }
835 )
836;
837
838// Entry rule entryRuleFunctionDefinition
839entryRuleFunctionDefinition returns [EObject current=null]:
840 { newCompositeNode(grammarAccess.getFunctionDefinitionRule()); }
841 iv_ruleFunctionDefinition=ruleFunctionDefinition
842 { $current=$iv_ruleFunctionDefinition.current; }
843 EOF;
844
845// Rule FunctionDefinition
846ruleFunctionDefinition returns [EObject current=null]
847@init {
848 enterRule();
849}
850@after {
851 leaveRule();
852}:
853 (
854 (
855 (
856 {
857 if ($current==null) {
858 $current = createModelElement(grammarAccess.getFunctionDefinitionRule());
859 }
860 }
861 {
862 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolCrossReference_0_0());
863 }
864 ruleQualifiedName
865 {
866 afterParserOrEnumRuleCall();
867 }
868 )
869 )
870 (
871 (
872 {
873 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0());
565 } 874 }
566 lv_head_1_0=ruleCall 875 lv_head_1_0=ruleCall
567 { 876 {
568 if ($current==null) { 877 if ($current==null) {
569 $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); 878 $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule());
570 } 879 }
571 set( 880 set(
572 $current, 881 $current,
@@ -577,41 +886,45 @@ ruleDefaultDefinition returns [EObject current=null]
577 } 886 }
578 ) 887 )
579 ) 888 )
580 otherlv_2=Colon 889 otherlv_2=ColonEqualsSign
581 { 890 {
582 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 891 newLeafNode(otherlv_2, grammarAccess.getFunctionDefinitionAccess().getColonEqualsSignKeyword_2());
583 } 892 }
584 ( 893 (
585 ( 894 (
586 { 895 {
587 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 896 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
588 } 897 }
589 lv_range_3_0=ruleExpression 898 lv_body_3_0=ruleExpression
590 { 899 {
591 if ($current==null) { 900 if ($current==null) {
592 $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); 901 $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule());
593 } 902 }
594 set( 903 set(
595 $current, 904 $current,
596 "range", 905 "body",
597 lv_range_3_0, 906 lv_body_3_0,
598 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 907 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
599 afterParserOrEnumRuleCall(); 908 afterParserOrEnumRuleCall();
600 } 909 }
601 ) 910 )
602 ) 911 )
912 this_FULL_STOP_4=RULE_FULL_STOP
913 {
914 newLeafNode(this_FULL_STOP_4, grammarAccess.getFunctionDefinitionAccess().getFULL_STOPTerminalRuleCall_4());
915 }
603 ) 916 )
604; 917;
605 918
606// Entry rule entryRuleMetricDefinition 919// Entry rule entryRuleTypeReference
607entryRuleMetricDefinition returns [EObject current=null]: 920entryRuleTypeReference returns [EObject current=null]:
608 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } 921 { newCompositeNode(grammarAccess.getTypeReferenceRule()); }
609 iv_ruleMetricDefinition=ruleMetricDefinition 922 iv_ruleTypeReference=ruleTypeReference
610 { $current=$iv_ruleMetricDefinition.current; } 923 { $current=$iv_ruleTypeReference.current; }
611 EOF; 924 EOF;
612 925
613// Rule MetricDefinition 926// Rule TypeReference
614ruleMetricDefinition returns [EObject current=null] 927ruleTypeReference returns [EObject current=null]
615@init { 928@init {
616 enterRule(); 929 enterRule();
617} 930}
@@ -623,11 +936,11 @@ ruleMetricDefinition returns [EObject current=null]
623 ( 936 (
624 { 937 {
625 if ($current==null) { 938 if ($current==null) {
626 $current = createModelElement(grammarAccess.getMetricDefinitionRule()); 939 $current = createModelElement(grammarAccess.getTypeReferenceRule());
627 } 940 }
628 } 941 }
629 { 942 {
630 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); 943 newCompositeNode(grammarAccess.getTypeReferenceAccess().getTypeSymbolCrossReference_0_0());
631 } 944 }
632 ruleQualifiedName 945 ruleQualifiedName
633 { 946 {
@@ -637,58 +950,142 @@ ruleMetricDefinition returns [EObject current=null]
637 ) 950 )
638 ( 951 (
639 ( 952 (
953 lv_forceObjectType_1_0=Object
640 { 954 {
641 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); 955 newLeafNode(lv_forceObjectType_1_0, grammarAccess.getTypeReferenceAccess().getForceObjectTypeObjectKeyword_1_0());
642 } 956 }
643 lv_head_1_0=ruleCall
644 { 957 {
645 if ($current==null) { 958 if ($current==null) {
646 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 959 $current = createModelElement(grammarAccess.getTypeReferenceRule());
647 } 960 }
648 set( 961 setWithLastConsumed($current, "forceObjectType", true, "object");
649 $current,
650 "head",
651 lv_head_1_0,
652 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
653 afterParserOrEnumRuleCall();
654 } 962 }
655 ) 963 )
656 ) 964 )?
657 otherlv_2=EqualsSign 965 )
658 { 966;
659 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 967
660 } 968// Entry rule entryRuleAttribute
969entryRuleAttribute returns [EObject current=null]:
970 { newCompositeNode(grammarAccess.getAttributeRule()); }
971 iv_ruleAttribute=ruleAttribute
972 { $current=$iv_ruleAttribute.current; }
973 EOF;
974
975// Rule Attribute
976ruleAttribute returns [EObject current=null]
977@init {
978 enterRule();
979}
980@after {
981 leaveRule();
982}:
983 (
661 ( 984 (
662 ( 985 (
663 { 986 {
664 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 987 newCompositeNode(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0());
665 } 988 }
666 lv_body_3_0=ruleExpression 989 lv_kind_0_0=ruleAttributeKind
667 { 990 {
668 if ($current==null) { 991 if ($current==null) {
669 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 992 $current = createModelElementForParent(grammarAccess.getAttributeRule());
670 } 993 }
671 set( 994 set(
672 $current, 995 $current,
673 "body", 996 "kind",
674 lv_body_3_0, 997 lv_kind_0_0,
675 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 998 "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind");
676 afterParserOrEnumRuleCall(); 999 afterParserOrEnumRuleCall();
677 } 1000 }
678 ) 1001 )
679 ) 1002 )
1003 (
1004 (
1005 {
1006 if ($current==null) {
1007 $current = createModelElement(grammarAccess.getAttributeRule());
1008 }
1009 }
1010 {
1011 newCompositeNode(grammarAccess.getAttributeAccess().getTargetSymbolCrossReference_1_0());
1012 }
1013 ruleQualifiedName
1014 {
1015 afterParserOrEnumRuleCall();
1016 }
1017 )
1018 )
1019 this_FULL_STOP_2=RULE_FULL_STOP
1020 {
1021 newLeafNode(this_FULL_STOP_2, grammarAccess.getAttributeAccess().getFULL_STOPTerminalRuleCall_2());
1022 }
680 ) 1023 )
681; 1024;
682 1025
683// Entry rule entryRuleExternPredicateDefinition 1026// Entry rule entryRuleExternDeclaration
684entryRuleExternPredicateDefinition returns [EObject current=null]: 1027entryRuleExternDeclaration returns [EObject current=null]:
685 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } 1028 { newCompositeNode(grammarAccess.getExternDeclarationRule()); }
686 iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition 1029 iv_ruleExternDeclaration=ruleExternDeclaration
687 { $current=$iv_ruleExternPredicateDefinition.current; } 1030 { $current=$iv_ruleExternDeclaration.current; }
688 EOF; 1031 EOF;
689 1032
690// Rule ExternPredicateDefinition 1033// Rule ExternDeclaration
691ruleExternPredicateDefinition returns [EObject current=null] 1034ruleExternDeclaration returns [EObject current=null]
1035@init {
1036 enterRule();
1037}
1038@after {
1039 leaveRule();
1040}:
1041 (
1042 {
1043 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternPredicateDeclarationParserRuleCall_0());
1044 }
1045 this_ExternPredicateDeclaration_0=ruleExternPredicateDeclaration
1046 {
1047 $current = $this_ExternPredicateDeclaration_0.current;
1048 afterParserOrEnumRuleCall();
1049 }
1050 |
1051 {
1052 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternFunctionDeclarationParserRuleCall_1());
1053 }
1054 this_ExternFunctionDeclaration_1=ruleExternFunctionDeclaration
1055 {
1056 $current = $this_ExternFunctionDeclaration_1.current;
1057 afterParserOrEnumRuleCall();
1058 }
1059 |
1060 {
1061 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternAggregationOperatorDeclarationParserRuleCall_2());
1062 }
1063 this_ExternAggregationOperatorDeclaration_2=ruleExternAggregationOperatorDeclaration
1064 {
1065 $current = $this_ExternAggregationOperatorDeclaration_2.current;
1066 afterParserOrEnumRuleCall();
1067 }
1068 |
1069 {
1070 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternDatatypeDeclarationParserRuleCall_3());
1071 }
1072 this_ExternDatatypeDeclaration_3=ruleExternDatatypeDeclaration
1073 {
1074 $current = $this_ExternDatatypeDeclaration_3.current;
1075 afterParserOrEnumRuleCall();
1076 }
1077 )
1078;
1079
1080// Entry rule entryRuleExternPredicateDeclaration
1081entryRuleExternPredicateDeclaration returns [EObject current=null]:
1082 { newCompositeNode(grammarAccess.getExternPredicateDeclarationRule()); }
1083 iv_ruleExternPredicateDeclaration=ruleExternPredicateDeclaration
1084 { $current=$iv_ruleExternPredicateDeclaration.current; }
1085 EOF;
1086
1087// Rule ExternPredicateDeclaration
1088ruleExternPredicateDeclaration returns [EObject current=null]
692@init { 1089@init {
693 enterRule(); 1090 enterRule();
694} 1091}
@@ -698,22 +1095,82 @@ ruleExternPredicateDefinition returns [EObject current=null]
698 ( 1095 (
699 otherlv_0=Extern 1096 otherlv_0=Extern
700 { 1097 {
701 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 1098 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDeclarationAccess().getExternKeyword_0());
702 } 1099 }
703 ( 1100 (
704 ( 1101 (
1102 {
1103 getUnorderedGroupHelper().enter(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
1104 }
1105 (
1106 (
1107 (
1108 {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0)}?=>(
1109 {
1110 getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0);
1111 }
1112 ({true}?=>((
1113 lv_functional_2_0=Functional
1114 {
1115 newLeafNode(lv_functional_2_0, grammarAccess.getExternPredicateDeclarationAccess().getFunctionalFunctionalKeyword_1_0_0());
1116 }
1117 {
1118 if ($current==null) {
1119 $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule());
1120 }
1121 setWithLastConsumed($current, "functional", true, "functional");
1122 }
1123 )
1124 ))
1125 {
1126 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
1127 }
1128 )
1129 )|
1130 (
1131 {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1)}?=>(
1132 {
1133 getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1);
1134 }
1135 ({true}?=>((
1136 lv_error_3_0=Error
1137 {
1138 newLeafNode(lv_error_3_0, grammarAccess.getExternPredicateDeclarationAccess().getErrorErrorKeyword_1_1_0());
1139 }
1140 {
1141 if ($current==null) {
1142 $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule());
1143 }
1144 setWithLastConsumed($current, "error", true, "error");
1145 }
1146 )
1147 ))
1148 {
1149 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
1150 }
1151 )
1152 )
1153 )*
1154 )
1155 )
1156 {
1157 getUnorderedGroupHelper().leave(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
1158 }
1159 )
1160 (
1161 (
705 { 1162 {
706 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); 1163 newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
707 } 1164 }
708 lv_name_1_0=ruleQualifiedName 1165 lv_name_4_0=ruleQualifiedName
709 { 1166 {
710 if ($current==null) { 1167 if ($current==null) {
711 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 1168 $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule());
712 } 1169 }
713 set( 1170 set(
714 $current, 1171 $current,
715 "name", 1172 "name",
716 lv_name_1_0, 1173 lv_name_4_0,
717 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); 1174 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
718 afterParserOrEnumRuleCall(); 1175 afterParserOrEnumRuleCall();
719 } 1176 }
@@ -722,34 +1179,38 @@ ruleExternPredicateDefinition returns [EObject current=null]
722 ( 1179 (
723 ( 1180 (
724 { 1181 {
725 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); 1182 newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0());
726 } 1183 }
727 lv_argumentList_2_0=ruleArgumentList 1184 lv_argumentList_5_0=ruleArgumentList
728 { 1185 {
729 if ($current==null) { 1186 if ($current==null) {
730 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 1187 $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule());
731 } 1188 }
732 set( 1189 set(
733 $current, 1190 $current,
734 "argumentList", 1191 "argumentList",
735 lv_argumentList_2_0, 1192 lv_argumentList_5_0,
736 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 1193 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
737 afterParserOrEnumRuleCall(); 1194 afterParserOrEnumRuleCall();
738 } 1195 }
739 ) 1196 )
740 ) 1197 )
1198 this_FULL_STOP_6=RULE_FULL_STOP
1199 {
1200 newLeafNode(this_FULL_STOP_6, grammarAccess.getExternPredicateDeclarationAccess().getFULL_STOPTerminalRuleCall_4());
1201 }
741 ) 1202 )
742; 1203;
743 1204
744// Entry rule entryRuleExternMetricDefinition 1205// Entry rule entryRuleExternFunctionDeclaration
745entryRuleExternMetricDefinition returns [EObject current=null]: 1206entryRuleExternFunctionDeclaration returns [EObject current=null]:
746 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } 1207 { newCompositeNode(grammarAccess.getExternFunctionDeclarationRule()); }
747 iv_ruleExternMetricDefinition=ruleExternMetricDefinition 1208 iv_ruleExternFunctionDeclaration=ruleExternFunctionDeclaration
748 { $current=$iv_ruleExternMetricDefinition.current; } 1209 { $current=$iv_ruleExternFunctionDeclaration.current; }
749 EOF; 1210 EOF;
750 1211
751// Rule ExternMetricDefinition 1212// Rule ExternFunctionDeclaration
752ruleExternMetricDefinition returns [EObject current=null] 1213ruleExternFunctionDeclaration returns [EObject current=null]
753@init { 1214@init {
754 enterRule(); 1215 enterRule();
755} 1216}
@@ -759,17 +1220,17 @@ ruleExternMetricDefinition returns [EObject current=null]
759 ( 1220 (
760 otherlv_0=Extern 1221 otherlv_0=Extern
761 { 1222 {
762 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 1223 newLeafNode(otherlv_0, grammarAccess.getExternFunctionDeclarationAccess().getExternKeyword_0());
763 } 1224 }
764 ( 1225 (
765 ( 1226 (
766 { 1227 {
767 if ($current==null) { 1228 if ($current==null) {
768 $current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); 1229 $current = createModelElement(grammarAccess.getExternFunctionDeclarationRule());
769 } 1230 }
770 } 1231 }
771 { 1232 {
772 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 1233 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolCrossReference_1_0());
773 } 1234 }
774 ruleQualifiedName 1235 ruleQualifiedName
775 { 1236 {
@@ -780,12 +1241,12 @@ ruleExternMetricDefinition returns [EObject current=null]
780 ( 1241 (
781 ( 1242 (
782 { 1243 {
783 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 1244 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
784 } 1245 }
785 lv_name_2_0=ruleQualifiedName 1246 lv_name_2_0=ruleQualifiedName
786 { 1247 {
787 if ($current==null) { 1248 if ($current==null) {
788 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 1249 $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule());
789 } 1250 }
790 set( 1251 set(
791 $current, 1252 $current,
@@ -799,12 +1260,12 @@ ruleExternMetricDefinition returns [EObject current=null]
799 ( 1260 (
800 ( 1261 (
801 { 1262 {
802 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); 1263 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0());
803 } 1264 }
804 lv_argumentList_3_0=ruleArgumentList 1265 lv_argumentList_3_0=ruleArgumentList
805 { 1266 {
806 if ($current==null) { 1267 if ($current==null) {
807 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 1268 $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule());
808 } 1269 }
809 set( 1270 set(
810 $current, 1271 $current,
@@ -815,18 +1276,22 @@ ruleExternMetricDefinition returns [EObject current=null]
815 } 1276 }
816 ) 1277 )
817 ) 1278 )
1279 this_FULL_STOP_4=RULE_FULL_STOP
1280 {
1281 newLeafNode(this_FULL_STOP_4, grammarAccess.getExternFunctionDeclarationAccess().getFULL_STOPTerminalRuleCall_4());
1282 }
818 ) 1283 )
819; 1284;
820 1285
821// Entry rule entryRuleExternAggregatorDefinition 1286// Entry rule entryRuleExternAggregationOperatorDeclaration
822entryRuleExternAggregatorDefinition returns [EObject current=null]: 1287entryRuleExternAggregationOperatorDeclaration returns [EObject current=null]:
823 { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); } 1288 { newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationRule()); }
824 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition 1289 iv_ruleExternAggregationOperatorDeclaration=ruleExternAggregationOperatorDeclaration
825 { $current=$iv_ruleExternAggregatorDefinition.current; } 1290 { $current=$iv_ruleExternAggregationOperatorDeclaration.current; }
826 EOF; 1291 EOF;
827 1292
828// Rule ExternAggregatorDefinition 1293// Rule ExternAggregationOperatorDeclaration
829ruleExternAggregatorDefinition returns [EObject current=null] 1294ruleExternAggregationOperatorDeclaration returns [EObject current=null]
830@init { 1295@init {
831 enterRule(); 1296 enterRule();
832} 1297}
@@ -836,17 +1301,17 @@ ruleExternAggregatorDefinition returns [EObject current=null]
836 ( 1301 (
837 otherlv_0=Extern 1302 otherlv_0=Extern
838 { 1303 {
839 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); 1304 newLeafNode(otherlv_0, grammarAccess.getExternAggregationOperatorDeclarationAccess().getExternKeyword_0());
840 } 1305 }
841 ( 1306 (
842 ( 1307 (
843 { 1308 {
844 if ($current==null) { 1309 if ($current==null) {
845 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); 1310 $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule());
846 } 1311 }
847 } 1312 }
848 { 1313 {
849 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 1314 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolCrossReference_1_0());
850 } 1315 }
851 ruleQualifiedName 1316 ruleQualifiedName
852 { 1317 {
@@ -857,12 +1322,12 @@ ruleExternAggregatorDefinition returns [EObject current=null]
857 ( 1322 (
858 ( 1323 (
859 { 1324 {
860 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 1325 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
861 } 1326 }
862 lv_name_2_0=ruleQualifiedName 1327 lv_name_2_0=ruleQualifiedName
863 { 1328 {
864 if ($current==null) { 1329 if ($current==null) {
865 $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); 1330 $current = createModelElementForParent(grammarAccess.getExternAggregationOperatorDeclarationRule());
866 } 1331 }
867 set( 1332 set(
868 $current, 1333 $current,
@@ -875,17 +1340,17 @@ ruleExternAggregatorDefinition returns [EObject current=null]
875 ) 1340 )
876 otherlv_3=LeftCurlyBracket 1341 otherlv_3=LeftCurlyBracket
877 { 1342 {
878 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); 1343 newLeafNode(otherlv_3, grammarAccess.getExternAggregationOperatorDeclarationAccess().getLeftCurlyBracketKeyword_3());
879 } 1344 }
880 ( 1345 (
881 ( 1346 (
882 { 1347 {
883 if ($current==null) { 1348 if ($current==null) {
884 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); 1349 $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule());
885 } 1350 }
886 } 1351 }
887 { 1352 {
888 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); 1353 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolCrossReference_4_0());
889 } 1354 }
890 ruleQualifiedName 1355 ruleQualifiedName
891 { 1356 {
@@ -895,24 +1360,28 @@ ruleExternAggregatorDefinition returns [EObject current=null]
895 ) 1360 )
896 otherlv_5=FullStopFullStopFullStop 1361 otherlv_5=FullStopFullStopFullStop
897 { 1362 {
898 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); 1363 newLeafNode(otherlv_5, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFullStopFullStopFullStopKeyword_5());
899 } 1364 }
900 otherlv_6=RightCurlyBracket 1365 otherlv_6=RightCurlyBracket
901 { 1366 {
902 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); 1367 newLeafNode(otherlv_6, grammarAccess.getExternAggregationOperatorDeclarationAccess().getRightCurlyBracketKeyword_6());
1368 }
1369 this_FULL_STOP_7=RULE_FULL_STOP
1370 {
1371 newLeafNode(this_FULL_STOP_7, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFULL_STOPTerminalRuleCall_7());
903 } 1372 }
904 ) 1373 )
905; 1374;
906 1375
907// Entry rule entryRuleExternDatatypeDefinition 1376// Entry rule entryRuleExternDatatypeDeclaration
908entryRuleExternDatatypeDefinition returns [EObject current=null]: 1377entryRuleExternDatatypeDeclaration returns [EObject current=null]:
909 { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); } 1378 { newCompositeNode(grammarAccess.getExternDatatypeDeclarationRule()); }
910 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition 1379 iv_ruleExternDatatypeDeclaration=ruleExternDatatypeDeclaration
911 { $current=$iv_ruleExternDatatypeDefinition.current; } 1380 { $current=$iv_ruleExternDatatypeDeclaration.current; }
912 EOF; 1381 EOF;
913 1382
914// Rule ExternDatatypeDefinition 1383// Rule ExternDatatypeDeclaration
915ruleExternDatatypeDefinition returns [EObject current=null] 1384ruleExternDatatypeDeclaration returns [EObject current=null]
916@init { 1385@init {
917 enterRule(); 1386 enterRule();
918} 1387}
@@ -922,21 +1391,21 @@ ruleExternDatatypeDefinition returns [EObject current=null]
922 ( 1391 (
923 otherlv_0=Extern 1392 otherlv_0=Extern
924 { 1393 {
925 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); 1394 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDeclarationAccess().getExternKeyword_0());
926 } 1395 }
927 otherlv_1=Datatype 1396 otherlv_1=Datatype
928 { 1397 {
929 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); 1398 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDeclarationAccess().getDatatypeKeyword_1());
930 } 1399 }
931 ( 1400 (
932 ( 1401 (
933 { 1402 {
934 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 1403 newCompositeNode(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
935 } 1404 }
936 lv_name_2_0=ruleQualifiedName 1405 lv_name_2_0=ruleQualifiedName
937 { 1406 {
938 if ($current==null) { 1407 if ($current==null) {
939 $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); 1408 $current = createModelElementForParent(grammarAccess.getExternDatatypeDeclarationRule());
940 } 1409 }
941 set( 1410 set(
942 $current, 1411 $current,
@@ -947,103 +1416,10 @@ ruleExternDatatypeDefinition returns [EObject current=null]
947 } 1416 }
948 ) 1417 )
949 ) 1418 )
950 ( 1419 this_FULL_STOP_3=RULE_FULL_STOP
951 otherlv_3=Extends 1420 {
952 { 1421 newLeafNode(this_FULL_STOP_3, grammarAccess.getExternDatatypeDeclarationAccess().getFULL_STOPTerminalRuleCall_3());
953 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); 1422 }
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 (
1014 (
1015 {
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());
1034 }
1035 {
1036 if ($current==null) {
1037 $current = createModelElement(grammarAccess.getVariableRule());
1038 }
1039 setWithLastConsumed(
1040 $current,
1041 "name",
1042 lv_name_1_0,
1043 "org.eclipse.xtext.common.Terminals.ID");
1044 }
1045 )
1046 )
1047 ) 1423 )
1048; 1424;
1049 1425
@@ -1064,43 +1440,77 @@ ruleExpression returns [EObject current=null]
1064}: 1440}:
1065 ( 1441 (
1066 { 1442 {
1067 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 1443 newCompositeNode(grammarAccess.getExpressionAccess().getConditionalExpressionParserRuleCall_0());
1068 } 1444 }
1069 this_IfElse_0=ruleIfElse 1445 this_ConditionalExpression_0=ruleConditionalExpression
1070 { 1446 {
1071 $current = $this_IfElse_0.current; 1447 $current = $this_ConditionalExpression_0.current;
1072 afterParserOrEnumRuleCall(); 1448 afterParserOrEnumRuleCall();
1073 } 1449 }
1074 | 1450 |
1075 { 1451 {
1076 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); 1452 newCompositeNode(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_1());
1077 } 1453 }
1078 this_Let_1=ruleLet 1454 this_LetExpression_1=ruleLetExpression
1079 { 1455 {
1080 $current = $this_Let_1.current; 1456 $current = $this_LetExpression_1.current;
1081 afterParserOrEnumRuleCall(); 1457 afterParserOrEnumRuleCall();
1082 } 1458 }
1083 | 1459 |
1084 { 1460 (
1085 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); 1461 {
1086 } 1462 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_2_0());
1087 this_ImplicationExpression_2=ruleImplicationExpression 1463 }
1088 { 1464 this_DisjunctiveExpression_2=ruleDisjunctiveExpression
1089 $current = $this_ImplicationExpression_2.current; 1465 {
1090 afterParserOrEnumRuleCall(); 1466 $current = $this_DisjunctiveExpression_2.current;
1091 } 1467 afterParserOrEnumRuleCall();
1468 }
1469 (
1470 (
1471 {
1472 $current = forceCreateModelElementAndSet(
1473 grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(),
1474 $current);
1475 }
1476 )
1477 otherlv_4=EqualsSignGreaterThanSign
1478 {
1479 newLeafNode(otherlv_4, grammarAccess.getExpressionAccess().getEqualsSignGreaterThanSignKeyword_2_1_1());
1480 }
1481 (
1482 (
1483 {
1484 newCompositeNode(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0());
1485 }
1486 lv_body_5_0=ruleDisjunctiveExpression
1487 {
1488 if ($current==null) {
1489 $current = createModelElementForParent(grammarAccess.getExpressionRule());
1490 }
1491 set(
1492 $current,
1493 "body",
1494 lv_body_5_0,
1495 "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
1496 afterParserOrEnumRuleCall();
1497 }
1498 )
1499 )
1500 )?
1501 )
1092 ) 1502 )
1093; 1503;
1094 1504
1095// Entry rule entryRuleIfElse 1505// Entry rule entryRuleConditionalExpression
1096entryRuleIfElse returns [EObject current=null]: 1506entryRuleConditionalExpression returns [EObject current=null]:
1097 { newCompositeNode(grammarAccess.getIfElseRule()); } 1507 { newCompositeNode(grammarAccess.getConditionalExpressionRule()); }
1098 iv_ruleIfElse=ruleIfElse 1508 iv_ruleConditionalExpression=ruleConditionalExpression
1099 { $current=$iv_ruleIfElse.current; } 1509 { $current=$iv_ruleConditionalExpression.current; }
1100 EOF; 1510 EOF;
1101 1511
1102// Rule IfElse 1512// Rule ConditionalExpression
1103ruleIfElse returns [EObject current=null] 1513ruleConditionalExpression returns [EObject current=null]
1104@init { 1514@init {
1105 enterRule(); 1515 enterRule();
1106} 1516}
@@ -1110,40 +1520,40 @@ ruleIfElse returns [EObject current=null]
1110 ( 1520 (
1111 otherlv_0=If 1521 otherlv_0=If
1112 { 1522 {
1113 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); 1523 newLeafNode(otherlv_0, grammarAccess.getConditionalExpressionAccess().getIfKeyword_0());
1114 } 1524 }
1115 ( 1525 (
1116 ( 1526 (
1117 { 1527 {
1118 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 1528 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0());
1119 } 1529 }
1120 lv_condition_1_0=ruleExpression 1530 lv_condition_1_0=ruleDisjunctiveExpression
1121 { 1531 {
1122 if ($current==null) { 1532 if ($current==null) {
1123 $current = createModelElementForParent(grammarAccess.getIfElseRule()); 1533 $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
1124 } 1534 }
1125 set( 1535 set(
1126 $current, 1536 $current,
1127 "condition", 1537 "condition",
1128 lv_condition_1_0, 1538 lv_condition_1_0,
1129 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 1539 "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
1130 afterParserOrEnumRuleCall(); 1540 afterParserOrEnumRuleCall();
1131 } 1541 }
1132 ) 1542 )
1133 ) 1543 )
1134 otherlv_2=Then 1544 otherlv_2=Then
1135 { 1545 {
1136 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); 1546 newLeafNode(otherlv_2, grammarAccess.getConditionalExpressionAccess().getThenKeyword_2());
1137 } 1547 }
1138 ( 1548 (
1139 ( 1549 (
1140 { 1550 {
1141 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 1551 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0());
1142 } 1552 }
1143 lv_then_3_0=ruleExpression 1553 lv_then_3_0=ruleExpression
1144 { 1554 {
1145 if ($current==null) { 1555 if ($current==null) {
1146 $current = createModelElementForParent(grammarAccess.getIfElseRule()); 1556 $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
1147 } 1557 }
1148 set( 1558 set(
1149 $current, 1559 $current,
@@ -1156,17 +1566,17 @@ ruleIfElse returns [EObject current=null]
1156 ) 1566 )
1157 otherlv_4=Else 1567 otherlv_4=Else
1158 { 1568 {
1159 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); 1569 newLeafNode(otherlv_4, grammarAccess.getConditionalExpressionAccess().getElseKeyword_4());
1160 } 1570 }
1161 ( 1571 (
1162 ( 1572 (
1163 { 1573 {
1164 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 1574 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0());
1165 } 1575 }
1166 lv_else_5_0=ruleExpression 1576 lv_else_5_0=ruleExpression
1167 { 1577 {
1168 if ($current==null) { 1578 if ($current==null) {
1169 $current = createModelElementForParent(grammarAccess.getIfElseRule()); 1579 $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
1170 } 1580 }
1171 set( 1581 set(
1172 $current, 1582 $current,
@@ -1180,15 +1590,15 @@ ruleIfElse returns [EObject current=null]
1180 ) 1590 )
1181; 1591;
1182 1592
1183// Entry rule entryRuleLet 1593// Entry rule entryRuleLetExpression
1184entryRuleLet returns [EObject current=null]: 1594entryRuleLetExpression returns [EObject current=null]:
1185 { newCompositeNode(grammarAccess.getLetRule()); } 1595 { newCompositeNode(grammarAccess.getLetExpressionRule()); }
1186 iv_ruleLet=ruleLet 1596 iv_ruleLetExpression=ruleLetExpression
1187 { $current=$iv_ruleLet.current; } 1597 { $current=$iv_ruleLetExpression.current; }
1188 EOF; 1598 EOF;
1189 1599
1190// Rule Let 1600// Rule LetExpression
1191ruleLet returns [EObject current=null] 1601ruleLetExpression returns [EObject current=null]
1192@init { 1602@init {
1193 enterRule(); 1603 enterRule();
1194} 1604}
@@ -1198,17 +1608,17 @@ ruleLet returns [EObject current=null]
1198 ( 1608 (
1199 otherlv_0=Let 1609 otherlv_0=Let
1200 { 1610 {
1201 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); 1611 newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0());
1202 } 1612 }
1203 ( 1613 (
1204 ( 1614 (
1205 { 1615 {
1206 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); 1616 newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_1_0());
1207 } 1617 }
1208 lv_bindings_1_0=ruleLetBinding 1618 lv_bindings_1_0=ruleLetBinding
1209 { 1619 {
1210 if ($current==null) { 1620 if ($current==null) {
1211 $current = createModelElementForParent(grammarAccess.getLetRule()); 1621 $current = createModelElementForParent(grammarAccess.getLetExpressionRule());
1212 } 1622 }
1213 add( 1623 add(
1214 $current, 1624 $current,
@@ -1222,17 +1632,17 @@ ruleLet returns [EObject current=null]
1222 ( 1632 (
1223 otherlv_2=Comma 1633 otherlv_2=Comma
1224 { 1634 {
1225 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); 1635 newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0());
1226 } 1636 }
1227 ( 1637 (
1228 ( 1638 (
1229 { 1639 {
1230 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); 1640 newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_2_1_0());
1231 } 1641 }
1232 lv_bindings_3_0=ruleLetBinding 1642 lv_bindings_3_0=ruleLetBinding
1233 { 1643 {
1234 if ($current==null) { 1644 if ($current==null) {
1235 $current = createModelElementForParent(grammarAccess.getLetRule()); 1645 $current = createModelElementForParent(grammarAccess.getLetExpressionRule());
1236 } 1646 }
1237 add( 1647 add(
1238 $current, 1648 $current,
@@ -1246,17 +1656,17 @@ ruleLet returns [EObject current=null]
1246 )* 1656 )*
1247 otherlv_4=In 1657 otherlv_4=In
1248 { 1658 {
1249 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); 1659 newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getInKeyword_3());
1250 } 1660 }
1251 ( 1661 (
1252 ( 1662 (
1253 { 1663 {
1254 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); 1664 newCompositeNode(grammarAccess.getLetExpressionAccess().getBodyExpressionParserRuleCall_4_0());
1255 } 1665 }
1256 lv_body_5_0=ruleExpression 1666 lv_body_5_0=ruleExpression
1257 { 1667 {
1258 if ($current==null) { 1668 if ($current==null) {
1259 $current = createModelElementForParent(grammarAccess.getLetRule()); 1669 $current = createModelElementForParent(grammarAccess.getLetExpressionRule());
1260 } 1670 }
1261 set( 1671 set(
1262 $current, 1672 $current,
@@ -1289,32 +1699,47 @@ ruleLetBinding returns [EObject current=null]
1289 ( 1699 (
1290 ( 1700 (
1291 { 1701 {
1292 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); 1702 if ($current==null) {
1703 $current = createModelElement(grammarAccess.getLetBindingRule());
1704 }
1705 }
1706 {
1707 newCompositeNode(grammarAccess.getLetBindingAccess().getTypeSymbolCrossReference_0_0());
1708 }
1709 ruleQualifiedName
1710 {
1711 afterParserOrEnumRuleCall();
1712 }
1713 )
1714 )?
1715 (
1716 (
1717 lv_name_1_0=RULE_ID
1718 {
1719 newLeafNode(lv_name_1_0, grammarAccess.getLetBindingAccess().getNameIDTerminalRuleCall_1_0());
1293 } 1720 }
1294 lv_variable_0_0=ruleVariable
1295 { 1721 {
1296 if ($current==null) { 1722 if ($current==null) {
1297 $current = createModelElementForParent(grammarAccess.getLetBindingRule()); 1723 $current = createModelElement(grammarAccess.getLetBindingRule());
1298 } 1724 }
1299 set( 1725 setWithLastConsumed(
1300 $current, 1726 $current,
1301 "variable", 1727 "name",
1302 lv_variable_0_0, 1728 lv_name_1_0,
1303 "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 1729 "org.eclipse.xtext.common.Terminals.ID");
1304 afterParserOrEnumRuleCall();
1305 } 1730 }
1306 ) 1731 )
1307 ) 1732 )
1308 otherlv_1=EqualsSign 1733 otherlv_2=EqualsSign
1309 { 1734 {
1310 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); 1735 newLeafNode(otherlv_2, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_2());
1311 } 1736 }
1312 ( 1737 (
1313 ( 1738 (
1314 { 1739 {
1315 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); 1740 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_3_0());
1316 } 1741 }
1317 lv_value_2_0=ruleAdditiveExpression 1742 lv_value_3_0=ruleAdditiveExpression
1318 { 1743 {
1319 if ($current==null) { 1744 if ($current==null) {
1320 $current = createModelElementForParent(grammarAccess.getLetBindingRule()); 1745 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
@@ -1322,7 +1747,7 @@ ruleLetBinding returns [EObject current=null]
1322 set( 1747 set(
1323 $current, 1748 $current,
1324 "value", 1749 "value",
1325 lv_value_2_0, 1750 lv_value_3_0,
1326 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); 1751 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
1327 afterParserOrEnumRuleCall(); 1752 afterParserOrEnumRuleCall();
1328 } 1753 }
@@ -1331,80 +1756,6 @@ ruleLetBinding returns [EObject current=null]
1331 ) 1756 )
1332; 1757;
1333 1758
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
1408// Entry rule entryRuleDisjunctiveExpression 1759// Entry rule entryRuleDisjunctiveExpression
1409entryRuleDisjunctiveExpression returns [EObject current=null]: 1760entryRuleDisjunctiveExpression returns [EObject current=null]:
1410 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } 1761 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); }
@@ -1683,7 +2034,7 @@ ruleComparisonExpression returns [EObject current=null]
1683 ( 2034 (
1684 { 2035 {
1685 $current = forceCreateModelElementAndSet( 2036 $current = forceCreateModelElementAndSet(
1686 grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), 2037 grammarAccess.getComparisonExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1687 $current); 2038 $current);
1688 } 2039 }
1689 ) 2040 )
@@ -1995,7 +2346,7 @@ ruleCastExpression returns [EObject current=null]
1995 } 2346 }
1996 } 2347 }
1997 { 2348 {
1998 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); 2349 newCompositeNode(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolCrossReference_1_2_0());
1999 } 2350 }
2000 ruleQualifiedName 2351 ruleQualifiedName
2001 { 2352 {
@@ -2024,11 +2375,11 @@ ruleUnaryExpression returns [EObject current=null]
2024}: 2375}:
2025 ( 2376 (
2026 { 2377 {
2027 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 2378 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBracedAggregateExpressionParserRuleCall_0());
2028 } 2379 }
2029 this_AggregationExpression_0=ruleAggregationExpression 2380 this_BracedAggregateExpression_0=ruleBracedAggregateExpression
2030 { 2381 {
2031 $current = $this_AggregationExpression_0.current; 2382 $current = $this_BracedAggregateExpression_0.current;
2032 afterParserOrEnumRuleCall(); 2383 afterParserOrEnumRuleCall();
2033 } 2384 }
2034 | 2385 |
@@ -2043,9 +2394,9 @@ ruleUnaryExpression returns [EObject current=null]
2043 ( 2394 (
2044 ( 2395 (
2045 { 2396 {
2046 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 2397 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0());
2047 } 2398 }
2048 lv_op_2_0=ruleUnaryOp 2399 lv_op_2_0=ruleUnaryOperator
2049 { 2400 {
2050 if ($current==null) { 2401 if ($current==null) {
2051 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); 2402 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
@@ -2054,7 +2405,7 @@ ruleUnaryExpression returns [EObject current=null]
2054 $current, 2405 $current,
2055 "op", 2406 "op",
2056 lv_op_2_0, 2407 lv_op_2_0,
2057 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); 2408 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator");
2058 afterParserOrEnumRuleCall(); 2409 afterParserOrEnumRuleCall();
2059 } 2410 }
2060 ) 2411 )
@@ -2062,9 +2413,9 @@ ruleUnaryExpression returns [EObject current=null]
2062 ( 2413 (
2063 ( 2414 (
2064 { 2415 {
2065 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 2416 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0());
2066 } 2417 }
2067 lv_body_3_0=ruleAggregationExpression 2418 lv_body_3_0=ruleBracedAggregateExpression
2068 { 2419 {
2069 if ($current==null) { 2420 if ($current==null) {
2070 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); 2421 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
@@ -2073,7 +2424,7 @@ ruleUnaryExpression returns [EObject current=null]
2073 $current, 2424 $current,
2074 "body", 2425 "body",
2075 lv_body_3_0, 2426 lv_body_3_0,
2076 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 2427 "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression");
2077 afterParserOrEnumRuleCall(); 2428 afterParserOrEnumRuleCall();
2078 } 2429 }
2079 ) 2430 )
@@ -2082,15 +2433,15 @@ ruleUnaryExpression returns [EObject current=null]
2082 ) 2433 )
2083; 2434;
2084 2435
2085// Entry rule entryRuleAggregationExpression 2436// Entry rule entryRuleBracedAggregateExpression
2086entryRuleAggregationExpression returns [EObject current=null]: 2437entryRuleBracedAggregateExpression returns [EObject current=null]:
2087 { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } 2438 { newCompositeNode(grammarAccess.getBracedAggregateExpressionRule()); }
2088 iv_ruleAggregationExpression=ruleAggregationExpression 2439 iv_ruleBracedAggregateExpression=ruleBracedAggregateExpression
2089 { $current=$iv_ruleAggregationExpression.current; } 2440 { $current=$iv_ruleBracedAggregateExpression.current; }
2090 EOF; 2441 EOF;
2091 2442
2092// Rule AggregationExpression 2443// Rule BracedAggregateExpression
2093ruleAggregationExpression returns [EObject current=null] 2444ruleBracedAggregateExpression returns [EObject current=null]
2094@init { 2445@init {
2095 enterRule(); 2446 enterRule();
2096} 2447}
@@ -2099,7 +2450,7 @@ ruleAggregationExpression returns [EObject current=null]
2099}: 2450}:
2100 ( 2451 (
2101 { 2452 {
2102 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 2453 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAtomicExpressionParserRuleCall_0());
2103 } 2454 }
2104 this_AtomicExpression_0=ruleAtomicExpression 2455 this_AtomicExpression_0=ruleAtomicExpression
2105 { 2456 {
@@ -2108,34 +2459,34 @@ ruleAggregationExpression returns [EObject current=null]
2108 } 2459 }
2109 | 2460 |
2110 { 2461 {
2111 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); 2462 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAggregationParserRuleCall_1());
2112 } 2463 }
2113 this_QuantifiedExpression_1=ruleQuantifiedExpression 2464 this_Aggregation_1=ruleAggregation
2114 { 2465 {
2115 $current = $this_QuantifiedExpression_1.current; 2466 $current = $this_Aggregation_1.current;
2116 afterParserOrEnumRuleCall(); 2467 afterParserOrEnumRuleCall();
2117 } 2468 }
2118 | 2469 |
2119 { 2470 {
2120 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 2471 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getCountParserRuleCall_2());
2121 } 2472 }
2122 this_Aggregation_2=ruleAggregation 2473 this_Count_2=ruleCount
2123 { 2474 {
2124 $current = $this_Aggregation_2.current; 2475 $current = $this_Count_2.current;
2125 afterParserOrEnumRuleCall(); 2476 afterParserOrEnumRuleCall();
2126 } 2477 }
2127 ) 2478 )
2128; 2479;
2129 2480
2130// Entry rule entryRuleLocalVariables 2481// Entry rule entryRuleAggregation
2131entryRuleLocalVariables returns [EObject current=null]: 2482entryRuleAggregation returns [EObject current=null]:
2132 { newCompositeNode(grammarAccess.getLocalVariablesRule()); } 2483 { newCompositeNode(grammarAccess.getAggregationRule()); }
2133 iv_ruleLocalVariables=ruleLocalVariables 2484 iv_ruleAggregation=ruleAggregation
2134 { $current=$iv_ruleLocalVariables.current; } 2485 { $current=$iv_ruleAggregation.current; }
2135 EOF; 2486 EOF;
2136 2487
2137// Rule LocalVariables 2488// Rule Aggregation
2138ruleLocalVariables returns [EObject current=null] 2489ruleAggregation returns [EObject current=null]
2139@init { 2490@init {
2140 enterRule(); 2491 enterRule();
2141} 2492}
@@ -2144,162 +2495,83 @@ ruleLocalVariables returns [EObject current=null]
2144}: 2495}:
2145 ( 2496 (
2146 ( 2497 (
2147 {
2148 $current = forceCreateModelElement(
2149 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
2150 $current);
2151 }
2152 )
2153 otherlv_1=LeftSquareBracket
2154 {
2155 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
2156 }
2157 (
2158 ( 2498 (
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 { 2499 {
2180 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); 2500 if ($current==null) {
2501 $current = createModelElement(grammarAccess.getAggregationRule());
2502 }
2181 } 2503 }
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
2204 {
2205 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
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 (
2226 (
2227 (
2228 { 2504 {
2229 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); 2505 newCompositeNode(grammarAccess.getAggregationAccess().getOpSymbolCrossReference_0_0());
2230 } 2506 }
2231 lv_quantifier_0_0=ruleQuantifier 2507 ruleQualifiedName
2232 { 2508 {
2233 if ($current==null) {
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(); 2509 afterParserOrEnumRuleCall();
2242 } 2510 }
2243 ) 2511 )
2244 ) 2512 )
2513 otherlv_1=LeftCurlyBracket
2514 {
2515 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
2516 }
2245 ( 2517 (
2246 ( 2518 (
2247 { 2519 {
2248 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); 2520 newCompositeNode(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0());
2249 } 2521 }
2250 lv_localVariables_1_0=ruleLocalVariables 2522 lv_value_2_0=ruleExpression
2251 { 2523 {
2252 if ($current==null) { 2524 if ($current==null) {
2253 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); 2525 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2254 } 2526 }
2255 set( 2527 set(
2256 $current, 2528 $current,
2257 "localVariables", 2529 "value",
2258 lv_localVariables_1_0, 2530 lv_value_2_0,
2259 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); 2531 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2260 afterParserOrEnumRuleCall(); 2532 afterParserOrEnumRuleCall();
2261 } 2533 }
2262 ) 2534 )
2263 )? 2535 )
2264 otherlv_2=LeftCurlyBracket 2536 otherlv_3=VerticalLine
2265 { 2537 {
2266 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); 2538 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
2267 } 2539 }
2268 ( 2540 (
2269 ( 2541 (
2270 { 2542 {
2271 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); 2543 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
2272 } 2544 }
2273 lv_body_3_0=ruleExpression 2545 lv_condition_4_0=ruleExpression
2274 { 2546 {
2275 if ($current==null) { 2547 if ($current==null) {
2276 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); 2548 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2277 } 2549 }
2278 set( 2550 set(
2279 $current, 2551 $current,
2280 "body", 2552 "condition",
2281 lv_body_3_0, 2553 lv_condition_4_0,
2282 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2554 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2283 afterParserOrEnumRuleCall(); 2555 afterParserOrEnumRuleCall();
2284 } 2556 }
2285 ) 2557 )
2286 ) 2558 )
2287 otherlv_4=RightCurlyBracket 2559 otherlv_5=RightCurlyBracket
2288 { 2560 {
2289 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); 2561 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
2290 } 2562 }
2291 ) 2563 )
2292; 2564;
2293 2565
2294// Entry rule entryRuleAggregation 2566// Entry rule entryRuleCount
2295entryRuleAggregation returns [EObject current=null]: 2567entryRuleCount returns [EObject current=null]:
2296 { newCompositeNode(grammarAccess.getAggregationRule()); } 2568 { newCompositeNode(grammarAccess.getCountRule()); }
2297 iv_ruleAggregation=ruleAggregation 2569 iv_ruleCount=ruleCount
2298 { $current=$iv_ruleAggregation.current; } 2570 { $current=$iv_ruleCount.current; }
2299 EOF; 2571 EOF;
2300 2572
2301// Rule Aggregation 2573// Rule Count
2302ruleAggregation returns [EObject current=null] 2574ruleCount returns [EObject current=null]
2303@init { 2575@init {
2304 enterRule(); 2576 enterRule();
2305} 2577}
@@ -2307,92 +2579,36 @@ ruleAggregation returns [EObject current=null]
2307 leaveRule(); 2579 leaveRule();
2308}: 2580}:
2309 ( 2581 (
2310 ( 2582 otherlv_0=Count
2311 (
2312 {
2313 if ($current==null) {
2314 $current = createModelElement(grammarAccess.getAggregationRule());
2315 }
2316 }
2317 {
2318 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
2319 }
2320 ruleQualifiedName
2321 {
2322 afterParserOrEnumRuleCall();
2323 }
2324 )
2325 )
2326 (
2327 (
2328 {
2329 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
2330 }
2331 lv_localVariables_1_0=ruleLocalVariables
2332 {
2333 if ($current==null) {
2334 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2335 }
2336 set(
2337 $current,
2338 "localVariables",
2339 lv_localVariables_1_0,
2340 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
2341 afterParserOrEnumRuleCall();
2342 }
2343 )
2344 )?
2345 otherlv_2=LeftCurlyBracket
2346 { 2583 {
2347 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); 2584 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0());
2585 }
2586 otherlv_1=LeftCurlyBracket
2587 {
2588 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
2348 } 2589 }
2349 ( 2590 (
2350 ( 2591 (
2351 { 2592 {
2352 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); 2593 newCompositeNode(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0());
2353 } 2594 }
2354 lv_body_3_0=ruleExpression 2595 lv_condition_2_0=ruleExpression
2355 { 2596 {
2356 if ($current==null) { 2597 if ($current==null) {
2357 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2598 $current = createModelElementForParent(grammarAccess.getCountRule());
2358 } 2599 }
2359 set( 2600 set(
2360 $current, 2601 $current,
2361 "body", 2602 "condition",
2362 lv_body_3_0, 2603 lv_condition_2_0,
2363 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2604 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2364 afterParserOrEnumRuleCall(); 2605 afterParserOrEnumRuleCall();
2365 } 2606 }
2366 ) 2607 )
2367 ) 2608 )
2368 ( 2609 otherlv_3=RightCurlyBracket
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
2394 { 2610 {
2395 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 2611 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
2396 } 2612 }
2397 ) 2613 )
2398; 2614;
@@ -2507,49 +2723,10 @@ ruleCall returns [EObject current=null]
2507 ) 2723 )
2508 ( 2724 (
2509 ( 2725 (
2510 (
2511 lv_transitiveClosure_1_0=RULE_TRANSITIVE_CLOSURE
2512 {
2513 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0());
2514 }
2515 {
2516 if ($current==null) {
2517 $current = createModelElement(grammarAccess.getCallRule());
2518 }
2519 setWithLastConsumed(
2520 $current,
2521 "transitiveClosure",
2522 true,
2523 "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
2524 }
2525 )
2526 )
2527 |
2528 (
2529 (
2530 lv_reflexiveTransitiveClosure_2_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE
2531 {
2532 newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0());
2533 }
2534 {
2535 if ($current==null) {
2536 $current = createModelElement(grammarAccess.getCallRule());
2537 }
2538 setWithLastConsumed(
2539 $current,
2540 "reflexiveTransitiveClosure",
2541 true,
2542 "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
2543 }
2544 )
2545 )
2546 )?
2547 (
2548 (
2549 { 2726 {
2550 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 2727 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0());
2551 } 2728 }
2552 lv_argumentList_3_0=ruleArgumentList 2729 lv_argumentList_1_0=ruleArgumentList
2553 { 2730 {
2554 if ($current==null) { 2731 if ($current==null) {
2555 $current = createModelElementForParent(grammarAccess.getCallRule()); 2732 $current = createModelElementForParent(grammarAccess.getCallRule());
@@ -2557,7 +2734,7 @@ ruleCall returns [EObject current=null]
2557 set( 2734 set(
2558 $current, 2735 $current,
2559 "argumentList", 2736 "argumentList",
2560 lv_argumentList_3_0, 2737 lv_argumentList_1_0,
2561 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 2738 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
2562 afterParserOrEnumRuleCall(); 2739 afterParserOrEnumRuleCall();
2563 } 2740 }
@@ -2681,11 +2858,11 @@ ruleArgument returns [EObject current=null]
2681 } 2858 }
2682 | 2859 |
2683 { 2860 {
2684 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 2861 newCompositeNode(grammarAccess.getArgumentAccess().getTypedVariableArgumentParserRuleCall_2());
2685 } 2862 }
2686 this_TypedArgument_2=ruleTypedArgument 2863 this_TypedVariableArgument_2=ruleTypedVariableArgument
2687 { 2864 {
2688 $current = $this_TypedArgument_2.current; 2865 $current = $this_TypedVariableArgument_2.current;
2689 afterParserOrEnumRuleCall(); 2866 afterParserOrEnumRuleCall();
2690 } 2867 }
2691 | 2868 |
@@ -2718,17 +2895,17 @@ ruleExpressionArgument returns [EObject current=null]
2718 ( 2895 (
2719 ( 2896 (
2720 { 2897 {
2721 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 2898 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0());
2722 } 2899 }
2723 lv_body_0_0=ruleComparisonExpression 2900 lv_expression_0_0=ruleComparisonExpression
2724 { 2901 {
2725 if ($current==null) { 2902 if ($current==null) {
2726 $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); 2903 $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule());
2727 } 2904 }
2728 set( 2905 set(
2729 $current, 2906 $current,
2730 "body", 2907 "expression",
2731 lv_body_0_0, 2908 lv_expression_0_0,
2732 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); 2909 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
2733 afterParserOrEnumRuleCall(); 2910 afterParserOrEnumRuleCall();
2734 } 2911 }
@@ -2766,15 +2943,15 @@ ruleStarArgument returns [EObject current=null]
2766 ) 2943 )
2767; 2944;
2768 2945
2769// Entry rule entryRuleTypedArgument 2946// Entry rule entryRuleTypedVariableArgument
2770entryRuleTypedArgument returns [EObject current=null]: 2947entryRuleTypedVariableArgument returns [EObject current=null]:
2771 { newCompositeNode(grammarAccess.getTypedArgumentRule()); } 2948 { newCompositeNode(grammarAccess.getTypedVariableArgumentRule()); }
2772 iv_ruleTypedArgument=ruleTypedArgument 2949 iv_ruleTypedVariableArgument=ruleTypedVariableArgument
2773 { $current=$iv_ruleTypedArgument.current; } 2950 { $current=$iv_ruleTypedVariableArgument.current; }
2774 EOF; 2951 EOF;
2775 2952
2776// Rule TypedArgument 2953// Rule TypedVariableArgument
2777ruleTypedArgument returns [EObject current=null] 2954ruleTypedVariableArgument returns [EObject current=null]
2778@init { 2955@init {
2779 enterRule(); 2956 enterRule();
2780} 2957}
@@ -2785,32 +2962,37 @@ ruleTypedArgument returns [EObject current=null]
2785 ( 2962 (
2786 ( 2963 (
2787 { 2964 {
2788 if ($current==null) { 2965 newCompositeNode(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0());
2789 $current = createModelElement(grammarAccess.getTypedArgumentRule());
2790 }
2791 } 2966 }
2967 lv_typeReference_0_0=ruleTypeReference
2792 { 2968 {
2793 newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); 2969 if ($current==null) {
2794 } 2970 $current = createModelElementForParent(grammarAccess.getTypedVariableArgumentRule());
2795 ruleQualifiedName 2971 }
2796 { 2972 set(
2973 $current,
2974 "typeReference",
2975 lv_typeReference_0_0,
2976 "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
2797 afterParserOrEnumRuleCall(); 2977 afterParserOrEnumRuleCall();
2798 } 2978 }
2799 ) 2979 )
2800 ) 2980 )
2801 ( 2981 (
2802 ( 2982 (
2983 lv_name_1_0=RULE_ID
2803 { 2984 {
2804 if ($current==null) { 2985 newLeafNode(lv_name_1_0, grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0());
2805 $current = createModelElement(grammarAccess.getTypedArgumentRule());
2806 }
2807 }
2808 {
2809 newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
2810 } 2986 }
2811 ruleQualifiedName
2812 { 2987 {
2813 afterParserOrEnumRuleCall(); 2988 if ($current==null) {
2989 $current = createModelElement(grammarAccess.getTypedVariableArgumentRule());
2990 }
2991 setWithLastConsumed(
2992 $current,
2993 "name",
2994 lv_name_1_0,
2995 "org.eclipse.xtext.common.Terminals.ID");
2814 } 2996 }
2815 ) 2997 )
2816 ) 2998 )
@@ -2836,15 +3018,18 @@ ruleTypedStarArgument returns [EObject current=null]
2836 ( 3018 (
2837 ( 3019 (
2838 { 3020 {
2839 if ($current==null) { 3021 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0());
2840 $current = createModelElement(grammarAccess.getTypedStarArgumentRule());
2841 }
2842 } 3022 }
3023 lv_typeReference_0_0=ruleTypeReference
2843 { 3024 {
2844 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); 3025 if ($current==null) {
2845 } 3026 $current = createModelElementForParent(grammarAccess.getTypedStarArgumentRule());
2846 ruleQualifiedName 3027 }
2847 { 3028 set(
3029 $current,
3030 "typeReference",
3031 lv_typeReference_0_0,
3032 "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
2848 afterParserOrEnumRuleCall(); 3033 afterParserOrEnumRuleCall();
2849 } 3034 }
2850 ) 3035 )
@@ -2873,19 +3058,137 @@ ruleReference returns [EObject current=null]
2873}: 3058}:
2874 ( 3059 (
2875 ( 3060 (
2876 { 3061 (
2877 if ($current==null) { 3062 {
2878 $current = createModelElement(grammarAccess.getReferenceRule()); 3063 newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_0_0());
2879 } 3064 }
2880 } 3065 lv_components_0_0=rulePathComponent
2881 { 3066 {
2882 newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); 3067 if ($current==null) {
2883 } 3068 $current = createModelElementForParent(grammarAccess.getReferenceRule());
2884 ruleQualifiedName 3069 }
3070 add(
3071 $current,
3072 "components",
3073 lv_components_0_0,
3074 "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
3075 afterParserOrEnumRuleCall();
3076 }
3077 )
3078 )
3079 (
3080 otherlv_1=FullStop
2885 { 3081 {
2886 afterParserOrEnumRuleCall(); 3082 newLeafNode(otherlv_1, grammarAccess.getReferenceAccess().getFullStopKeyword_1_0());
2887 } 3083 }
3084 (
3085 (
3086 {
3087 newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_1_1_0());
3088 }
3089 lv_components_2_0=rulePathComponent
3090 {
3091 if ($current==null) {
3092 $current = createModelElementForParent(grammarAccess.getReferenceRule());
3093 }
3094 add(
3095 $current,
3096 "components",
3097 lv_components_2_0,
3098 "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
3099 afterParserOrEnumRuleCall();
3100 }
3101 )
3102 )
3103 )*
3104 )
3105;
3106
3107// Entry rule entryRulePathComponent
3108entryRulePathComponent returns [EObject current=null]:
3109 { newCompositeNode(grammarAccess.getPathComponentRule()); }
3110 iv_rulePathComponent=rulePathComponent
3111 { $current=$iv_rulePathComponent.current; }
3112 EOF;
3113
3114// Rule PathComponent
3115rulePathComponent returns [EObject current=null]
3116@init {
3117 enterRule();
3118}
3119@after {
3120 leaveRule();
3121}:
3122 (
3123 (
3124 (
3125 lv_inverse_0_0=Tilde
3126 {
3127 newLeafNode(lv_inverse_0_0, grammarAccess.getPathComponentAccess().getInverseTildeKeyword_0_0());
3128 }
3129 {
3130 if ($current==null) {
3131 $current = createModelElement(grammarAccess.getPathComponentRule());
3132 }
3133 setWithLastConsumed($current, "inverse", true, "~");
3134 }
3135 )
3136 )?
3137 (
3138 (
3139 {
3140 if ($current==null) {
3141 $current = createModelElement(grammarAccess.getPathComponentRule());
3142 }
3143 }
3144 {
3145 newCompositeNode(grammarAccess.getPathComponentAccess().getSymbolSymbolCrossReference_1_0());
3146 }
3147 ruleQualifiedName
3148 {
3149 afterParserOrEnumRuleCall();
3150 }
3151 )
2888 ) 3152 )
3153 (
3154 (
3155 (
3156 lv_transitiveClosure_2_0=RULE_TRANSITIVE_CLOSURE
3157 {
3158 newLeafNode(lv_transitiveClosure_2_0, grammarAccess.getPathComponentAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0());
3159 }
3160 {
3161 if ($current==null) {
3162 $current = createModelElement(grammarAccess.getPathComponentRule());
3163 }
3164 setWithLastConsumed(
3165 $current,
3166 "transitiveClosure",
3167 true,
3168 "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
3169 }
3170 )
3171 )
3172 |
3173 (
3174 (
3175 lv_reflexiveTransitiveClosure_3_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE
3176 {
3177 newLeafNode(lv_reflexiveTransitiveClosure_3_0, grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0());
3178 }
3179 {
3180 if ($current==null) {
3181 $current = createModelElement(grammarAccess.getPathComponentRule());
3182 }
3183 setWithLastConsumed(
3184 $current,
3185 "reflexiveTransitiveClosure",
3186 true,
3187 "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
3188 }
3189 )
3190 )
3191 )?
2889 ) 3192 )
2890; 3193;
2891 3194
@@ -2912,9 +3215,9 @@ ruleInterval returns [EObject current=null]
2912 ( 3215 (
2913 ( 3216 (
2914 { 3217 {
2915 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 3218 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0());
2916 } 3219 }
2917 lv_lowerBound_1_0=ruleExpression 3220 lv_lowerBound_1_0=ruleAdditiveExpression
2918 { 3221 {
2919 if ($current==null) { 3222 if ($current==null) {
2920 $current = createModelElementForParent(grammarAccess.getIntervalRule()); 3223 $current = createModelElementForParent(grammarAccess.getIntervalRule());
@@ -2923,21 +3226,21 @@ ruleInterval returns [EObject current=null]
2923 $current, 3226 $current,
2924 "lowerBound", 3227 "lowerBound",
2925 lv_lowerBound_1_0, 3228 lv_lowerBound_1_0,
2926 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 3229 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
2927 afterParserOrEnumRuleCall(); 3230 afterParserOrEnumRuleCall();
2928 } 3231 }
2929 ) 3232 )
2930 ) 3233 )
2931 otherlv_2=FullStopFullStop 3234 otherlv_2=Comma
2932 { 3235 {
2933 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 3236 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getCommaKeyword_2());
2934 } 3237 }
2935 ( 3238 (
2936 ( 3239 (
2937 { 3240 {
2938 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 3241 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0());
2939 } 3242 }
2940 lv_upperBound_3_0=ruleExpression 3243 lv_upperBound_3_0=ruleAdditiveExpression
2941 { 3244 {
2942 if ($current==null) { 3245 if ($current==null) {
2943 $current = createModelElementForParent(grammarAccess.getIntervalRule()); 3246 $current = createModelElementForParent(grammarAccess.getIntervalRule());
@@ -2946,7 +3249,7 @@ ruleInterval returns [EObject current=null]
2946 $current, 3249 $current,
2947 "upperBound", 3250 "upperBound",
2948 lv_upperBound_3_0, 3251 lv_upperBound_3_0,
2949 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 3252 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
2950 afterParserOrEnumRuleCall(); 3253 afterParserOrEnumRuleCall();
2951 } 3254 }
2952 ) 3255 )
@@ -2984,38 +3287,47 @@ ruleLiteral returns [EObject current=null]
2984 } 3287 }
2985 | 3288 |
2986 { 3289 {
2987 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 3290 newCompositeNode(grammarAccess.getLiteralAccess().getIntLiteralParserRuleCall_1());
2988 } 3291 }
2989 this_NumericLiteral_1=ruleNumericLiteral 3292 this_IntLiteral_1=ruleIntLiteral
2990 { 3293 {
2991 $current = $this_NumericLiteral_1.current; 3294 $current = $this_IntLiteral_1.current;
2992 afterParserOrEnumRuleCall(); 3295 afterParserOrEnumRuleCall();
2993 } 3296 }
2994 | 3297 |
2995 { 3298 {
2996 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 3299 newCompositeNode(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_2());
2997 } 3300 }
2998 this_InfinityLiteral_2=ruleInfinityLiteral 3301 this_RealLiteral_2=ruleRealLiteral
2999 { 3302 {
3000 $current = $this_InfinityLiteral_2.current; 3303 $current = $this_RealLiteral_2.current;
3001 afterParserOrEnumRuleCall(); 3304 afterParserOrEnumRuleCall();
3002 } 3305 }
3003 | 3306 |
3004 { 3307 {
3005 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 3308 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_3());
3006 } 3309 }
3007 this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral 3310 this_InfinityLiteral_3=ruleInfinityLiteral
3008 { 3311 {
3009 $current = $this_EmptyIntervalLiteral_3.current; 3312 $current = $this_InfinityLiteral_3.current;
3010 afterParserOrEnumRuleCall(); 3313 afterParserOrEnumRuleCall();
3011 } 3314 }
3012 | 3315 |
3013 { 3316 {
3014 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 3317 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyLiteralParserRuleCall_4());
3015 } 3318 }
3016 this_StringLiteral_4=ruleStringLiteral 3319 this_EmptyLiteral_4=ruleEmptyLiteral
3017 { 3320 {
3018 $current = $this_StringLiteral_4.current; 3321 $current = $this_EmptyLiteral_4.current;
3322 afterParserOrEnumRuleCall();
3323 }
3324 |
3325 {
3326 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_5());
3327 }
3328 this_StringLiteral_5=ruleStringLiteral
3329 {
3330 $current = $this_StringLiteral_5.current;
3019 afterParserOrEnumRuleCall(); 3331 afterParserOrEnumRuleCall();
3020 } 3332 }
3021 ) 3333 )
@@ -3057,15 +3369,50 @@ ruleLogicLiteral returns [EObject current=null]
3057 ) 3369 )
3058; 3370;
3059 3371
3060// Entry rule entryRuleNumericLiteral 3372// Entry rule entryRuleIntLiteral
3061entryRuleNumericLiteral returns [EObject current=null]: 3373entryRuleIntLiteral returns [EObject current=null]:
3062 { newCompositeNode(grammarAccess.getNumericLiteralRule()); } 3374 { newCompositeNode(grammarAccess.getIntLiteralRule()); }
3063 iv_ruleNumericLiteral=ruleNumericLiteral 3375 iv_ruleIntLiteral=ruleIntLiteral
3064 { $current=$iv_ruleNumericLiteral.current; } 3376 { $current=$iv_ruleIntLiteral.current; }
3377 EOF;
3378
3379// Rule IntLiteral
3380ruleIntLiteral returns [EObject current=null]
3381@init {
3382 enterRule();
3383}
3384@after {
3385 leaveRule();
3386}:
3387 (
3388 (
3389 lv_value_0_0=RULE_INT
3390 {
3391 newLeafNode(lv_value_0_0, grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0());
3392 }
3393 {
3394 if ($current==null) {
3395 $current = createModelElement(grammarAccess.getIntLiteralRule());
3396 }
3397 setWithLastConsumed(
3398 $current,
3399 "value",
3400 lv_value_0_0,
3401 "org.eclipse.xtext.common.Terminals.INT");
3402 }
3403 )
3404 )
3405;
3406
3407// Entry rule entryRuleRealLiteral
3408entryRuleRealLiteral returns [EObject current=null]:
3409 { newCompositeNode(grammarAccess.getRealLiteralRule()); }
3410 iv_ruleRealLiteral=ruleRealLiteral
3411 { $current=$iv_ruleRealLiteral.current; }
3065 EOF; 3412 EOF;
3066 3413
3067// Rule NumericLiteral 3414// Rule RealLiteral
3068ruleNumericLiteral returns [EObject current=null] 3415ruleRealLiteral returns [EObject current=null]
3069@init { 3416@init {
3070 enterRule(); 3417 enterRule();
3071} 3418}
@@ -3075,12 +3422,12 @@ ruleNumericLiteral returns [EObject current=null]
3075 ( 3422 (
3076 ( 3423 (
3077 { 3424 {
3078 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 3425 newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0());
3079 } 3426 }
3080 lv_value_0_0=ruleReal 3427 lv_value_0_0=ruleReal
3081 { 3428 {
3082 if ($current==null) { 3429 if ($current==null) {
3083 $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); 3430 $current = createModelElementForParent(grammarAccess.getRealLiteralRule());
3084 } 3431 }
3085 set( 3432 set(
3086 $current, 3433 $current,
@@ -3123,15 +3470,15 @@ ruleInfinityLiteral returns [EObject current=null]
3123 ) 3470 )
3124; 3471;
3125 3472
3126// Entry rule entryRuleEmptyIntervalLiteral 3473// Entry rule entryRuleEmptyLiteral
3127entryRuleEmptyIntervalLiteral returns [EObject current=null]: 3474entryRuleEmptyLiteral returns [EObject current=null]:
3128 { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } 3475 { newCompositeNode(grammarAccess.getEmptyLiteralRule()); }
3129 iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral 3476 iv_ruleEmptyLiteral=ruleEmptyLiteral
3130 { $current=$iv_ruleEmptyIntervalLiteral.current; } 3477 { $current=$iv_ruleEmptyLiteral.current; }
3131 EOF; 3478 EOF;
3132 3479
3133// Rule EmptyIntervalLiteral 3480// Rule EmptyLiteral
3134ruleEmptyIntervalLiteral returns [EObject current=null] 3481ruleEmptyLiteral returns [EObject current=null]
3135@init { 3482@init {
3136 enterRule(); 3483 enterRule();
3137} 3484}
@@ -3142,13 +3489,13 @@ ruleEmptyIntervalLiteral returns [EObject current=null]
3142 ( 3489 (
3143 { 3490 {
3144 $current = forceCreateModelElement( 3491 $current = forceCreateModelElement(
3145 grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), 3492 grammarAccess.getEmptyLiteralAccess().getEmptyLiteralAction_0(),
3146 $current); 3493 $current);
3147 } 3494 }
3148 ) 3495 )
3149 otherlv_1=Empty 3496 otherlv_1=Empty
3150 { 3497 {
3151 newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); 3498 newLeafNode(otherlv_1, grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1());
3152 } 3499 }
3153 ) 3500 )
3154; 3501;
@@ -3188,15 +3535,15 @@ ruleStringLiteral returns [EObject current=null]
3188 ) 3535 )
3189; 3536;
3190 3537
3191// Entry rule entryRuleClassDefinition 3538// Entry rule entryRuleClassDeclaration
3192entryRuleClassDefinition returns [EObject current=null]: 3539entryRuleClassDeclaration returns [EObject current=null]:
3193 { newCompositeNode(grammarAccess.getClassDefinitionRule()); } 3540 { newCompositeNode(grammarAccess.getClassDeclarationRule()); }
3194 iv_ruleClassDefinition=ruleClassDefinition 3541 iv_ruleClassDeclaration=ruleClassDeclaration
3195 { $current=$iv_ruleClassDefinition.current; } 3542 { $current=$iv_ruleClassDeclaration.current; }
3196 EOF; 3543 EOF;
3197 3544
3198// Rule ClassDefinition 3545// Rule ClassDeclaration
3199ruleClassDefinition returns [EObject current=null] 3546ruleClassDeclaration returns [EObject current=null]
3200@init { 3547@init {
3201 enterRule(); 3548 enterRule();
3202} 3549}
@@ -3206,54 +3553,100 @@ ruleClassDefinition returns [EObject current=null]
3206 ( 3553 (
3207 ( 3554 (
3208 ( 3555 (
3209 lv_abstract_0_0=Abstract 3556 {
3210 { 3557 getUnorderedGroupHelper().enter(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
3211 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
3212 } 3558 }
3213 { 3559 (
3214 if ($current==null) { 3560 (
3215 $current = createModelElement(grammarAccess.getClassDefinitionRule()); 3561 (
3562 {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0)}?=>(
3563 {
3564 getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0);
3216 } 3565 }
3217 setWithLastConsumed($current, "abstract", true, "abstract"); 3566 ({true}?=>((
3218 } 3567 lv_abstract_1_0=Abstract
3568 {
3569 newLeafNode(lv_abstract_1_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0_0());
3570 }
3571 {
3572 if ($current==null) {
3573 $current = createModelElement(grammarAccess.getClassDeclarationRule());
3574 }
3575 setWithLastConsumed($current, "abstract", true, "abstract");
3576 }
3577 )
3578 ))
3579 {
3580 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
3581 }
3582 )
3583 )|
3584 (
3585 {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1)}?=>(
3586 {
3587 getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1);
3588 }
3589 ({true}?=>((
3590 lv_root_2_0=Root
3591 {
3592 newLeafNode(lv_root_2_0, grammarAccess.getClassDeclarationAccess().getRootRootKeyword_0_1_0());
3593 }
3594 {
3595 if ($current==null) {
3596 $current = createModelElement(grammarAccess.getClassDeclarationRule());
3597 }
3598 setWithLastConsumed($current, "root", true, "root");
3599 }
3600 )
3601 ))
3602 {
3603 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
3604 }
3605 )
3219 ) 3606 )
3220 )? 3607 )*
3221 otherlv_1=Class 3608 )
3609 )
3610 {
3611 getUnorderedGroupHelper().leave(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
3612 }
3613 )
3614 otherlv_3=Class
3222 { 3615 {
3223 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 3616 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
3224 } 3617 }
3225 ( 3618 (
3226 ( 3619 (
3227 lv_name_2_0=RULE_ID 3620 lv_name_4_0=RULE_ID
3228 { 3621 {
3229 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 3622 newLeafNode(lv_name_4_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
3230 } 3623 }
3231 { 3624 {
3232 if ($current==null) { 3625 if ($current==null) {
3233 $current = createModelElement(grammarAccess.getClassDefinitionRule()); 3626 $current = createModelElement(grammarAccess.getClassDeclarationRule());
3234 } 3627 }
3235 setWithLastConsumed( 3628 setWithLastConsumed(
3236 $current, 3629 $current,
3237 "name", 3630 "name",
3238 lv_name_2_0, 3631 lv_name_4_0,
3239 "org.eclipse.xtext.common.Terminals.ID"); 3632 "org.eclipse.xtext.common.Terminals.ID");
3240 } 3633 }
3241 ) 3634 )
3242 ) 3635 )
3243 ( 3636 (
3244 otherlv_3=Extends 3637 otherlv_5=Extends
3245 { 3638 {
3246 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 3639 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
3247 } 3640 }
3248 ( 3641 (
3249 ( 3642 (
3250 { 3643 {
3251 if ($current==null) { 3644 if ($current==null) {
3252 $current = createModelElement(grammarAccess.getClassDefinitionRule()); 3645 $current = createModelElement(grammarAccess.getClassDeclarationRule());
3253 } 3646 }
3254 } 3647 }
3255 { 3648 {
3256 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 3649 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_1_0());
3257 } 3650 }
3258 ruleQualifiedName 3651 ruleQualifiedName
3259 { 3652 {
@@ -3262,19 +3655,19 @@ ruleClassDefinition returns [EObject current=null]
3262 ) 3655 )
3263 ) 3656 )
3264 ( 3657 (
3265 otherlv_5=Comma 3658 otherlv_7=Comma
3266 { 3659 {
3267 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 3660 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
3268 } 3661 }
3269 ( 3662 (
3270 ( 3663 (
3271 { 3664 {
3272 if ($current==null) { 3665 if ($current==null) {
3273 $current = createModelElement(grammarAccess.getClassDefinitionRule()); 3666 $current = createModelElement(grammarAccess.getClassDeclarationRule());
3274 } 3667 }
3275 } 3668 }
3276 { 3669 {
3277 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 3670 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_2_1_0());
3278 } 3671 }
3279 ruleQualifiedName 3672 ruleQualifiedName
3280 { 3673 {
@@ -3284,45 +3677,54 @@ ruleClassDefinition returns [EObject current=null]
3284 ) 3677 )
3285 )* 3678 )*
3286 )? 3679 )?
3287 otherlv_7=LeftCurlyBracket
3288 {
3289 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
3290 }
3291 ( 3680 (
3292 ( 3681 (
3682 otherlv_9=LeftCurlyBracket
3293 { 3683 {
3294 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); 3684 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
3295 } 3685 }
3296 lv_members_8_0=ruleMemberDefinition 3686 (
3687 (
3688 {
3689 newCompositeNode(grammarAccess.getClassDeclarationAccess().getFieldsFieldParserRuleCall_4_0_1_0());
3690 }
3691 lv_fields_10_0=ruleField
3692 {
3693 if ($current==null) {
3694 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
3695 }
3696 add(
3697 $current,
3698 "fields",
3699 lv_fields_10_0,
3700 "org.eclipse.viatra.solver.language.SolverLanguage.Field");
3701 afterParserOrEnumRuleCall();
3702 }
3703 )
3704 )*
3705 otherlv_11=RightCurlyBracket
3297 { 3706 {
3298 if ($current==null) { 3707 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
3299 $current = createModelElementForParent(grammarAccess.getClassDefinitionRule());
3300 }
3301 add(
3302 $current,
3303 "members",
3304 lv_members_8_0,
3305 "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
3306 afterParserOrEnumRuleCall();
3307 } 3708 }
3308 ) 3709 )
3309 )* 3710 |
3310 otherlv_9=RightCurlyBracket 3711 this_FULL_STOP_12=RULE_FULL_STOP
3311 { 3712 {
3312 newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); 3713 newLeafNode(this_FULL_STOP_12, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1());
3313 } 3714 }
3715 )
3314 ) 3716 )
3315; 3717;
3316 3718
3317// Entry rule entryRuleMemberDefinition 3719// Entry rule entryRuleField
3318entryRuleMemberDefinition returns [EObject current=null]: 3720entryRuleField returns [EObject current=null]:
3319 { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } 3721 { newCompositeNode(grammarAccess.getFieldRule()); }
3320 iv_ruleMemberDefinition=ruleMemberDefinition 3722 iv_ruleField=ruleField
3321 { $current=$iv_ruleMemberDefinition.current; } 3723 { $current=$iv_ruleField.current; }
3322 EOF; 3724 EOF;
3323 3725
3324// Rule MemberDefinition 3726// Rule Field
3325ruleMemberDefinition returns [EObject current=null] 3727ruleField returns [EObject current=null]
3326@init { 3728@init {
3327 enterRule(); 3729 enterRule();
3328} 3730}
@@ -3332,27 +3734,44 @@ ruleMemberDefinition returns [EObject current=null]
3332 ( 3734 (
3333 ( 3735 (
3334 ( 3736 (
3335 lv_containment_0_0=Contains 3737 (
3336 { 3738 lv_containment_0_0=Contains
3337 newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); 3739 {
3338 } 3740 newLeafNode(lv_containment_0_0, grammarAccess.getFieldAccess().getContainmentContainsKeyword_0_0_0());
3339 {
3340 if ($current==null) {
3341 $current = createModelElement(grammarAccess.getMemberDefinitionRule());
3342 } 3741 }
3343 setWithLastConsumed($current, "containment", true, "contains"); 3742 {
3344 } 3743 if ($current==null) {
3744 $current = createModelElement(grammarAccess.getFieldRule());
3745 }
3746 setWithLastConsumed($current, "containment", true, "contains");
3747 }
3748 )
3749 )
3750 |
3751 (
3752 (
3753 lv_crossReference_1_0=Refers
3754 {
3755 newLeafNode(lv_crossReference_1_0, grammarAccess.getFieldAccess().getCrossReferenceRefersKeyword_0_1_0());
3756 }
3757 {
3758 if ($current==null) {
3759 $current = createModelElement(grammarAccess.getFieldRule());
3760 }
3761 setWithLastConsumed($current, "crossReference", true, "refers");
3762 }
3763 )
3345 ) 3764 )
3346 )? 3765 )?
3347 ( 3766 (
3348 ( 3767 (
3349 { 3768 {
3350 if ($current==null) { 3769 if ($current==null) {
3351 $current = createModelElement(grammarAccess.getMemberDefinitionRule()); 3770 $current = createModelElement(grammarAccess.getFieldRule());
3352 } 3771 }
3353 } 3772 }
3354 { 3773 {
3355 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 3774 newCompositeNode(grammarAccess.getFieldAccess().getTypeSymbolCrossReference_1_0());
3356 } 3775 }
3357 ruleQualifiedName 3776 ruleQualifiedName
3358 { 3777 {
@@ -3363,17 +3782,17 @@ ruleMemberDefinition returns [EObject current=null]
3363 ( 3782 (
3364 ( 3783 (
3365 { 3784 {
3366 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 3785 newCompositeNode(grammarAccess.getFieldAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
3367 } 3786 }
3368 lv_multiplicity_2_0=ruleMultiplicity 3787 lv_multiplicity_3_0=ruleMultiplicity
3369 { 3788 {
3370 if ($current==null) { 3789 if ($current==null) {
3371 $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); 3790 $current = createModelElementForParent(grammarAccess.getFieldRule());
3372 } 3791 }
3373 set( 3792 set(
3374 $current, 3793 $current,
3375 "multiplicity", 3794 "multiplicity",
3376 lv_multiplicity_2_0, 3795 lv_multiplicity_3_0,
3377 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); 3796 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
3378 afterParserOrEnumRuleCall(); 3797 afterParserOrEnumRuleCall();
3379 } 3798 }
@@ -3381,36 +3800,36 @@ ruleMemberDefinition returns [EObject current=null]
3381 )? 3800 )?
3382 ( 3801 (
3383 ( 3802 (
3384 lv_name_3_0=RULE_ID 3803 lv_name_4_0=RULE_ID
3385 { 3804 {
3386 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 3805 newLeafNode(lv_name_4_0, grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0());
3387 } 3806 }
3388 { 3807 {
3389 if ($current==null) { 3808 if ($current==null) {
3390 $current = createModelElement(grammarAccess.getMemberDefinitionRule()); 3809 $current = createModelElement(grammarAccess.getFieldRule());
3391 } 3810 }
3392 setWithLastConsumed( 3811 setWithLastConsumed(
3393 $current, 3812 $current,
3394 "name", 3813 "name",
3395 lv_name_3_0, 3814 lv_name_4_0,
3396 "org.eclipse.xtext.common.Terminals.ID"); 3815 "org.eclipse.xtext.common.Terminals.ID");
3397 } 3816 }
3398 ) 3817 )
3399 ) 3818 )
3400 ( 3819 (
3401 otherlv_4=Opposite 3820 otherlv_5=Opposite
3402 { 3821 {
3403 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 3822 newLeafNode(otherlv_5, grammarAccess.getFieldAccess().getOppositeKeyword_4_0());
3404 } 3823 }
3405 ( 3824 (
3406 ( 3825 (
3407 { 3826 {
3408 if ($current==null) { 3827 if ($current==null) {
3409 $current = createModelElement(grammarAccess.getMemberDefinitionRule()); 3828 $current = createModelElement(grammarAccess.getFieldRule());
3410 } 3829 }
3411 } 3830 }
3412 { 3831 {
3413 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 3832 newCompositeNode(grammarAccess.getFieldAccess().getOppositeSymbolCrossReference_4_1_0());
3414 } 3833 }
3415 ruleQualifiedName 3834 ruleQualifiedName
3416 { 3835 {
@@ -3420,9 +3839,9 @@ ruleMemberDefinition returns [EObject current=null]
3420 ) 3839 )
3421 )? 3840 )?
3422 ( 3841 (
3423 otherlv_6=Semicolon 3842 otherlv_7=Semicolon
3424 { 3843 {
3425 newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); 3844 newLeafNode(otherlv_7, grammarAccess.getFieldAccess().getSemicolonKeyword_5());
3426 } 3845 }
3427 )? 3846 )?
3428 ) 3847 )
@@ -3445,11 +3864,11 @@ ruleMultiplicity returns [EObject current=null]
3445}: 3864}:
3446 ( 3865 (
3447 { 3866 {
3448 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 3867 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
3449 } 3868 }
3450 this_ManyMultiplicity_0=ruleManyMultiplicity 3869 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity
3451 { 3870 {
3452 $current = $this_ManyMultiplicity_0.current; 3871 $current = $this_UnboundedMultiplicity_0.current;
3453 afterParserOrEnumRuleCall(); 3872 afterParserOrEnumRuleCall();
3454 } 3873 }
3455 | 3874 |
@@ -3473,15 +3892,15 @@ ruleMultiplicity returns [EObject current=null]
3473 ) 3892 )
3474; 3893;
3475 3894
3476// Entry rule entryRuleManyMultiplicity 3895// Entry rule entryRuleUnboundedMultiplicity
3477entryRuleManyMultiplicity returns [EObject current=null]: 3896entryRuleUnboundedMultiplicity returns [EObject current=null]:
3478 { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } 3897 { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); }
3479 iv_ruleManyMultiplicity=ruleManyMultiplicity 3898 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity
3480 { $current=$iv_ruleManyMultiplicity.current; } 3899 { $current=$iv_ruleUnboundedMultiplicity.current; }
3481 EOF; 3900 EOF;
3482 3901
3483// Rule ManyMultiplicity 3902// Rule UnboundedMultiplicity
3484ruleManyMultiplicity returns [EObject current=null] 3903ruleUnboundedMultiplicity returns [EObject current=null]
3485@init { 3904@init {
3486 enterRule(); 3905 enterRule();
3487} 3906}
@@ -3492,17 +3911,17 @@ ruleManyMultiplicity returns [EObject current=null]
3492 ( 3911 (
3493 { 3912 {
3494 $current = forceCreateModelElement( 3913 $current = forceCreateModelElement(
3495 grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), 3914 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction_0(),
3496 $current); 3915 $current);
3497 } 3916 }
3498 ) 3917 )
3499 otherlv_1=LeftSquareBracket 3918 otherlv_1=LeftSquareBracket
3500 { 3919 {
3501 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 3920 newLeafNode(otherlv_1, grammarAccess.getUnboundedMultiplicityAccess().getLeftSquareBracketKeyword_1());
3502 } 3921 }
3503 otherlv_2=RightSquareBracket 3922 otherlv_2=RightSquareBracket
3504 { 3923 {
3505 newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); 3924 newLeafNode(otherlv_2, grammarAccess.getUnboundedMultiplicityAccess().getRightSquareBracketKeyword_2());
3506 } 3925 }
3507 ) 3926 )
3508; 3927;
@@ -3530,17 +3949,17 @@ ruleExactMultiplicity returns [EObject current=null]
3530 ( 3949 (
3531 ( 3950 (
3532 { 3951 {
3533 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 3952 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0());
3534 } 3953 }
3535 lv_multiplicity_1_0=ruleUpperMultiplicty 3954 lv_value_1_0=ruleUpperMultiplicty
3536 { 3955 {
3537 if ($current==null) { 3956 if ($current==null) {
3538 $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); 3957 $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule());
3539 } 3958 }
3540 set( 3959 set(
3541 $current, 3960 $current,
3542 "multiplicity", 3961 "value",
3543 lv_multiplicity_1_0, 3962 lv_value_1_0,
3544 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); 3963 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
3545 afterParserOrEnumRuleCall(); 3964 afterParserOrEnumRuleCall();
3546 } 3965 }
@@ -3591,9 +4010,9 @@ ruleBoundedMultiplicity returns [EObject current=null]
3591 } 4010 }
3592 ) 4011 )
3593 ) 4012 )
3594 otherlv_2=FullStopFullStop 4013 otherlv_2=Comma
3595 { 4014 {
3596 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 4015 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getCommaKeyword_2());
3597 } 4016 }
3598 ( 4017 (
3599 ( 4018 (
@@ -3621,15 +4040,15 @@ ruleBoundedMultiplicity returns [EObject current=null]
3621 ) 4040 )
3622; 4041;
3623 4042
3624// Entry rule entryRuleScopeDefinition 4043// Entry rule entryRuleEnumDeclaration
3625entryRuleScopeDefinition returns [EObject current=null]: 4044entryRuleEnumDeclaration returns [EObject current=null]:
3626 { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } 4045 { newCompositeNode(grammarAccess.getEnumDeclarationRule()); }
3627 iv_ruleScopeDefinition=ruleScopeDefinition 4046 iv_ruleEnumDeclaration=ruleEnumDeclaration
3628 { $current=$iv_ruleScopeDefinition.current; } 4047 { $current=$iv_ruleEnumDeclaration.current; }
3629 EOF; 4048 EOF;
3630 4049
3631// Rule ScopeDefinition 4050// Rule EnumDeclaration
3632ruleScopeDefinition returns [EObject current=null] 4051ruleEnumDeclaration returns [EObject current=null]
3633@init { 4052@init {
3634 enterRule(); 4053 enterRule();
3635} 4054}
@@ -3637,44 +4056,185 @@ ruleScopeDefinition returns [EObject current=null]
3637 leaveRule(); 4056 leaveRule();
3638}: 4057}:
3639 ( 4058 (
4059 otherlv_0=Enum
3640 { 4060 {
3641 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 4061 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
3642 } 4062 }
3643 this_ExactScopeDefinition_0=ruleExactScopeDefinition 4063 (
4064 (
4065 lv_name_1_0=RULE_ID
4066 {
4067 newLeafNode(lv_name_1_0, grammarAccess.getEnumDeclarationAccess().getNameIDTerminalRuleCall_1_0());
4068 }
4069 {
4070 if ($current==null) {
4071 $current = createModelElement(grammarAccess.getEnumDeclarationRule());
4072 }
4073 setWithLastConsumed(
4074 $current,
4075 "name",
4076 lv_name_1_0,
4077 "org.eclipse.xtext.common.Terminals.ID");
4078 }
4079 )
4080 )
4081 (
4082 (
4083 otherlv_2=LeftCurlyBracket
4084 {
4085 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
4086 }
4087 (
4088 (
4089 (
4090 {
4091 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
4092 }
4093 lv_literals_3_0=ruleEnumLiteral
4094 {
4095 if ($current==null) {
4096 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
4097 }
4098 add(
4099 $current,
4100 "literals",
4101 lv_literals_3_0,
4102 "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
4103 afterParserOrEnumRuleCall();
4104 }
4105 )
4106 )
4107 (
4108 (
4109 otherlv_4=Comma
4110 {
4111 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
4112 }
4113 )?
4114 (
4115 (
4116 {
4117 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
4118 }
4119 lv_literals_5_0=ruleEnumLiteral
4120 {
4121 if ($current==null) {
4122 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
4123 }
4124 add(
4125 $current,
4126 "literals",
4127 lv_literals_5_0,
4128 "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
4129 afterParserOrEnumRuleCall();
4130 }
4131 )
4132 )
4133 )*
4134 )?
4135 otherlv_6=RightCurlyBracket
4136 {
4137 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
4138 }
4139 )
4140 |
4141 this_FULL_STOP_7=RULE_FULL_STOP
4142 {
4143 newLeafNode(this_FULL_STOP_7, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1());
4144 }
4145 )
4146 )
4147;
4148
4149// Entry rule entryRuleEnumLiteral
4150entryRuleEnumLiteral returns [EObject current=null]:
4151 { newCompositeNode(grammarAccess.getEnumLiteralRule()); }
4152 iv_ruleEnumLiteral=ruleEnumLiteral
4153 { $current=$iv_ruleEnumLiteral.current; }
4154 EOF;
4155
4156// Rule EnumLiteral
4157ruleEnumLiteral returns [EObject current=null]
4158@init {
4159 enterRule();
4160}
4161@after {
4162 leaveRule();
4163}:
4164 (
4165 (
4166 lv_name_0_0=RULE_ID
4167 {
4168 newLeafNode(lv_name_0_0, grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0());
4169 }
4170 {
4171 if ($current==null) {
4172 $current = createModelElement(grammarAccess.getEnumLiteralRule());
4173 }
4174 setWithLastConsumed(
4175 $current,
4176 "name",
4177 lv_name_0_0,
4178 "org.eclipse.xtext.common.Terminals.ID");
4179 }
4180 )
4181 )
4182;
4183
4184// Entry rule entryRuleScopeDeclaration
4185entryRuleScopeDeclaration returns [EObject current=null]:
4186 { newCompositeNode(grammarAccess.getScopeDeclarationRule()); }
4187 iv_ruleScopeDeclaration=ruleScopeDeclaration
4188 { $current=$iv_ruleScopeDeclaration.current; }
4189 EOF;
4190
4191// Rule ScopeDeclaration
4192ruleScopeDeclaration returns [EObject current=null]
4193@init {
4194 enterRule();
4195}
4196@after {
4197 leaveRule();
4198}:
4199 (
3644 { 4200 {
3645 $current = $this_ExactScopeDefinition_0.current; 4201 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getExactScopeParserRuleCall_0());
4202 }
4203 this_ExactScope_0=ruleExactScope
4204 {
4205 $current = $this_ExactScope_0.current;
3646 afterParserOrEnumRuleCall(); 4206 afterParserOrEnumRuleCall();
3647 } 4207 }
3648 | 4208 |
3649 { 4209 {
3650 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 4210 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getBoundedScopeParserRuleCall_1());
3651 } 4211 }
3652 this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition 4212 this_BoundedScope_1=ruleBoundedScope
3653 { 4213 {
3654 $current = $this_BoundedScopeDefinition_1.current; 4214 $current = $this_BoundedScope_1.current;
3655 afterParserOrEnumRuleCall(); 4215 afterParserOrEnumRuleCall();
3656 } 4216 }
3657 | 4217 |
3658 { 4218 {
3659 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 4219 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getLowerBoundedScopeParserRuleCall_2());
3660 } 4220 }
3661 this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition 4221 this_LowerBoundedScope_2=ruleLowerBoundedScope
3662 { 4222 {
3663 $current = $this_LowerBoundedScopeDefinition_2.current; 4223 $current = $this_LowerBoundedScope_2.current;
3664 afterParserOrEnumRuleCall(); 4224 afterParserOrEnumRuleCall();
3665 } 4225 }
3666 ) 4226 )
3667; 4227;
3668 4228
3669// Entry rule entryRuleExactScopeDefinition 4229// Entry rule entryRuleExactScope
3670entryRuleExactScopeDefinition returns [EObject current=null]: 4230entryRuleExactScope returns [EObject current=null]:
3671 { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } 4231 { newCompositeNode(grammarAccess.getExactScopeRule()); }
3672 iv_ruleExactScopeDefinition=ruleExactScopeDefinition 4232 iv_ruleExactScope=ruleExactScope
3673 { $current=$iv_ruleExactScopeDefinition.current; } 4233 { $current=$iv_ruleExactScope.current; }
3674 EOF; 4234 EOF;
3675 4235
3676// Rule ExactScopeDefinition 4236// Rule ExactScope
3677ruleExactScopeDefinition returns [EObject current=null] 4237ruleExactScope returns [EObject current=null]
3678@init { 4238@init {
3679 enterRule(); 4239 enterRule();
3680} 4240}
@@ -3684,17 +4244,17 @@ ruleExactScopeDefinition returns [EObject current=null]
3684 ( 4244 (
3685 otherlv_0=Scope 4245 otherlv_0=Scope
3686 { 4246 {
3687 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 4247 newLeafNode(otherlv_0, grammarAccess.getExactScopeAccess().getScopeKeyword_0());
3688 } 4248 }
3689 ( 4249 (
3690 ( 4250 (
3691 { 4251 {
3692 if ($current==null) { 4252 if ($current==null) {
3693 $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); 4253 $current = createModelElement(grammarAccess.getExactScopeRule());
3694 } 4254 }
3695 } 4255 }
3696 { 4256 {
3697 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 4257 newCompositeNode(grammarAccess.getExactScopeAccess().getTypeSymbolCrossReference_1_0());
3698 } 4258 }
3699 ruleQualifiedName 4259 ruleQualifiedName
3700 { 4260 {
@@ -3704,38 +4264,42 @@ ruleExactScopeDefinition returns [EObject current=null]
3704 ) 4264 )
3705 otherlv_2=EqualsSignEqualsSign 4265 otherlv_2=EqualsSignEqualsSign
3706 { 4266 {
3707 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 4267 newLeafNode(otherlv_2, grammarAccess.getExactScopeAccess().getEqualsSignEqualsSignKeyword_2());
3708 } 4268 }
3709 ( 4269 (
3710 ( 4270 (
3711 lv_exactScope_3_0=RULE_INT 4271 lv_size_3_0=RULE_INT
3712 { 4272 {
3713 newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); 4273 newLeafNode(lv_size_3_0, grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0());
3714 } 4274 }
3715 { 4275 {
3716 if ($current==null) { 4276 if ($current==null) {
3717 $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); 4277 $current = createModelElement(grammarAccess.getExactScopeRule());
3718 } 4278 }
3719 setWithLastConsumed( 4279 setWithLastConsumed(
3720 $current, 4280 $current,
3721 "exactScope", 4281 "size",
3722 lv_exactScope_3_0, 4282 lv_size_3_0,
3723 "org.eclipse.xtext.common.Terminals.INT"); 4283 "org.eclipse.xtext.common.Terminals.INT");
3724 } 4284 }
3725 ) 4285 )
3726 ) 4286 )
4287 this_FULL_STOP_4=RULE_FULL_STOP
4288 {
4289 newLeafNode(this_FULL_STOP_4, grammarAccess.getExactScopeAccess().getFULL_STOPTerminalRuleCall_4());
4290 }
3727 ) 4291 )
3728; 4292;
3729 4293
3730// Entry rule entryRuleBoundedScopeDefinition 4294// Entry rule entryRuleBoundedScope
3731entryRuleBoundedScopeDefinition returns [EObject current=null]: 4295entryRuleBoundedScope returns [EObject current=null]:
3732 { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } 4296 { newCompositeNode(grammarAccess.getBoundedScopeRule()); }
3733 iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition 4297 iv_ruleBoundedScope=ruleBoundedScope
3734 { $current=$iv_ruleBoundedScopeDefinition.current; } 4298 { $current=$iv_ruleBoundedScope.current; }
3735 EOF; 4299 EOF;
3736 4300
3737// Rule BoundedScopeDefinition 4301// Rule BoundedScope
3738ruleBoundedScopeDefinition returns [EObject current=null] 4302ruleBoundedScope returns [EObject current=null]
3739@init { 4303@init {
3740 enterRule(); 4304 enterRule();
3741} 4305}
@@ -3745,7 +4309,7 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3745 ( 4309 (
3746 otherlv_0=Scope 4310 otherlv_0=Scope
3747 { 4311 {
3748 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 4312 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeAccess().getScopeKeyword_0());
3749 } 4313 }
3750 ( 4314 (
3751 ( 4315 (
@@ -3754,11 +4318,11 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3754 ( 4318 (
3755 lv_lowerBound_1_0=RULE_INT 4319 lv_lowerBound_1_0=RULE_INT
3756 { 4320 {
3757 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 4321 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
3758 } 4322 }
3759 { 4323 {
3760 if ($current==null) { 4324 if ($current==null) {
3761 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4325 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3762 } 4326 }
3763 setWithLastConsumed( 4327 setWithLastConsumed(
3764 $current, 4328 $current,
@@ -3770,18 +4334,18 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3770 ) 4334 )
3771 otherlv_2=LessThanSignEqualsSign 4335 otherlv_2=LessThanSignEqualsSign
3772 { 4336 {
3773 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); 4337 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
3774 } 4338 }
3775 )? 4339 )?
3776 ( 4340 (
3777 ( 4341 (
3778 { 4342 {
3779 if ($current==null) { 4343 if ($current==null) {
3780 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4344 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3781 } 4345 }
3782 } 4346 }
3783 { 4347 {
3784 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 4348 newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_0_1_0());
3785 } 4349 }
3786 ruleQualifiedName 4350 ruleQualifiedName
3787 { 4351 {
@@ -3791,17 +4355,17 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3791 ) 4355 )
3792 otherlv_4=LessThanSignEqualsSign 4356 otherlv_4=LessThanSignEqualsSign
3793 { 4357 {
3794 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 4358 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_2());
3795 } 4359 }
3796 ( 4360 (
3797 ( 4361 (
3798 lv_upperBound_5_0=RULE_INT 4362 lv_upperBound_5_0=RULE_INT
3799 { 4363 {
3800 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); 4364 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
3801 } 4365 }
3802 { 4366 {
3803 if ($current==null) { 4367 if ($current==null) {
3804 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4368 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3805 } 4369 }
3806 setWithLastConsumed( 4370 setWithLastConsumed(
3807 $current, 4371 $current,
@@ -3818,11 +4382,11 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3818 ( 4382 (
3819 lv_upperBound_6_0=RULE_INT 4383 lv_upperBound_6_0=RULE_INT
3820 { 4384 {
3821 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 4385 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
3822 } 4386 }
3823 { 4387 {
3824 if ($current==null) { 4388 if ($current==null) {
3825 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4389 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3826 } 4390 }
3827 setWithLastConsumed( 4391 setWithLastConsumed(
3828 $current, 4392 $current,
@@ -3834,17 +4398,17 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3834 ) 4398 )
3835 otherlv_7=GreaterThanSignEqualsSign 4399 otherlv_7=GreaterThanSignEqualsSign
3836 { 4400 {
3837 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 4401 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
3838 } 4402 }
3839 ( 4403 (
3840 ( 4404 (
3841 { 4405 {
3842 if ($current==null) { 4406 if ($current==null) {
3843 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4407 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3844 } 4408 }
3845 } 4409 }
3846 { 4410 {
3847 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 4411 newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_1_2_0());
3848 } 4412 }
3849 ruleQualifiedName 4413 ruleQualifiedName
3850 { 4414 {
@@ -3855,17 +4419,17 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3855 ( 4419 (
3856 otherlv_9=GreaterThanSignEqualsSign 4420 otherlv_9=GreaterThanSignEqualsSign
3857 { 4421 {
3858 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 4422 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
3859 } 4423 }
3860 ( 4424 (
3861 ( 4425 (
3862 lv_lowerBound_10_0=RULE_INT 4426 lv_lowerBound_10_0=RULE_INT
3863 { 4427 {
3864 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); 4428 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
3865 } 4429 }
3866 { 4430 {
3867 if ($current==null) { 4431 if ($current==null) {
3868 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 4432 $current = createModelElement(grammarAccess.getBoundedScopeRule());
3869 } 4433 }
3870 setWithLastConsumed( 4434 setWithLastConsumed(
3871 $current, 4435 $current,
@@ -3878,18 +4442,22 @@ ruleBoundedScopeDefinition returns [EObject current=null]
3878 )? 4442 )?
3879 ) 4443 )
3880 ) 4444 )
4445 this_FULL_STOP_11=RULE_FULL_STOP
4446 {
4447 newLeafNode(this_FULL_STOP_11, grammarAccess.getBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2());
4448 }
3881 ) 4449 )
3882; 4450;
3883 4451
3884// Entry rule entryRuleLowerBoundedScopeDefinition 4452// Entry rule entryRuleLowerBoundedScope
3885entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: 4453entryRuleLowerBoundedScope returns [EObject current=null]:
3886 { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } 4454 { newCompositeNode(grammarAccess.getLowerBoundedScopeRule()); }
3887 iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition 4455 iv_ruleLowerBoundedScope=ruleLowerBoundedScope
3888 { $current=$iv_ruleLowerBoundedScopeDefinition.current; } 4456 { $current=$iv_ruleLowerBoundedScope.current; }
3889 EOF; 4457 EOF;
3890 4458
3891// Rule LowerBoundedScopeDefinition 4459// Rule LowerBoundedScope
3892ruleLowerBoundedScopeDefinition returns [EObject current=null] 4460ruleLowerBoundedScope returns [EObject current=null]
3893@init { 4461@init {
3894 enterRule(); 4462 enterRule();
3895} 4463}
@@ -3899,7 +4467,7 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3899 ( 4467 (
3900 otherlv_0=Scope 4468 otherlv_0=Scope
3901 { 4469 {
3902 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 4470 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeAccess().getScopeKeyword_0());
3903 } 4471 }
3904 ( 4472 (
3905 ( 4473 (
@@ -3907,11 +4475,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3907 ( 4475 (
3908 lv_lowerBound_1_0=RULE_INT 4476 lv_lowerBound_1_0=RULE_INT
3909 { 4477 {
3910 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 4478 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
3911 } 4479 }
3912 { 4480 {
3913 if ($current==null) { 4481 if ($current==null) {
3914 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 4482 $current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
3915 } 4483 }
3916 setWithLastConsumed( 4484 setWithLastConsumed(
3917 $current, 4485 $current,
@@ -3923,17 +4491,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3923 ) 4491 )
3924 otherlv_2=LessThanSignEqualsSign 4492 otherlv_2=LessThanSignEqualsSign
3925 { 4493 {
3926 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 4494 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_1());
3927 } 4495 }
3928 ( 4496 (
3929 ( 4497 (
3930 { 4498 {
3931 if ($current==null) { 4499 if ($current==null) {
3932 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 4500 $current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
3933 } 4501 }
3934 } 4502 }
3935 { 4503 {
3936 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); 4504 newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_0_2_0());
3937 } 4505 }
3938 ruleQualifiedName 4506 ruleQualifiedName
3939 { 4507 {
@@ -3948,11 +4516,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3948 ( 4516 (
3949 { 4517 {
3950 if ($current==null) { 4518 if ($current==null) {
3951 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 4519 $current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
3952 } 4520 }
3953 } 4521 }
3954 { 4522 {
3955 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 4523 newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_1_0_0());
3956 } 4524 }
3957 ruleQualifiedName 4525 ruleQualifiedName
3958 { 4526 {
@@ -3962,17 +4530,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3962 ) 4530 )
3963 otherlv_5=GreaterThanSignEqualsSign 4531 otherlv_5=GreaterThanSignEqualsSign
3964 { 4532 {
3965 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 4533 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
3966 } 4534 }
3967 ( 4535 (
3968 ( 4536 (
3969 lv_lowerBound_6_0=RULE_INT 4537 lv_lowerBound_6_0=RULE_INT
3970 { 4538 {
3971 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); 4539 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
3972 } 4540 }
3973 { 4541 {
3974 if ($current==null) { 4542 if ($current==null) {
3975 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 4543 $current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
3976 } 4544 }
3977 setWithLastConsumed( 4545 setWithLastConsumed(
3978 $current, 4546 $current,
@@ -3984,18 +4552,22 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null]
3984 ) 4552 )
3985 ) 4553 )
3986 ) 4554 )
4555 this_FULL_STOP_7=RULE_FULL_STOP
4556 {
4557 newLeafNode(this_FULL_STOP_7, grammarAccess.getLowerBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2());
4558 }
3987 ) 4559 )
3988; 4560;
3989 4561
3990// Entry rule entryRuleObjectiveDefinition 4562// Entry rule entryRuleObjectiveDeclaration
3991entryRuleObjectiveDefinition returns [EObject current=null]: 4563entryRuleObjectiveDeclaration returns [EObject current=null]:
3992 { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } 4564 { newCompositeNode(grammarAccess.getObjectiveDeclarationRule()); }
3993 iv_ruleObjectiveDefinition=ruleObjectiveDefinition 4565 iv_ruleObjectiveDeclaration=ruleObjectiveDeclaration
3994 { $current=$iv_ruleObjectiveDefinition.current; } 4566 { $current=$iv_ruleObjectiveDeclaration.current; }
3995 EOF; 4567 EOF;
3996 4568
3997// Rule ObjectiveDefinition 4569// Rule ObjectiveDeclaration
3998ruleObjectiveDefinition returns [EObject current=null] 4570ruleObjectiveDeclaration returns [EObject current=null]
3999@init { 4571@init {
4000 enterRule(); 4572 enterRule();
4001} 4573}
@@ -4006,12 +4578,12 @@ ruleObjectiveDefinition returns [EObject current=null]
4006 ( 4578 (
4007 ( 4579 (
4008 { 4580 {
4009 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 4581 newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0());
4010 } 4582 }
4011 lv_kind_0_0=ruleObjectiveKind 4583 lv_kind_0_0=ruleObjectiveKind
4012 { 4584 {
4013 if ($current==null) { 4585 if ($current==null) {
4014 $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); 4586 $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule());
4015 } 4587 }
4016 set( 4588 set(
4017 $current, 4589 $current,
@@ -4025,12 +4597,12 @@ ruleObjectiveDefinition returns [EObject current=null]
4025 ( 4597 (
4026 ( 4598 (
4027 { 4599 {
4028 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 4600 newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0());
4029 } 4601 }
4030 lv_objective_1_0=ruleExpression 4602 lv_objective_1_0=ruleExpression
4031 { 4603 {
4032 if ($current==null) { 4604 if ($current==null) {
4033 $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); 4605 $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule());
4034 } 4606 }
4035 set( 4607 set(
4036 $current, 4608 $current,
@@ -4041,6 +4613,10 @@ ruleObjectiveDefinition returns [EObject current=null]
4041 } 4613 }
4042 ) 4614 )
4043 ) 4615 )
4616 this_FULL_STOP_2=RULE_FULL_STOP
4617 {
4618 newLeafNode(this_FULL_STOP_2, grammarAccess.getObjectiveDeclarationAccess().getFULL_STOPTerminalRuleCall_2());
4619 }
4044 ) 4620 )
4045; 4621;
4046 4622
@@ -4105,26 +4681,64 @@ ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
4105 { 4681 {
4106 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 4682 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
4107 } 4683 }
4108 ( 4684 kw=FullStop
4109 kw=FullStop 4685 {
4110 { 4686 $current.merge(kw);
4111 $current.merge(kw); 4687 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1());
4112 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 4688 }
4113 } 4689 this_INT_2=RULE_INT
4114 this_INT_2=RULE_INT 4690 {
4115 { 4691 $current.merge(this_INT_2);
4116 $current.merge(this_INT_2); 4692 }
4117 } 4693 {
4118 { 4694 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_2());
4119 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); 4695 }
4120 }
4121 )?
4122 ) 4696 )
4123; 4697;
4124finally { 4698finally {
4125 myHiddenTokenState.restore(); 4699 myHiddenTokenState.restore();
4126} 4700}
4127 4701
4702// Entry rule entryRuleQualifiedNameSegment
4703entryRuleQualifiedNameSegment returns [String current=null]:
4704 { newCompositeNode(grammarAccess.getQualifiedNameSegmentRule()); }
4705 iv_ruleQualifiedNameSegment=ruleQualifiedNameSegment
4706 { $current=$iv_ruleQualifiedNameSegment.current.getText(); }
4707 EOF;
4708
4709// Rule QualifiedNameSegment
4710ruleQualifiedNameSegment returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
4711@init {
4712 enterRule();
4713}
4714@after {
4715 leaveRule();
4716}:
4717 (
4718 this_ID_0=RULE_ID
4719 {
4720 $current.merge(this_ID_0);
4721 }
4722 {
4723 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameSegmentAccess().getIDTerminalRuleCall_0());
4724 }
4725 |
4726 this_QUOTED_ID_1=RULE_QUOTED_ID
4727 {
4728 $current.merge(this_QUOTED_ID_1);
4729 }
4730 {
4731 newLeafNode(this_QUOTED_ID_1, grammarAccess.getQualifiedNameSegmentAccess().getQUOTED_IDTerminalRuleCall_1());
4732 }
4733 |
4734 kw=Object
4735 {
4736 $current.merge(kw);
4737 newLeafNode(kw, grammarAccess.getQualifiedNameSegmentAccess().getObjectKeyword_2());
4738 }
4739 )
4740;
4741
4128// Entry rule entryRuleQualifiedName 4742// Entry rule entryRuleQualifiedName
4129entryRuleQualifiedName returns [String current=null]@init { 4743entryRuleQualifiedName returns [String current=null]@init {
4130 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 4744 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
@@ -4147,45 +4761,41 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT
4147 leaveRule(); 4761 leaveRule();
4148}: 4762}:
4149 ( 4763 (
4764 {
4765 newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_0());
4766 }
4767 this_QualifiedNameSegment_0=ruleQualifiedNameSegment
4768 {
4769 $current.merge(this_QualifiedNameSegment_0);
4770 }
4771 {
4772 afterParserOrEnumRuleCall();
4773 }
4150 ( 4774 (
4151 this_ID_0=RULE_ID 4775 kw=ColonColon
4152 { 4776 {
4153 $current.merge(this_ID_0); 4777 $current.merge(kw);
4778 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0());
4154 } 4779 }
4155 { 4780 {
4156 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 4781 newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_1_1());
4157 } 4782 }
4158 ( 4783 this_QualifiedNameSegment_2=ruleQualifiedNameSegment
4159 kw=FullStop 4784 {
4160 { 4785 $current.merge(this_QualifiedNameSegment_2);
4161 $current.merge(kw); 4786 }
4162 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 4787 {
4163 } 4788 afterParserOrEnumRuleCall();
4164 this_ID_2=RULE_ID 4789 }
4165 { 4790 )*
4166 $current.merge(this_ID_2);
4167 }
4168 {
4169 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
4170 }
4171 )*
4172 )
4173 |
4174 this_QUOTED_ID_3=RULE_QUOTED_ID
4175 {
4176 $current.merge(this_QUOTED_ID_3);
4177 }
4178 {
4179 newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
4180 }
4181 ) 4791 )
4182; 4792;
4183finally { 4793finally {
4184 myHiddenTokenState.restore(); 4794 myHiddenTokenState.restore();
4185} 4795}
4186 4796
4187// Rule ImplicationOperator 4797// Rule AttributeKind
4188ruleImplicationOperator returns [Enumerator current=null] 4798ruleAttributeKind returns [Enumerator current=null]
4189@init { 4799@init {
4190 enterRule(); 4800 enterRule();
4191} 4801}
@@ -4193,11 +4803,37 @@ ruleImplicationOperator returns [Enumerator current=null]
4193 leaveRule(); 4803 leaveRule();
4194}: 4804}:
4195 ( 4805 (
4196 enumLiteral_0=EqualsSignGreaterThanSign 4806 (
4197 { 4807 enumLiteral_0=Functional
4198 $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); 4808 {
4199 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); 4809 $current = grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4200 } 4810 newLeafNode(enumLiteral_0, grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0());
4811 }
4812 )
4813 |
4814 (
4815 enumLiteral_1=Error
4816 {
4817 $current = grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4818 newLeafNode(enumLiteral_1, grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1());
4819 }
4820 )
4821 |
4822 (
4823 enumLiteral_2=Root
4824 {
4825 $current = grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
4826 newLeafNode(enumLiteral_2, grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2());
4827 }
4828 )
4829 |
4830 (
4831 enumLiteral_3=Containment
4832 {
4833 $current = grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
4834 newLeafNode(enumLiteral_3, grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3());
4835 }
4836 )
4201 ) 4837 )
4202; 4838;
4203 4839
@@ -4213,16 +4849,16 @@ ruleComparisonOperator returns [Enumerator current=null]
4213 ( 4849 (
4214 enumLiteral_0=EqualsSignEqualsSign 4850 enumLiteral_0=EqualsSignEqualsSign
4215 { 4851 {
4216 $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4852 $current = grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4217 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); 4853 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0());
4218 } 4854 }
4219 ) 4855 )
4220 | 4856 |
4221 ( 4857 (
4222 enumLiteral_1=ExclamationMarkEqualsSign 4858 enumLiteral_1=ExclamationMarkEqualsSign
4223 { 4859 {
4224 $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4860 $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4225 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); 4861 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1());
4226 } 4862 }
4227 ) 4863 )
4228 | 4864 |
@@ -4237,8 +4873,8 @@ ruleComparisonOperator returns [Enumerator current=null]
4237 ( 4873 (
4238 enumLiteral_3=LessThanSignEqualsSign 4874 enumLiteral_3=LessThanSignEqualsSign
4239 { 4875 {
4240 $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 4876 $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
4241 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); 4877 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3());
4242 } 4878 }
4243 ) 4879 )
4244 | 4880 |
@@ -4253,8 +4889,8 @@ ruleComparisonOperator returns [Enumerator current=null]
4253 ( 4889 (
4254 enumLiteral_5=GreaterThanSignEqualsSign 4890 enumLiteral_5=GreaterThanSignEqualsSign
4255 { 4891 {
4256 $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 4892 $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
4257 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); 4893 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5());
4258 } 4894 }
4259 ) 4895 )
4260 | 4896 |
@@ -4280,16 +4916,16 @@ ruleAdditiveBinaryOperator returns [Enumerator current=null]
4280 ( 4916 (
4281 enumLiteral_0=PlusSign 4917 enumLiteral_0=PlusSign
4282 { 4918 {
4283 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4919 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4284 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); 4920 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0());
4285 } 4921 }
4286 ) 4922 )
4287 | 4923 |
4288 ( 4924 (
4289 enumLiteral_1=HyphenMinus 4925 enumLiteral_1=HyphenMinus
4290 { 4926 {
4291 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4927 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4292 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); 4928 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1());
4293 } 4929 }
4294 ) 4930 )
4295 ) 4931 )
@@ -4307,16 +4943,16 @@ ruleMultiplicativeBinaryOperator returns [Enumerator current=null]
4307 ( 4943 (
4308 enumLiteral_0=Asterisk 4944 enumLiteral_0=Asterisk
4309 { 4945 {
4310 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4946 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4311 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); 4947 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0());
4312 } 4948 }
4313 ) 4949 )
4314 | 4950 |
4315 ( 4951 (
4316 enumLiteral_1=Solidus 4952 enumLiteral_1=Solidus
4317 { 4953 {
4318 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4954 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4319 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); 4955 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1());
4320 } 4956 }
4321 ) 4957 )
4322 ) 4958 )
@@ -4339,8 +4975,8 @@ ruleExponentialOp returns [Enumerator current=null]
4339 ) 4975 )
4340; 4976;
4341 4977
4342// Rule UnaryOp 4978// Rule UnaryOperator
4343ruleUnaryOp returns [Enumerator current=null] 4979ruleUnaryOperator returns [Enumerator current=null]
4344@init { 4980@init {
4345 enterRule(); 4981 enterRule();
4346} 4982}
@@ -4351,83 +4987,32 @@ ruleUnaryOp returns [Enumerator current=null]
4351 ( 4987 (
4352 enumLiteral_0=ExclamationMark 4988 enumLiteral_0=ExclamationMark
4353 { 4989 {
4354 $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4990 $current = grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4355 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); 4991 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0());
4356 } 4992 }
4357 ) 4993 )
4358 | 4994 |
4359 ( 4995 (
4360 enumLiteral_1=PlusSign 4996 enumLiteral_1=PlusSign
4361 { 4997 {
4362 $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4998 $current = grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4363 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); 4999 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1());
4364 } 5000 }
4365 ) 5001 )
4366 | 5002 |
4367 ( 5003 (
4368 enumLiteral_2=HyphenMinus 5004 enumLiteral_2=HyphenMinus
4369 { 5005 {
4370 $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 5006 $current = grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
4371 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); 5007 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2());
4372 }
4373 )
4374 |
4375 (
4376 enumLiteral_3=May
4377 {
4378 $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
4379 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
4380 }
4381 )
4382 |
4383 (
4384 enumLiteral_4=Must
4385 {
4386 $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
4387 newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
4388 }
4389 )
4390 |
4391 (
4392 enumLiteral_5=Current
4393 {
4394 $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
4395 newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
4396 }
4397 )
4398 )
4399;
4400
4401// Rule Quantifier
4402ruleQuantifier returns [Enumerator current=null]
4403@init {
4404 enterRule();
4405}
4406@after {
4407 leaveRule();
4408}:
4409 (
4410 (
4411 enumLiteral_0=Exists
4412 {
4413 $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4414 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
4415 }
4416 )
4417 |
4418 (
4419 enumLiteral_1=Forall
4420 {
4421 $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4422 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
4423 } 5008 }
4424 ) 5009 )
4425 | 5010 |
4426 ( 5011 (
4427 enumLiteral_2=Count 5012 enumLiteral_3=QuestionMark
4428 { 5013 {
4429 $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 5014 $current = grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
4430 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); 5015 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3());
4431 } 5016 }
4432 ) 5017 )
4433 ) 5018 )
@@ -4488,16 +5073,16 @@ ruleObjectiveKind returns [Enumerator current=null]
4488 ( 5073 (
4489 enumLiteral_0=Minimize 5074 enumLiteral_0=Minimize
4490 { 5075 {
4491 $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 5076 $current = grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4492 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); 5077 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0());
4493 } 5078 }
4494 ) 5079 )
4495 | 5080 |
4496 ( 5081 (
4497 enumLiteral_1=Maximize 5082 enumLiteral_1=Maximize
4498 { 5083 {
4499 $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 5084 $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4500 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); 5085 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1());
4501 } 5086 }
4502 ) 5087 )
4503 ) 5088 )
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 3e25746c..37223f5c 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,79 +22,84 @@ 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>", "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" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Containment", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Default", "Extends", "Problem", "Unknown", "Extern", "Import", "Object", "Refers", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Enum", "Root", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "ColonHyphenMinus", "ColonColon", "ColonEqualsSign", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "QuestionMark", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "Tilde", "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 EqualsSignGreaterThanSign=38; 27 public static final int Enum=27;
28 public static final int True=27; 28 public static final int Import=17;
29 public static final int Count=19; 29 public static final int EqualsSignGreaterThanSign=41;
30 public static final int False=22; 30 public static final int True=30;
31 public static final int Must=25; 31 public static final int Count=21;
32 public static final int FullStopFullStopFullStop=28; 32 public static final int False=24;
33 public static final int LessThanSign=54; 33 public static final int FullStopFullStopFullStop=31;
34 public static final int Datatype=7; 34 public static final int LessThanSign=57;
35 public static final int LeftParenthesis=44; 35 public static final int Datatype=8;
36 public static final int Unknown=14; 36 public static final int LeftParenthesis=47;
37 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67; 37 public static final int Unknown=15;
38 public static final int FullStopFullStop=34; 38 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72;
39 public static final int Then=26; 39 public static final int Then=29;
40 public static final int Extends=13; 40 public static final int Extends=13;
41 public static final int Forall=17; 41 public static final int RightSquareBracket=62;
42 public static final int RightSquareBracket=58; 42 public static final int ExclamationMark=46;
43 public static final int ExclamationMark=43; 43 public static final int Opposite=11;
44 public static final int Opposite=10; 44 public static final int GreaterThanSign=59;
45 public static final int GreaterThanSign=56; 45 public static final int Root=28;
46 public static final int RULE_ID=69; 46 public static final int RULE_ID=74;
47 public static final int RULE_QUOTED_ID=64; 47 public static final int RULE_QUOTED_ID=69;
48 public static final int RightParenthesis=45; 48 public static final int RightParenthesis=48;
49 public static final int GreaterThanSignEqualsSign=39; 49 public static final int ColonEqualsSign=38;
50 public static final int Functional=4; 50 public static final int GreaterThanSignEqualsSign=42;
51 public static final int EqualsSignEqualsSign=37; 51 public static final int Functional=5;
52 public static final int VerticalLine=61; 52 public static final int ColonColon=37;
53 public static final int PlusSign=47; 53 public static final int EqualsSignEqualsSign=40;
54 public static final int RULE_INT=70; 54 public static final int VerticalLine=65;
55 public static final int Contains=6; 55 public static final int PlusSign=50;
56 public static final int RULE_ML_COMMENT=71; 56 public static final int RULE_INT=75;
57 public static final int RULE_TRANSITIVE_CLOSURE=66; 57 public static final int Contains=7;
58 public static final int Class=18; 58 public static final int RULE_ML_COMMENT=76;
59 public static final int LeftSquareBracket=57; 59 public static final int RULE_TRANSITIVE_CLOSURE=71;
60 public static final int RULE_FULL_STOP=68; 60 public static final int Problem=14;
61 public static final int Current=11; 61 public static final int Object=18;
62 public static final int If=41; 62 public static final int Class=20;
63 public static final int Inf=29; 63 public static final int LeftSquareBracket=61;
64 public static final int May=31; 64 public static final int RULE_FULL_STOP=73;
65 public static final int In=42; 65 public static final int If=44;
66 public static final int RULE_STRING=63; 66 public static final int Refers=19;
67 public static final int Inf=32;
68 public static final int In=45;
69 public static final int RULE_STRING=68;
67 public static final int Extern=16; 70 public static final int Extern=16;
68 public static final int RULE_SL_COMMENT=65; 71 public static final int RULE_SL_COMMENT=70;
69 public static final int Comma=48; 72 public static final int Comma=51;
70 public static final int EqualsSign=55; 73 public static final int EqualsSign=58;
71 public static final int Empty=20; 74 public static final int Empty=22;
72 public static final int As=40; 75 public static final int As=43;
73 public static final int HyphenMinus=49; 76 public static final int HyphenMinus=52;
74 public static final int Maximize=8; 77 public static final int Maximize=9;
75 public static final int LessThanSignEqualsSign=36; 78 public static final int LessThanSignEqualsSign=39;
76 public static final int Solidus=51; 79 public static final int Solidus=54;
77 public static final int Colon=52; 80 public static final int Colon=55;
78 public static final int RightCurlyBracket=62; 81 public static final int RightCurlyBracket=66;
79 public static final int EOF=-1; 82 public static final int EOF=-1;
80 public static final int Asterisk=46; 83 public static final int Asterisk=49;
81 public static final int FullStop=50; 84 public static final int Containment=4;
82 public static final int RULE_WS=72; 85 public static final int FullStop=53;
83 public static final int Abstract=5; 86 public static final int RULE_WS=77;
84 public static final int Minimize=9; 87 public static final int Abstract=6;
85 public static final int LeftCurlyBracket=60; 88 public static final int Minimize=10;
86 public static final int Error=21; 89 public static final int LeftCurlyBracket=64;
87 public static final int RULE_ANY_OTHER=73; 90 public static final int Error=23;
91 public static final int Tilde=67;
92 public static final int RULE_ANY_OTHER=78;
88 public static final int Default=12; 93 public static final int Default=12;
89 public static final int ColonHyphenMinus=35; 94 public static final int ColonHyphenMinus=36;
90 public static final int CircumflexAccent=59; 95 public static final int CircumflexAccent=63;
91 public static final int Semicolon=53; 96 public static final int Semicolon=56;
92 public static final int Scope=23; 97 public static final int Scope=25;
93 public static final int Exists=15; 98 public static final int QuestionMark=60;
94 public static final int Else=24; 99 public static final int Else=26;
95 public static final int Let=30; 100 public static final int Let=33;
96 public static final int ExclamationMarkEqualsSign=32; 101 public static final int ExclamationMarkEqualsSign=34;
97 public static final int HyphenMinusGreaterThanSign=33; 102 public static final int HyphenMinusGreaterThanSign=35;
98 103
99 // delegates 104 // delegates
100 // delegators 105 // delegators
@@ -172,57 +177,122 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
172 177
173 178
174 // $ANTLR start "ruleProblem" 179 // $ANTLR start "ruleProblem"
175 // InternalSolverLanguageParser.g:65:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; 180 // InternalSolverLanguageParser.g:65:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) ;
176 public final EObject ruleProblem() throws RecognitionException { 181 public final EObject ruleProblem() throws RecognitionException {
177 EObject current = null; 182 EObject current = null;
178 183
179 EObject lv_statements_0_0 = null; 184 Token otherlv_0=null;
185 Token this_FULL_STOP_2=null;
186 AntlrDatatypeRuleToken lv_name_1_0 = null;
187
188 EObject lv_imports_3_0 = null;
189
190 EObject lv_statements_4_0 = null;
180 191
181 192
182 193
183 enterRule(); 194 enterRule();
184 195
185 try { 196 try {
186 // InternalSolverLanguageParser.g:71:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) 197 // InternalSolverLanguageParser.g:71:2: ( ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) )
187 // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* 198 // InternalSolverLanguageParser.g:72:2: ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* )
199 {
200 // InternalSolverLanguageParser.g:72:2: ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* )
201 // InternalSolverLanguageParser.g:73:3: (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )*
188 { 202 {
189 // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* 203 // InternalSolverLanguageParser.g:73:3: (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )?
190 loop1: 204 int alt1=2;
205 int LA1_0 = input.LA(1);
206
207 if ( (LA1_0==Problem) ) {
208 alt1=1;
209 }
210 switch (alt1) {
211 case 1 :
212 // InternalSolverLanguageParser.g:74:4: otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP
213 {
214 otherlv_0=(Token)match(input,Problem,FOLLOW_3);
215
216 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
217
218 // InternalSolverLanguageParser.g:78:4: ( (lv_name_1_0= ruleQualifiedName ) )
219 // InternalSolverLanguageParser.g:79:5: (lv_name_1_0= ruleQualifiedName )
220 {
221 // InternalSolverLanguageParser.g:79:5: (lv_name_1_0= ruleQualifiedName )
222 // InternalSolverLanguageParser.g:80:6: lv_name_1_0= ruleQualifiedName
223 {
224
225 newCompositeNode(grammarAccess.getProblemAccess().getNameQualifiedNameParserRuleCall_0_1_0());
226
227 pushFollow(FOLLOW_4);
228 lv_name_1_0=ruleQualifiedName();
229
230 state._fsp--;
231
232
233 if (current==null) {
234 current = createModelElementForParent(grammarAccess.getProblemRule());
235 }
236 set(
237 current,
238 "name",
239 lv_name_1_0,
240 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
241 afterParserOrEnumRuleCall();
242
243
244 }
245
246
247 }
248
249 this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_5);
250
251 newLeafNode(this_FULL_STOP_2, grammarAccess.getProblemAccess().getFULL_STOPTerminalRuleCall_0_2());
252
253
254 }
255 break;
256
257 }
258
259 // InternalSolverLanguageParser.g:102:3: ( (lv_imports_3_0= ruleImport ) )*
260 loop2:
191 do { 261 do {
192 int alt1=2; 262 int alt2=2;
193 int LA1_0 = input.LA(1); 263 int LA2_0 = input.LA(1);
194 264
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)) ) { 265 if ( (LA2_0==Import) ) {
196 alt1=1; 266 alt2=1;
197 } 267 }
198 268
199 269
200 switch (alt1) { 270 switch (alt2) {
201 case 1 : 271 case 1 :
202 // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) 272 // InternalSolverLanguageParser.g:103:4: (lv_imports_3_0= ruleImport )
203 { 273 {
204 // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) 274 // InternalSolverLanguageParser.g:103:4: (lv_imports_3_0= ruleImport )
205 // InternalSolverLanguageParser.g:74:4: lv_statements_0_0= ruleStatement 275 // InternalSolverLanguageParser.g:104:5: lv_imports_3_0= ruleImport
206 { 276 {
207 277
208 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 278 newCompositeNode(grammarAccess.getProblemAccess().getImportsImportParserRuleCall_1_0());
209 279
210 pushFollow(FOLLOW_3); 280 pushFollow(FOLLOW_5);
211 lv_statements_0_0=ruleStatement(); 281 lv_imports_3_0=ruleImport();
212 282
213 state._fsp--; 283 state._fsp--;
214 284
215 285
216 if (current==null) { 286 if (current==null) {
217 current = createModelElementForParent(grammarAccess.getProblemRule()); 287 current = createModelElementForParent(grammarAccess.getProblemRule());
218 } 288 }
219 add( 289 add(
220 current, 290 current,
221 "statements", 291 "imports",
222 lv_statements_0_0, 292 lv_imports_3_0,
223 "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 293 "org.eclipse.viatra.solver.language.SolverLanguage.Import");
224 afterParserOrEnumRuleCall(); 294 afterParserOrEnumRuleCall();
225 295
226 296
227 } 297 }
228 298
@@ -231,7 +301,56 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
231 break; 301 break;
232 302
233 default : 303 default :
234 break loop1; 304 break loop2;
305 }
306 } while (true);
307
308 // InternalSolverLanguageParser.g:121:3: ( (lv_statements_4_0= ruleStatement ) )*
309 loop3:
310 do {
311 int alt3=2;
312 int LA3_0 = input.LA(1);
313
314 if ( ((LA3_0>=Containment && LA3_0<=Abstract)||(LA3_0>=Maximize && LA3_0<=Minimize)||LA3_0==Default||(LA3_0>=Unknown && LA3_0<=Extern)||LA3_0==Object||(LA3_0>=Class && LA3_0<=Scope)||(LA3_0>=Enum && LA3_0<=Root)||LA3_0==True||(LA3_0>=Inf && LA3_0<=Let)||LA3_0==If||(LA3_0>=ExclamationMark && LA3_0<=LeftParenthesis)||LA3_0==PlusSign||LA3_0==HyphenMinus||(LA3_0>=QuestionMark && LA3_0<=LeftSquareBracket)||(LA3_0>=Tilde && LA3_0<=RULE_QUOTED_ID)||(LA3_0>=RULE_ID && LA3_0<=RULE_INT)) ) {
315 alt3=1;
316 }
317
318
319 switch (alt3) {
320 case 1 :
321 // InternalSolverLanguageParser.g:122:4: (lv_statements_4_0= ruleStatement )
322 {
323 // InternalSolverLanguageParser.g:122:4: (lv_statements_4_0= ruleStatement )
324 // InternalSolverLanguageParser.g:123:5: lv_statements_4_0= ruleStatement
325 {
326
327 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_2_0());
328
329 pushFollow(FOLLOW_6);
330 lv_statements_4_0=ruleStatement();
331
332 state._fsp--;
333
334
335 if (current==null) {
336 current = createModelElementForParent(grammarAccess.getProblemRule());
337 }
338 add(
339 current,
340 "statements",
341 lv_statements_4_0,
342 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
343 afterParserOrEnumRuleCall();
344
345
346 }
347
348
349 }
350 break;
351
352 default :
353 break loop3;
235 } 354 }
236 } while (true); 355 } while (true);
237 356
@@ -239,6 +358,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
239 } 358 }
240 359
241 360
361 }
362
363
242 leaveRule(); 364 leaveRule();
243 365
244 } 366 }
@@ -255,7 +377,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
255 377
256 378
257 // $ANTLR start "entryRuleStatement" 379 // $ANTLR start "entryRuleStatement"
258 // InternalSolverLanguageParser.g:94:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 380 // InternalSolverLanguageParser.g:144:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
259 public final EObject entryRuleStatement() throws RecognitionException { 381 public final EObject entryRuleStatement() throws RecognitionException {
260 EObject current = null; 382 EObject current = null;
261 383
@@ -263,8 +385,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
263 385
264 386
265 try { 387 try {
266 // InternalSolverLanguageParser.g:94:50: (iv_ruleStatement= ruleStatement EOF ) 388 // InternalSolverLanguageParser.g:144:50: (iv_ruleStatement= ruleStatement EOF )
267 // InternalSolverLanguageParser.g:95:2: iv_ruleStatement= ruleStatement EOF 389 // InternalSolverLanguageParser.g:145:2: iv_ruleStatement= ruleStatement EOF
268 { 390 {
269 newCompositeNode(grammarAccess.getStatementRule()); 391 newCompositeNode(grammarAccess.getStatementRule());
270 pushFollow(FOLLOW_1); 392 pushFollow(FOLLOW_1);
@@ -291,272 +413,534 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
291 413
292 414
293 // $ANTLR start "ruleStatement" 415 // $ANTLR start "ruleStatement"
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 ) ; 416 // InternalSolverLanguageParser.g:151:1: ruleStatement returns [EObject current=null] : (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) ;
295 public final EObject ruleStatement() throws RecognitionException { 417 public final EObject ruleStatement() throws RecognitionException {
296 EObject current = null; 418 EObject current = null;
297 419
298 Token this_FULL_STOP_12=null;
299 EObject this_AssertionOrDefinition_0 = null; 420 EObject this_AssertionOrDefinition_0 = null;
300 421
301 EObject this_PredicateDefinition_1 = null; 422 EObject this_PredicateDefinition_1 = null;
302 423
303 EObject this_UnnamedErrorPrediateDefinition_2 = null; 424 EObject this_UnnamedErrorPredicateDefintion_2 = null;
304
305 EObject this_DefaultDefinition_3 = null;
306 425
307 EObject this_MetricDefinition_4 = null; 426 EObject this_DefaultAssertion_3 = null;
308 427
309 EObject this_ExternPredicateDefinition_5 = null; 428 EObject this_FunctionDefinition_4 = null;
310 429
311 EObject this_ExternMetricDefinition_6 = null; 430 EObject this_Attribute_5 = null;
312 431
313 EObject this_ExternAggregatorDefinition_7 = null; 432 EObject this_ExternDeclaration_6 = null;
314 433
315 EObject this_ExternDatatypeDefinition_8 = null; 434 EObject this_ScopeDeclaration_7 = null;
316 435
317 EObject this_ClassDefinition_9 = null; 436 EObject this_ObjectiveDeclaration_8 = null;
318 437
319 EObject this_ScopeDefinition_10 = null; 438 EObject this_ClassDeclaration_9 = null;
320 439
321 EObject this_ObjectiveDefinition_11 = null; 440 EObject this_EnumDeclaration_10 = null;
322 441
323 442
324 443
325 enterRule(); 444 enterRule();
326 445
327 try { 446 try {
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 ) ) 447 // InternalSolverLanguageParser.g:157:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) )
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 ) 448 // InternalSolverLanguageParser.g:158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration )
330 {
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 )
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
333 { 449 {
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 ) 450 // InternalSolverLanguageParser.g:158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration )
335 int alt2=12; 451 int alt4=11;
336 alt2 = dfa2.predict(input); 452 alt4 = dfa4.predict(input);
337 switch (alt2) { 453 switch (alt4) {
338 case 1 : 454 case 1 :
339 // InternalSolverLanguageParser.g:110:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition 455 // InternalSolverLanguageParser.g:159:3: this_AssertionOrDefinition_0= ruleAssertionOrDefinition
340 { 456 {
341 457
342 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); 458 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0());
343 459
344 pushFollow(FOLLOW_4); 460 pushFollow(FOLLOW_2);
345 this_AssertionOrDefinition_0=ruleAssertionOrDefinition(); 461 this_AssertionOrDefinition_0=ruleAssertionOrDefinition();
346 462
347 state._fsp--; 463 state._fsp--;
348 464
349 465
350 current = this_AssertionOrDefinition_0; 466 current = this_AssertionOrDefinition_0;
351 afterParserOrEnumRuleCall(); 467 afterParserOrEnumRuleCall();
352 468
353 469
354 } 470 }
355 break; 471 break;
356 case 2 : 472 case 2 :
357 // InternalSolverLanguageParser.g:119:4: this_PredicateDefinition_1= rulePredicateDefinition 473 // InternalSolverLanguageParser.g:168:3: this_PredicateDefinition_1= rulePredicateDefinition
358 { 474 {
359 475
360 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); 476 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1());
361 477
362 pushFollow(FOLLOW_4); 478 pushFollow(FOLLOW_2);
363 this_PredicateDefinition_1=rulePredicateDefinition(); 479 this_PredicateDefinition_1=rulePredicateDefinition();
364 480
365 state._fsp--; 481 state._fsp--;
366 482
367 483
368 current = this_PredicateDefinition_1; 484 current = this_PredicateDefinition_1;
369 afterParserOrEnumRuleCall(); 485 afterParserOrEnumRuleCall();
370 486
371 487
372 } 488 }
373 break; 489 break;
374 case 3 : 490 case 3 :
375 // InternalSolverLanguageParser.g:128:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition 491 // InternalSolverLanguageParser.g:177:3: this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion
376 { 492 {
377 493
378 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); 494 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPredicateDefintionParserRuleCall_2());
379 495
380 pushFollow(FOLLOW_4); 496 pushFollow(FOLLOW_2);
381 this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition(); 497 this_UnnamedErrorPredicateDefintion_2=ruleUnnamedErrorPredicateDefintion();
382 498
383 state._fsp--; 499 state._fsp--;
384 500
385 501
386 current = this_UnnamedErrorPrediateDefinition_2; 502 current = this_UnnamedErrorPredicateDefintion_2;
387 afterParserOrEnumRuleCall(); 503 afterParserOrEnumRuleCall();
388 504
389 505
390 } 506 }
391 break; 507 break;
392 case 4 : 508 case 4 :
393 // InternalSolverLanguageParser.g:137:4: this_DefaultDefinition_3= ruleDefaultDefinition 509 // InternalSolverLanguageParser.g:186:3: this_DefaultAssertion_3= ruleDefaultAssertion
394 { 510 {
395 511
396 newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); 512 newCompositeNode(grammarAccess.getStatementAccess().getDefaultAssertionParserRuleCall_3());
397 513
398 pushFollow(FOLLOW_4); 514 pushFollow(FOLLOW_2);
399 this_DefaultDefinition_3=ruleDefaultDefinition(); 515 this_DefaultAssertion_3=ruleDefaultAssertion();
400 516
401 state._fsp--; 517 state._fsp--;
402 518
403 519
404 current = this_DefaultDefinition_3; 520 current = this_DefaultAssertion_3;
405 afterParserOrEnumRuleCall(); 521 afterParserOrEnumRuleCall();
406 522
407 523
408 } 524 }
409 break; 525 break;
410 case 5 : 526 case 5 :
411 // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition 527 // InternalSolverLanguageParser.g:195:3: this_FunctionDefinition_4= ruleFunctionDefinition
412 { 528 {
413 529
414 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); 530 newCompositeNode(grammarAccess.getStatementAccess().getFunctionDefinitionParserRuleCall_4());
415 531
416 pushFollow(FOLLOW_4); 532 pushFollow(FOLLOW_2);
417 this_MetricDefinition_4=ruleMetricDefinition(); 533 this_FunctionDefinition_4=ruleFunctionDefinition();
418 534
419 state._fsp--; 535 state._fsp--;
420 536
421 537
422 current = this_MetricDefinition_4; 538 current = this_FunctionDefinition_4;
423 afterParserOrEnumRuleCall(); 539 afterParserOrEnumRuleCall();
424 540
425 541
426 } 542 }
427 break; 543 break;
428 case 6 : 544 case 6 :
429 // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition 545 // InternalSolverLanguageParser.g:204:3: this_Attribute_5= ruleAttribute
430 { 546 {
431 547
432 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); 548 newCompositeNode(grammarAccess.getStatementAccess().getAttributeParserRuleCall_5());
433 549
434 pushFollow(FOLLOW_4); 550 pushFollow(FOLLOW_2);
435 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition(); 551 this_Attribute_5=ruleAttribute();
436 552
437 state._fsp--; 553 state._fsp--;
438 554
439 555
440 current = this_ExternPredicateDefinition_5; 556 current = this_Attribute_5;
441 afterParserOrEnumRuleCall(); 557 afterParserOrEnumRuleCall();
442 558
443 559
444 } 560 }
445 break; 561 break;
446 case 7 : 562 case 7 :
447 // InternalSolverLanguageParser.g:164:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition 563 // InternalSolverLanguageParser.g:213:3: this_ExternDeclaration_6= ruleExternDeclaration
448 { 564 {
449 565
450 newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); 566 newCompositeNode(grammarAccess.getStatementAccess().getExternDeclarationParserRuleCall_6());
451 567
452 pushFollow(FOLLOW_4); 568 pushFollow(FOLLOW_2);
453 this_ExternMetricDefinition_6=ruleExternMetricDefinition(); 569 this_ExternDeclaration_6=ruleExternDeclaration();
454 570
455 state._fsp--; 571 state._fsp--;
456 572
457 573
458 current = this_ExternMetricDefinition_6; 574 current = this_ExternDeclaration_6;
459 afterParserOrEnumRuleCall(); 575 afterParserOrEnumRuleCall();
460 576
461 577
462 } 578 }
463 break; 579 break;
464 case 8 : 580 case 8 :
465 // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition 581 // InternalSolverLanguageParser.g:222:3: this_ScopeDeclaration_7= ruleScopeDeclaration
466 { 582 {
467 583
468 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); 584 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_7());
469 585
470 pushFollow(FOLLOW_4); 586 pushFollow(FOLLOW_2);
471 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition(); 587 this_ScopeDeclaration_7=ruleScopeDeclaration();
472 588
473 state._fsp--; 589 state._fsp--;
474 590
475 591
476 current = this_ExternAggregatorDefinition_7; 592 current = this_ScopeDeclaration_7;
477 afterParserOrEnumRuleCall(); 593 afterParserOrEnumRuleCall();
478 594
479 595
480 } 596 }
481 break; 597 break;
482 case 9 : 598 case 9 :
483 // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition 599 // InternalSolverLanguageParser.g:231:3: this_ObjectiveDeclaration_8= ruleObjectiveDeclaration
484 { 600 {
485 601
486 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); 602 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDeclarationParserRuleCall_8());
487 603
488 pushFollow(FOLLOW_4); 604 pushFollow(FOLLOW_2);
489 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition(); 605 this_ObjectiveDeclaration_8=ruleObjectiveDeclaration();
490 606
491 state._fsp--; 607 state._fsp--;
492 608
493 609
494 current = this_ExternDatatypeDefinition_8; 610 current = this_ObjectiveDeclaration_8;
495 afterParserOrEnumRuleCall(); 611 afterParserOrEnumRuleCall();
496 612
497 613
498 } 614 }
499 break; 615 break;
500 case 10 : 616 case 10 :
501 // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition 617 // InternalSolverLanguageParser.g:240:3: this_ClassDeclaration_9= ruleClassDeclaration
502 { 618 {
503 619
504 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); 620 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_9());
505 621
506 pushFollow(FOLLOW_4); 622 pushFollow(FOLLOW_2);
507 this_ClassDefinition_9=ruleClassDefinition(); 623 this_ClassDeclaration_9=ruleClassDeclaration();
508 624
509 state._fsp--; 625 state._fsp--;
510 626
511 627
512 current = this_ClassDefinition_9; 628 current = this_ClassDeclaration_9;
513 afterParserOrEnumRuleCall(); 629 afterParserOrEnumRuleCall();
514 630
515 631
516 } 632 }
517 break; 633 break;
518 case 11 : 634 case 11 :
519 // InternalSolverLanguageParser.g:200:4: this_ScopeDefinition_10= ruleScopeDefinition 635 // InternalSolverLanguageParser.g:249:3: this_EnumDeclaration_10= ruleEnumDeclaration
520 { 636 {
521 637
522 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); 638 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_10());
523 639
524 pushFollow(FOLLOW_4); 640 pushFollow(FOLLOW_2);
525 this_ScopeDefinition_10=ruleScopeDefinition(); 641 this_EnumDeclaration_10=ruleEnumDeclaration();
526 642
527 state._fsp--; 643 state._fsp--;
528 644
529 645
530 current = this_ScopeDefinition_10; 646 current = this_EnumDeclaration_10;
531 afterParserOrEnumRuleCall(); 647 afterParserOrEnumRuleCall();
532 648
533 649
534 } 650 }
535 break; 651 break;
536 case 12 : 652
537 // InternalSolverLanguageParser.g:209:4: this_ObjectiveDefinition_11= ruleObjectiveDefinition 653 }
654
655
656 }
657
658
659 leaveRule();
660
661 }
662
663 catch (RecognitionException re) {
664 recover(input,re);
665 appendSkippedTokens();
666 }
667 finally {
668 }
669 return current;
670 }
671 // $ANTLR end "ruleStatement"
672
673
674 // $ANTLR start "entryRuleImport"
675 // InternalSolverLanguageParser.g:261:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
676 public final EObject entryRuleImport() throws RecognitionException {
677 EObject current = null;
678
679 EObject iv_ruleImport = null;
680
681
682 try {
683 // InternalSolverLanguageParser.g:261:47: (iv_ruleImport= ruleImport EOF )
684 // InternalSolverLanguageParser.g:262:2: iv_ruleImport= ruleImport EOF
685 {
686 newCompositeNode(grammarAccess.getImportRule());
687 pushFollow(FOLLOW_1);
688 iv_ruleImport=ruleImport();
689
690 state._fsp--;
691
692 current =iv_ruleImport;
693 match(input,EOF,FOLLOW_2);
694
695 }
696
697 }
698
699 catch (RecognitionException re) {
700 recover(input,re);
701 appendSkippedTokens();
702 }
703 finally {
704 }
705 return current;
706 }
707 // $ANTLR end "entryRuleImport"
708
709
710 // $ANTLR start "ruleImport"
711 // InternalSolverLanguageParser.g:268:1: ruleImport returns [EObject current=null] : (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) ;
712 public final EObject ruleImport() throws RecognitionException {
713 EObject current = null;
714
715 EObject this_UriImport_0 = null;
716
717 EObject this_NamespaceImport_1 = null;
718
719
720
721 enterRule();
722
723 try {
724 // InternalSolverLanguageParser.g:274:2: ( (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) )
725 // InternalSolverLanguageParser.g:275:2: (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport )
726 {
727 // InternalSolverLanguageParser.g:275:2: (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport )
728 int alt5=2;
729 int LA5_0 = input.LA(1);
730
731 if ( (LA5_0==Import) ) {
732 int LA5_1 = input.LA(2);
733
734 if ( (LA5_1==RULE_STRING) ) {
735 alt5=1;
736 }
737 else if ( (LA5_1==Object||LA5_1==RULE_QUOTED_ID||LA5_1==RULE_ID) ) {
738 alt5=2;
739 }
740 else {
741 NoViableAltException nvae =
742 new NoViableAltException("", 5, 1, input);
743
744 throw nvae;
745 }
746 }
747 else {
748 NoViableAltException nvae =
749 new NoViableAltException("", 5, 0, input);
750
751 throw nvae;
752 }
753 switch (alt5) {
754 case 1 :
755 // InternalSolverLanguageParser.g:276:3: this_UriImport_0= ruleUriImport
538 { 756 {
539 757
540 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); 758 newCompositeNode(grammarAccess.getImportAccess().getUriImportParserRuleCall_0());
541 759
542 pushFollow(FOLLOW_4); 760 pushFollow(FOLLOW_2);
543 this_ObjectiveDefinition_11=ruleObjectiveDefinition(); 761 this_UriImport_0=ruleUriImport();
544 762
545 state._fsp--; 763 state._fsp--;
546 764
547 765
548 current = this_ObjectiveDefinition_11; 766 current = this_UriImport_0;
549 afterParserOrEnumRuleCall(); 767 afterParserOrEnumRuleCall();
550 768
551 769
552 } 770 }
553 break; 771 break;
772 case 2 :
773 // InternalSolverLanguageParser.g:285:3: this_NamespaceImport_1= ruleNamespaceImport
774 {
775
776 newCompositeNode(grammarAccess.getImportAccess().getNamespaceImportParserRuleCall_1());
777
778 pushFollow(FOLLOW_2);
779 this_NamespaceImport_1=ruleNamespaceImport();
780
781 state._fsp--;
782
783
784 current = this_NamespaceImport_1;
785 afterParserOrEnumRuleCall();
786
787
788 }
789 break;
790
791 }
792
554 793
555 } 794 }
556 795
557 this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
558 796
559 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 797 leaveRule();
798
799 }
800
801 catch (RecognitionException re) {
802 recover(input,re);
803 appendSkippedTokens();
804 }
805 finally {
806 }
807 return current;
808 }
809 // $ANTLR end "ruleImport"
810
811
812 // $ANTLR start "entryRuleUriImport"
813 // InternalSolverLanguageParser.g:297:1: entryRuleUriImport returns [EObject current=null] : iv_ruleUriImport= ruleUriImport EOF ;
814 public final EObject entryRuleUriImport() throws RecognitionException {
815 EObject current = null;
816
817 EObject iv_ruleUriImport = null;
818
819
820 try {
821 // InternalSolverLanguageParser.g:297:50: (iv_ruleUriImport= ruleUriImport EOF )
822 // InternalSolverLanguageParser.g:298:2: iv_ruleUriImport= ruleUriImport EOF
823 {
824 newCompositeNode(grammarAccess.getUriImportRule());
825 pushFollow(FOLLOW_1);
826 iv_ruleUriImport=ruleUriImport();
827
828 state._fsp--;
829
830 current =iv_ruleUriImport;
831 match(input,EOF,FOLLOW_2);
832
833 }
834
835 }
836
837 catch (RecognitionException re) {
838 recover(input,re);
839 appendSkippedTokens();
840 }
841 finally {
842 }
843 return current;
844 }
845 // $ANTLR end "entryRuleUriImport"
846
847
848 // $ANTLR start "ruleUriImport"
849 // InternalSolverLanguageParser.g:304:1: ruleUriImport returns [EObject current=null] : (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
850 public final EObject ruleUriImport() throws RecognitionException {
851 EObject current = null;
852
853 Token otherlv_0=null;
854 Token lv_uri_1_0=null;
855 Token otherlv_2=null;
856 Token this_FULL_STOP_4=null;
857 AntlrDatatypeRuleToken lv_alias_3_0 = null;
858
859
860
861 enterRule();
862
863 try {
864 // InternalSolverLanguageParser.g:310:2: ( (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
865 // InternalSolverLanguageParser.g:311:2: (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP )
866 {
867 // InternalSolverLanguageParser.g:311:2: (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP )
868 // InternalSolverLanguageParser.g:312:3: otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP
869 {
870 otherlv_0=(Token)match(input,Import,FOLLOW_7);
871
872 newLeafNode(otherlv_0, grammarAccess.getUriImportAccess().getImportKeyword_0());
873
874 // InternalSolverLanguageParser.g:316:3: ( (lv_uri_1_0= RULE_STRING ) )
875 // InternalSolverLanguageParser.g:317:4: (lv_uri_1_0= RULE_STRING )
876 {
877 // InternalSolverLanguageParser.g:317:4: (lv_uri_1_0= RULE_STRING )
878 // InternalSolverLanguageParser.g:318:5: lv_uri_1_0= RULE_STRING
879 {
880 lv_uri_1_0=(Token)match(input,RULE_STRING,FOLLOW_8);
881
882 newLeafNode(lv_uri_1_0, grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0());
883
884
885 if (current==null) {
886 current = createModelElement(grammarAccess.getUriImportRule());
887 }
888 setWithLastConsumed(
889 current,
890 "uri",
891 lv_uri_1_0,
892 "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
893
894
895 }
896
897
898 }
899
900 // InternalSolverLanguageParser.g:334:3: (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) )
901 // InternalSolverLanguageParser.g:335:4: otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) )
902 {
903 otherlv_2=(Token)match(input,As,FOLLOW_3);
904
905 newLeafNode(otherlv_2, grammarAccess.getUriImportAccess().getAsKeyword_2_0());
906
907 // InternalSolverLanguageParser.g:339:4: ( (lv_alias_3_0= ruleQualifiedName ) )
908 // InternalSolverLanguageParser.g:340:5: (lv_alias_3_0= ruleQualifiedName )
909 {
910 // InternalSolverLanguageParser.g:340:5: (lv_alias_3_0= ruleQualifiedName )
911 // InternalSolverLanguageParser.g:341:6: lv_alias_3_0= ruleQualifiedName
912 {
913
914 newCompositeNode(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0());
915
916 pushFollow(FOLLOW_4);
917 lv_alias_3_0=ruleQualifiedName();
918
919 state._fsp--;
920
921
922 if (current==null) {
923 current = createModelElementForParent(grammarAccess.getUriImportRule());
924 }
925 set(
926 current,
927 "alias",
928 lv_alias_3_0,
929 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
930 afterParserOrEnumRuleCall();
931
932
933 }
934
935
936 }
937
938
939 }
940
941 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
942
943 newLeafNode(this_FULL_STOP_4, grammarAccess.getUriImportAccess().getFULL_STOPTerminalRuleCall_3());
560 944
561 945
562 } 946 }
@@ -577,11 +961,172 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
577 } 961 }
578 return current; 962 return current;
579 } 963 }
580 // $ANTLR end "ruleStatement" 964 // $ANTLR end "ruleUriImport"
965
966
967 // $ANTLR start "entryRuleNamespaceImport"
968 // InternalSolverLanguageParser.g:367:1: entryRuleNamespaceImport returns [EObject current=null] : iv_ruleNamespaceImport= ruleNamespaceImport EOF ;
969 public final EObject entryRuleNamespaceImport() throws RecognitionException {
970 EObject current = null;
971
972 EObject iv_ruleNamespaceImport = null;
973
974
975 try {
976 // InternalSolverLanguageParser.g:367:56: (iv_ruleNamespaceImport= ruleNamespaceImport EOF )
977 // InternalSolverLanguageParser.g:368:2: iv_ruleNamespaceImport= ruleNamespaceImport EOF
978 {
979 newCompositeNode(grammarAccess.getNamespaceImportRule());
980 pushFollow(FOLLOW_1);
981 iv_ruleNamespaceImport=ruleNamespaceImport();
982
983 state._fsp--;
984
985 current =iv_ruleNamespaceImport;
986 match(input,EOF,FOLLOW_2);
987
988 }
989
990 }
991
992 catch (RecognitionException re) {
993 recover(input,re);
994 appendSkippedTokens();
995 }
996 finally {
997 }
998 return current;
999 }
1000 // $ANTLR end "entryRuleNamespaceImport"
1001
1002
1003 // $ANTLR start "ruleNamespaceImport"
1004 // InternalSolverLanguageParser.g:374:1: ruleNamespaceImport returns [EObject current=null] : (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
1005 public final EObject ruleNamespaceImport() throws RecognitionException {
1006 EObject current = null;
1007
1008 Token otherlv_0=null;
1009 Token otherlv_2=null;
1010 Token this_FULL_STOP_4=null;
1011 AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null;
1012
1013 AntlrDatatypeRuleToken lv_alias_3_0 = null;
1014
1015
1016
1017 enterRule();
1018
1019 try {
1020 // InternalSolverLanguageParser.g:380:2: ( (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
1021 // InternalSolverLanguageParser.g:381:2: (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1022 {
1023 // InternalSolverLanguageParser.g:381:2: (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1024 // InternalSolverLanguageParser.g:382:3: otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP
1025 {
1026 otherlv_0=(Token)match(input,Import,FOLLOW_3);
1027
1028 newLeafNode(otherlv_0, grammarAccess.getNamespaceImportAccess().getImportKeyword_0());
1029
1030 // InternalSolverLanguageParser.g:386:3: ( (lv_importedNamespace_1_0= ruleQualifiedName ) )
1031 // InternalSolverLanguageParser.g:387:4: (lv_importedNamespace_1_0= ruleQualifiedName )
1032 {
1033 // InternalSolverLanguageParser.g:387:4: (lv_importedNamespace_1_0= ruleQualifiedName )
1034 // InternalSolverLanguageParser.g:388:5: lv_importedNamespace_1_0= ruleQualifiedName
1035 {
1036
1037 newCompositeNode(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0());
1038
1039 pushFollow(FOLLOW_8);
1040 lv_importedNamespace_1_0=ruleQualifiedName();
1041
1042 state._fsp--;
1043
1044
1045 if (current==null) {
1046 current = createModelElementForParent(grammarAccess.getNamespaceImportRule());
1047 }
1048 set(
1049 current,
1050 "importedNamespace",
1051 lv_importedNamespace_1_0,
1052 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1053 afterParserOrEnumRuleCall();
1054
1055
1056 }
1057
1058
1059 }
1060
1061 // InternalSolverLanguageParser.g:405:3: (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) )
1062 // InternalSolverLanguageParser.g:406:4: otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) )
1063 {
1064 otherlv_2=(Token)match(input,As,FOLLOW_3);
1065
1066 newLeafNode(otherlv_2, grammarAccess.getNamespaceImportAccess().getAsKeyword_2_0());
1067
1068 // InternalSolverLanguageParser.g:410:4: ( (lv_alias_3_0= ruleQualifiedName ) )
1069 // InternalSolverLanguageParser.g:411:5: (lv_alias_3_0= ruleQualifiedName )
1070 {
1071 // InternalSolverLanguageParser.g:411:5: (lv_alias_3_0= ruleQualifiedName )
1072 // InternalSolverLanguageParser.g:412:6: lv_alias_3_0= ruleQualifiedName
1073 {
1074
1075 newCompositeNode(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0());
1076
1077 pushFollow(FOLLOW_4);
1078 lv_alias_3_0=ruleQualifiedName();
1079
1080 state._fsp--;
1081
1082
1083 if (current==null) {
1084 current = createModelElementForParent(grammarAccess.getNamespaceImportRule());
1085 }
1086 set(
1087 current,
1088 "alias",
1089 lv_alias_3_0,
1090 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1091 afterParserOrEnumRuleCall();
1092
1093
1094 }
1095
1096
1097 }
1098
1099
1100 }
1101
1102 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
1103
1104 newLeafNode(this_FULL_STOP_4, grammarAccess.getNamespaceImportAccess().getFULL_STOPTerminalRuleCall_3());
1105
1106
1107 }
1108
1109
1110 }
1111
1112
1113 leaveRule();
1114
1115 }
1116
1117 catch (RecognitionException re) {
1118 recover(input,re);
1119 appendSkippedTokens();
1120 }
1121 finally {
1122 }
1123 return current;
1124 }
1125 // $ANTLR end "ruleNamespaceImport"
581 1126
582 1127
583 // $ANTLR start "entryRuleAssertionOrDefinition" 1128 // $ANTLR start "entryRuleAssertionOrDefinition"
584 // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; 1129 // InternalSolverLanguageParser.g:438:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ;
585 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { 1130 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException {
586 EObject current = null; 1131 EObject current = null;
587 1132
@@ -589,8 +1134,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
589 1134
590 1135
591 try { 1136 try {
592 // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) 1137 // InternalSolverLanguageParser.g:438:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF )
593 // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF 1138 // InternalSolverLanguageParser.g:439:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF
594 { 1139 {
595 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); 1140 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule());
596 pushFollow(FOLLOW_1); 1141 pushFollow(FOLLOW_1);
@@ -617,13 +1162,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
617 1162
618 1163
619 // $ANTLR start "ruleAssertionOrDefinition" 1164 // $ANTLR start "ruleAssertionOrDefinition"
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 ) ) ) )? ) ; 1165 // InternalSolverLanguageParser.g:445: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= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) ;
621 public final EObject ruleAssertionOrDefinition() throws RecognitionException { 1166 public final EObject ruleAssertionOrDefinition() throws RecognitionException {
622 EObject current = null; 1167 EObject current = null;
623 1168
624 Token otherlv_2=null; 1169 Token otherlv_2=null;
625 Token otherlv_5=null; 1170 Token otherlv_5=null;
626 Token otherlv_8=null; 1171 Token otherlv_8=null;
1172 Token this_FULL_STOP_10=null;
627 EObject this_Expression_0 = null; 1173 EObject this_Expression_0 = null;
628 1174
629 EObject lv_range_3_0 = null; 1175 EObject lv_range_3_0 = null;
@@ -637,16 +1183,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
637 enterRule(); 1183 enterRule();
638 1184
639 try { 1185 try {
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 ) ) ) )? ) ) 1186 // InternalSolverLanguageParser.g:451:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) )
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 ) ) ) )? ) 1187 // InternalSolverLanguageParser.g:452:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP )
642 { 1188 {
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 ) ) ) )? ) 1189 // InternalSolverLanguageParser.g:452:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP )
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 ) ) ) )? 1190 // InternalSolverLanguageParser.g:453:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP
645 { 1191 {
646 1192
647 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); 1193 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
648 1194
649 pushFollow(FOLLOW_5); 1195 pushFollow(FOLLOW_9);
650 this_Expression_0=ruleExpression(); 1196 this_Expression_0=ruleExpression();
651 1197
652 state._fsp--; 1198 state._fsp--;
@@ -655,77 +1201,100 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
655 current = this_Expression_0; 1201 current = this_Expression_0;
656 afterParserOrEnumRuleCall(); 1202 afterParserOrEnumRuleCall();
657 1203
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 ) ) ) )? 1204 // InternalSolverLanguageParser.g:461:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )
659 int alt3=4; 1205 int alt7=3;
660 switch ( input.LA(1) ) { 1206 switch ( input.LA(1) ) {
661 case Colon: 1207 case Colon:
662 { 1208 case RULE_FULL_STOP:
663 alt3=1; 1209 {
664 } 1210 alt7=1;
665 break; 1211 }
666 case ColonHyphenMinus: 1212 break;
667 { 1213 case ColonHyphenMinus:
668 alt3=2; 1214 {
669 } 1215 alt7=2;
670 break; 1216 }
671 case EqualsSign: 1217 break;
672 { 1218 case ColonEqualsSign:
673 alt3=3; 1219 {
674 } 1220 alt7=3;
675 break; 1221 }
1222 break;
1223 default:
1224 NoViableAltException nvae =
1225 new NoViableAltException("", 7, 0, input);
1226
1227 throw nvae;
676 } 1228 }
677 1229
678 switch (alt3) { 1230 switch (alt7) {
679 case 1 : 1231 case 1 :
680 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1232 // InternalSolverLanguageParser.g:462:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? )
681 { 1233 {
682 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1234 // InternalSolverLanguageParser.g:462:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? )
683 // InternalSolverLanguageParser.g:251:5: () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) 1235 // InternalSolverLanguageParser.g:463:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )?
684 { 1236 {
685 // InternalSolverLanguageParser.g:251:5: () 1237 // InternalSolverLanguageParser.g:463:5: ()
686 // InternalSolverLanguageParser.g:252:6: 1238 // InternalSolverLanguageParser.g:464:6:
687 { 1239 {
688 1240
689 current = forceCreateModelElementAndSet( 1241 current = forceCreateModelElementAndSet(
690 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), 1242 grammarAccess.getAssertionOrDefinitionAccess().getAssertionExpressionAction_1_0_0(),
691 current); 1243 current);
692 1244
693 1245
694 } 1246 }
695 1247
696 otherlv_2=(Token)match(input,Colon,FOLLOW_6); 1248 // InternalSolverLanguageParser.g:470:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )?
1249 int alt6=2;
1250 int LA6_0 = input.LA(1);
697 1251
698 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); 1252 if ( (LA6_0==Colon) ) {
699 1253 alt6=1;
700 // InternalSolverLanguageParser.g:262:5: ( (lv_range_3_0= ruleExpression ) ) 1254 }
701 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression ) 1255 switch (alt6) {
702 { 1256 case 1 :
703 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression ) 1257 // InternalSolverLanguageParser.g:471:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
704 // InternalSolverLanguageParser.g:264:7: lv_range_3_0= ruleExpression 1258 {
705 { 1259 otherlv_2=(Token)match(input,Colon,FOLLOW_10);
706 1260
707 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); 1261 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
708 1262
709 pushFollow(FOLLOW_2); 1263 // InternalSolverLanguageParser.g:475:6: ( (lv_range_3_0= ruleExpression ) )
710 lv_range_3_0=ruleExpression(); 1264 // InternalSolverLanguageParser.g:476:7: (lv_range_3_0= ruleExpression )
1265 {
1266 // InternalSolverLanguageParser.g:476:7: (lv_range_3_0= ruleExpression )
1267 // InternalSolverLanguageParser.g:477:8: lv_range_3_0= ruleExpression
1268 {
711 1269
712 state._fsp--; 1270 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
1271
1272 pushFollow(FOLLOW_4);
1273 lv_range_3_0=ruleExpression();
713 1274
1275 state._fsp--;
714 1276
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
725 1277
726 } 1278 if (current==null) {
1279 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
1280 }
1281 set(
1282 current,
1283 "range",
1284 lv_range_3_0,
1285 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1286 afterParserOrEnumRuleCall();
1287
1288
1289 }
727 1290
728 1291
1292 }
1293
1294
1295 }
1296 break;
1297
729 } 1298 }
730 1299
731 1300
@@ -735,13 +1304,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
735 } 1304 }
736 break; 1305 break;
737 case 2 : 1306 case 2 :
738 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 1307 // InternalSolverLanguageParser.g:497:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
739 { 1308 {
740 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 1309 // InternalSolverLanguageParser.g:497:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
741 // InternalSolverLanguageParser.g:284:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 1310 // InternalSolverLanguageParser.g:498:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
742 { 1311 {
743 // InternalSolverLanguageParser.g:284:5: () 1312 // InternalSolverLanguageParser.g:498:5: ()
744 // InternalSolverLanguageParser.g:285:6: 1313 // InternalSolverLanguageParser.g:499:6:
745 { 1314 {
746 1315
747 current = forceCreateModelElementAndSet( 1316 current = forceCreateModelElementAndSet(
@@ -751,20 +1320,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
751 1320
752 } 1321 }
753 1322
754 otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); 1323 otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_10);
755 1324
756 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); 1325 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
757 1326
758 // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) ) 1327 // InternalSolverLanguageParser.g:509:5: ( (lv_body_6_0= ruleExpression ) )
759 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) 1328 // InternalSolverLanguageParser.g:510:6: (lv_body_6_0= ruleExpression )
760 { 1329 {
761 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) 1330 // InternalSolverLanguageParser.g:510:6: (lv_body_6_0= ruleExpression )
762 // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression 1331 // InternalSolverLanguageParser.g:511:7: lv_body_6_0= ruleExpression
763 { 1332 {
764 1333
765 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); 1334 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
766 1335
767 pushFollow(FOLLOW_2); 1336 pushFollow(FOLLOW_4);
768 lv_body_6_0=ruleExpression(); 1337 lv_body_6_0=ruleExpression();
769 1338
770 state._fsp--; 1339 state._fsp--;
@@ -793,36 +1362,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
793 } 1362 }
794 break; 1363 break;
795 case 3 : 1364 case 3 :
796 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 1365 // InternalSolverLanguageParser.g:530:4: ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) )
797 { 1366 {
798 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 1367 // InternalSolverLanguageParser.g:530:4: ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) )
799 // InternalSolverLanguageParser.g:317:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) 1368 // InternalSolverLanguageParser.g:531:5: () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) )
800 { 1369 {
801 // InternalSolverLanguageParser.g:317:5: () 1370 // InternalSolverLanguageParser.g:531:5: ()
802 // InternalSolverLanguageParser.g:318:6: 1371 // InternalSolverLanguageParser.g:532:6:
803 { 1372 {
804 1373
805 current = forceCreateModelElementAndSet( 1374 current = forceCreateModelElementAndSet(
806 grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), 1375 grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(),
807 current); 1376 current);
808 1377
809 1378
810 } 1379 }
811 1380
812 otherlv_8=(Token)match(input,EqualsSign,FOLLOW_6); 1381 otherlv_8=(Token)match(input,ColonEqualsSign,FOLLOW_10);
813 1382
814 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 1383 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getColonEqualsSignKeyword_1_2_1());
815 1384
816 // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) ) 1385 // InternalSolverLanguageParser.g:542:5: ( (lv_body_9_0= ruleExpression ) )
817 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) 1386 // InternalSolverLanguageParser.g:543:6: (lv_body_9_0= ruleExpression )
818 { 1387 {
819 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) 1388 // InternalSolverLanguageParser.g:543:6: (lv_body_9_0= ruleExpression )
820 // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression 1389 // InternalSolverLanguageParser.g:544:7: lv_body_9_0= ruleExpression
821 { 1390 {
822 1391
823 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); 1392 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
824 1393
825 pushFollow(FOLLOW_2); 1394 pushFollow(FOLLOW_4);
826 lv_body_9_0=ruleExpression(); 1395 lv_body_9_0=ruleExpression();
827 1396
828 state._fsp--; 1397 state._fsp--;
@@ -853,6 +1422,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
853 1422
854 } 1423 }
855 1424
1425 this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
1426
1427 newLeafNode(this_FULL_STOP_10, grammarAccess.getAssertionOrDefinitionAccess().getFULL_STOPTerminalRuleCall_2());
1428
856 1429
857 } 1430 }
858 1431
@@ -876,7 +1449,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
876 1449
877 1450
878 // $ANTLR start "entryRulePredicateDefinition" 1451 // $ANTLR start "entryRulePredicateDefinition"
879 // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 1452 // InternalSolverLanguageParser.g:571:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
880 public final EObject entryRulePredicateDefinition() throws RecognitionException { 1453 public final EObject entryRulePredicateDefinition() throws RecognitionException {
881 EObject current = null; 1454 EObject current = null;
882 1455
@@ -884,8 +1457,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
884 1457
885 1458
886 try { 1459 try {
887 // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 1460 // InternalSolverLanguageParser.g:571:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
888 // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 1461 // InternalSolverLanguageParser.g:572:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
889 { 1462 {
890 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 1463 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
891 pushFollow(FOLLOW_1); 1464 pushFollow(FOLLOW_1);
@@ -912,7 +1485,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
912 1485
913 1486
914 // $ANTLR start "rulePredicateDefinition" 1487 // $ANTLR start "rulePredicateDefinition"
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 ) ) ) ; 1488 // InternalSolverLanguageParser.g:578: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ;
916 public final EObject rulePredicateDefinition() throws RecognitionException { 1489 public final EObject rulePredicateDefinition() throws RecognitionException {
917 EObject current = null; 1490 EObject current = null;
918 1491
@@ -921,6 +1494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
921 Token lv_error_2_0=null; 1494 Token lv_error_2_0=null;
922 Token lv_functional_3_0=null; 1495 Token lv_functional_3_0=null;
923 Token otherlv_5=null; 1496 Token otherlv_5=null;
1497 Token this_FULL_STOP_7=null;
924 EObject lv_head_4_0 = null; 1498 EObject lv_head_4_0 = null;
925 1499
926 EObject lv_body_6_0 = null; 1500 EObject lv_body_6_0 = null;
@@ -930,42 +1504,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
930 enterRule(); 1504 enterRule();
931 1505
932 try { 1506 try {
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 ) ) ) ) 1507 // InternalSolverLanguageParser.g:584: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) )
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 ) ) ) 1508 // InternalSolverLanguageParser.g:585: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP )
935 { 1509 {
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 ) ) ) 1510 // InternalSolverLanguageParser.g:585: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP )
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 ) ) 1511 // InternalSolverLanguageParser.g:586: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP
938 { 1512 {
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 ) )? ) ) 1513 // InternalSolverLanguageParser.g:586:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) )
940 int alt6=2; 1514 int alt10=2;
941 int LA6_0 = input.LA(1); 1515 int LA10_0 = input.LA(1);
942 1516
943 if ( (LA6_0==Functional) ) { 1517 if ( (LA10_0==Functional) ) {
944 alt6=1; 1518 alt10=1;
945 } 1519 }
946 else if ( (LA6_0==Error) ) { 1520 else if ( (LA10_0==Error) ) {
947 alt6=2; 1521 alt10=2;
948 } 1522 }
949 else { 1523 else {
950 NoViableAltException nvae = 1524 NoViableAltException nvae =
951 new NoViableAltException("", 6, 0, input); 1525 new NoViableAltException("", 10, 0, input);
952 1526
953 throw nvae; 1527 throw nvae;
954 } 1528 }
955 switch (alt6) { 1529 switch (alt10) {
956 case 1 : 1530 case 1 :
957 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 1531 // InternalSolverLanguageParser.g:587:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
958 { 1532 {
959 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 1533 // InternalSolverLanguageParser.g:587:4: ( ( (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 ) )? 1534 // InternalSolverLanguageParser.g:588:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )?
961 { 1535 {
962 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) 1536 // InternalSolverLanguageParser.g:588:5: ( (lv_functional_0_0= Functional ) )
963 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) 1537 // InternalSolverLanguageParser.g:589:6: (lv_functional_0_0= Functional )
964 { 1538 {
965 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) 1539 // InternalSolverLanguageParser.g:589:6: (lv_functional_0_0= Functional )
966 // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional 1540 // InternalSolverLanguageParser.g:590:7: lv_functional_0_0= Functional
967 { 1541 {
968 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); 1542 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_11);
969 1543
970 newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); 1544 newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
971 1545
@@ -981,21 +1555,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
981 1555
982 } 1556 }
983 1557
984 // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )? 1558 // InternalSolverLanguageParser.g:602:5: ( (lv_error_1_0= Error ) )?
985 int alt4=2; 1559 int alt8=2;
986 int LA4_0 = input.LA(1); 1560 int LA8_0 = input.LA(1);
987 1561
988 if ( (LA4_0==Error) ) { 1562 if ( (LA8_0==Error) ) {
989 alt4=1; 1563 alt8=1;
990 } 1564 }
991 switch (alt4) { 1565 switch (alt8) {
992 case 1 : 1566 case 1 :
993 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) 1567 // InternalSolverLanguageParser.g:603:6: (lv_error_1_0= Error )
994 { 1568 {
995 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) 1569 // InternalSolverLanguageParser.g:603:6: (lv_error_1_0= Error )
996 // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error 1570 // InternalSolverLanguageParser.g:604:7: lv_error_1_0= Error
997 { 1571 {
998 lv_error_1_0=(Token)match(input,Error,FOLLOW_8); 1572 lv_error_1_0=(Token)match(input,Error,FOLLOW_12);
999 1573
1000 newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); 1574 newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
1001 1575
@@ -1021,18 +1595,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1021 } 1595 }
1022 break; 1596 break;
1023 case 2 : 1597 case 2 :
1024 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1598 // InternalSolverLanguageParser.g:618:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1025 { 1599 {
1026 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1600 // InternalSolverLanguageParser.g:618:4: ( ( (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 ) )? 1601 // InternalSolverLanguageParser.g:619:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )?
1028 { 1602 {
1029 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) 1603 // InternalSolverLanguageParser.g:619:5: ( (lv_error_2_0= Error ) )
1030 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) 1604 // InternalSolverLanguageParser.g:620:6: (lv_error_2_0= Error )
1031 { 1605 {
1032 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) 1606 // InternalSolverLanguageParser.g:620:6: (lv_error_2_0= Error )
1033 // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error 1607 // InternalSolverLanguageParser.g:621:7: lv_error_2_0= Error
1034 { 1608 {
1035 lv_error_2_0=(Token)match(input,Error,FOLLOW_9); 1609 lv_error_2_0=(Token)match(input,Error,FOLLOW_13);
1036 1610
1037 newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); 1611 newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
1038 1612
@@ -1048,21 +1622,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1048 1622
1049 } 1623 }
1050 1624
1051 // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )? 1625 // InternalSolverLanguageParser.g:633:5: ( (lv_functional_3_0= Functional ) )?
1052 int alt5=2; 1626 int alt9=2;
1053 int LA5_0 = input.LA(1); 1627 int LA9_0 = input.LA(1);
1054 1628
1055 if ( (LA5_0==Functional) ) { 1629 if ( (LA9_0==Functional) ) {
1056 alt5=1; 1630 alt9=1;
1057 } 1631 }
1058 switch (alt5) { 1632 switch (alt9) {
1059 case 1 : 1633 case 1 :
1060 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) 1634 // InternalSolverLanguageParser.g:634:6: (lv_functional_3_0= Functional )
1061 { 1635 {
1062 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) 1636 // InternalSolverLanguageParser.g:634:6: (lv_functional_3_0= Functional )
1063 // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional 1637 // InternalSolverLanguageParser.g:635:7: lv_functional_3_0= Functional
1064 { 1638 {
1065 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); 1639 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_12);
1066 1640
1067 newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); 1641 newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
1068 1642
@@ -1090,16 +1664,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1090 1664
1091 } 1665 }
1092 1666
1093 // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) ) 1667 // InternalSolverLanguageParser.g:649:3: ( (lv_head_4_0= ruleCall ) )
1094 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) 1668 // InternalSolverLanguageParser.g:650:4: (lv_head_4_0= ruleCall )
1095 { 1669 {
1096 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) 1670 // InternalSolverLanguageParser.g:650:4: (lv_head_4_0= ruleCall )
1097 // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall 1671 // InternalSolverLanguageParser.g:651:5: lv_head_4_0= ruleCall
1098 { 1672 {
1099 1673
1100 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1674 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
1101 1675
1102 pushFollow(FOLLOW_10); 1676 pushFollow(FOLLOW_14);
1103 lv_head_4_0=ruleCall(); 1677 lv_head_4_0=ruleCall();
1104 1678
1105 state._fsp--; 1679 state._fsp--;
@@ -1121,20 +1695,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1121 1695
1122 } 1696 }
1123 1697
1124 otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); 1698 otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_10);
1125 1699
1126 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1700 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
1127 1701
1128 // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) ) 1702 // InternalSolverLanguageParser.g:672:3: ( (lv_body_6_0= ruleExpression ) )
1129 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) 1703 // InternalSolverLanguageParser.g:673:4: (lv_body_6_0= ruleExpression )
1130 { 1704 {
1131 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) 1705 // InternalSolverLanguageParser.g:673:4: (lv_body_6_0= ruleExpression )
1132 // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression 1706 // InternalSolverLanguageParser.g:674:5: lv_body_6_0= ruleExpression
1133 { 1707 {
1134 1708
1135 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1709 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1136 1710
1137 pushFollow(FOLLOW_2); 1711 pushFollow(FOLLOW_4);
1138 lv_body_6_0=ruleExpression(); 1712 lv_body_6_0=ruleExpression();
1139 1713
1140 state._fsp--; 1714 state._fsp--;
@@ -1156,6 +1730,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1156 1730
1157 } 1731 }
1158 1732
1733 this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
1734
1735 newLeafNode(this_FULL_STOP_7, grammarAccess.getPredicateDefinitionAccess().getFULL_STOPTerminalRuleCall_4());
1736
1159 1737
1160 } 1738 }
1161 1739
@@ -1178,25 +1756,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1178 // $ANTLR end "rulePredicateDefinition" 1756 // $ANTLR end "rulePredicateDefinition"
1179 1757
1180 1758
1181 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" 1759 // $ANTLR start "entryRuleUnnamedErrorPredicateDefintion"
1182 // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; 1760 // InternalSolverLanguageParser.g:699:1: entryRuleUnnamedErrorPredicateDefintion returns [EObject current=null] : iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF ;
1183 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { 1761 public final EObject entryRuleUnnamedErrorPredicateDefintion() throws RecognitionException {
1184 EObject current = null; 1762 EObject current = null;
1185 1763
1186 EObject iv_ruleUnnamedErrorPrediateDefinition = null; 1764 EObject iv_ruleUnnamedErrorPredicateDefintion = null;
1187 1765
1188 1766
1189 try { 1767 try {
1190 // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) 1768 // InternalSolverLanguageParser.g:699:71: (iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF )
1191 // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF 1769 // InternalSolverLanguageParser.g:700:2: iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF
1192 { 1770 {
1193 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1771 newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionRule());
1194 pushFollow(FOLLOW_1); 1772 pushFollow(FOLLOW_1);
1195 iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition(); 1773 iv_ruleUnnamedErrorPredicateDefintion=ruleUnnamedErrorPredicateDefintion();
1196 1774
1197 state._fsp--; 1775 state._fsp--;
1198 1776
1199 current =iv_ruleUnnamedErrorPrediateDefinition; 1777 current =iv_ruleUnnamedErrorPredicateDefintion;
1200 match(input,EOF,FOLLOW_2); 1778 match(input,EOF,FOLLOW_2);
1201 1779
1202 } 1780 }
@@ -1211,16 +1789,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1211 } 1789 }
1212 return current; 1790 return current;
1213 } 1791 }
1214 // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition" 1792 // $ANTLR end "entryRuleUnnamedErrorPredicateDefintion"
1215 1793
1216 1794
1217 // $ANTLR start "ruleUnnamedErrorPrediateDefinition" 1795 // $ANTLR start "ruleUnnamedErrorPredicateDefintion"
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 ) ) ) ; 1796 // InternalSolverLanguageParser.g:706:1: ruleUnnamedErrorPredicateDefintion returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
1219 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { 1797 public final EObject ruleUnnamedErrorPredicateDefintion() throws RecognitionException {
1220 EObject current = null; 1798 EObject current = null;
1221 1799
1222 Token otherlv_0=null; 1800 Token otherlv_0=null;
1223 Token otherlv_2=null; 1801 Token otherlv_2=null;
1802 Token this_FULL_STOP_4=null;
1224 EObject lv_argumentList_1_0 = null; 1803 EObject lv_argumentList_1_0 = null;
1225 1804
1226 EObject lv_body_3_0 = null; 1805 EObject lv_body_3_0 = null;
@@ -1230,33 +1809,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1230 enterRule(); 1809 enterRule();
1231 1810
1232 try { 1811 try {
1233 // InternalSolverLanguageParser.g:490:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) 1812 // InternalSolverLanguageParser.g:712:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
1234 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1813 // InternalSolverLanguageParser.g:713:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1235 { 1814 {
1236 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1815 // InternalSolverLanguageParser.g:713:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1237 // InternalSolverLanguageParser.g:492:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) 1816 // InternalSolverLanguageParser.g:714:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP
1238 { 1817 {
1239 otherlv_0=(Token)match(input,Error,FOLLOW_11); 1818 otherlv_0=(Token)match(input,Error,FOLLOW_15);
1240 1819
1241 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 1820 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getErrorKeyword_0());
1242 1821
1243 // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) 1822 // InternalSolverLanguageParser.g:718:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
1244 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) 1823 // InternalSolverLanguageParser.g:719:4: (lv_argumentList_1_0= ruleArgumentList )
1245 { 1824 {
1246 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) 1825 // InternalSolverLanguageParser.g:719:4: (lv_argumentList_1_0= ruleArgumentList )
1247 // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList 1826 // InternalSolverLanguageParser.g:720:5: lv_argumentList_1_0= ruleArgumentList
1248 { 1827 {
1249 1828
1250 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 1829 newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0());
1251 1830
1252 pushFollow(FOLLOW_10); 1831 pushFollow(FOLLOW_14);
1253 lv_argumentList_1_0=ruleArgumentList(); 1832 lv_argumentList_1_0=ruleArgumentList();
1254 1833
1255 state._fsp--; 1834 state._fsp--;
1256 1835
1257 1836
1258 if (current==null) { 1837 if (current==null) {
1259 current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1838 current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule());
1260 } 1839 }
1261 set( 1840 set(
1262 current, 1841 current,
@@ -1271,27 +1850,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1271 1850
1272 } 1851 }
1273 1852
1274 otherlv_2=(Token)match(input,ColonHyphenMinus,FOLLOW_6); 1853 otherlv_2=(Token)match(input,ColonHyphenMinus,FOLLOW_10);
1275 1854
1276 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1855 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getColonHyphenMinusKeyword_2());
1277 1856
1278 // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) ) 1857 // InternalSolverLanguageParser.g:741:3: ( (lv_body_3_0= ruleExpression ) )
1279 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) 1858 // InternalSolverLanguageParser.g:742:4: (lv_body_3_0= ruleExpression )
1280 { 1859 {
1281 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) 1860 // InternalSolverLanguageParser.g:742:4: (lv_body_3_0= ruleExpression )
1282 // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression 1861 // InternalSolverLanguageParser.g:743:5: lv_body_3_0= ruleExpression
1283 { 1862 {
1284 1863
1285 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1864 newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0());
1286 1865
1287 pushFollow(FOLLOW_2); 1866 pushFollow(FOLLOW_4);
1288 lv_body_3_0=ruleExpression(); 1867 lv_body_3_0=ruleExpression();
1289 1868
1290 state._fsp--; 1869 state._fsp--;
1291 1870
1292 1871
1293 if (current==null) { 1872 if (current==null) {
1294 current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1873 current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule());
1295 } 1874 }
1296 set( 1875 set(
1297 current, 1876 current,
@@ -1306,6 +1885,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1306 1885
1307 } 1886 }
1308 1887
1888 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
1889
1890 newLeafNode(this_FULL_STOP_4, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getFULL_STOPTerminalRuleCall_4());
1891
1309 1892
1310 } 1893 }
1311 1894
@@ -1325,28 +1908,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1325 } 1908 }
1326 return current; 1909 return current;
1327 } 1910 }
1328 // $ANTLR end "ruleUnnamedErrorPrediateDefinition" 1911 // $ANTLR end "ruleUnnamedErrorPredicateDefintion"
1329 1912
1330 1913
1331 // $ANTLR start "entryRuleDefaultDefinition" 1914 // $ANTLR start "entryRuleDefaultAssertion"
1332 // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; 1915 // InternalSolverLanguageParser.g:768:1: entryRuleDefaultAssertion returns [EObject current=null] : iv_ruleDefaultAssertion= ruleDefaultAssertion EOF ;
1333 public final EObject entryRuleDefaultDefinition() throws RecognitionException { 1916 public final EObject entryRuleDefaultAssertion() throws RecognitionException {
1334 EObject current = null; 1917 EObject current = null;
1335 1918
1336 EObject iv_ruleDefaultDefinition = null; 1919 EObject iv_ruleDefaultAssertion = null;
1337 1920
1338 1921
1339 try { 1922 try {
1340 // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) 1923 // InternalSolverLanguageParser.g:768:57: (iv_ruleDefaultAssertion= ruleDefaultAssertion EOF )
1341 // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF 1924 // InternalSolverLanguageParser.g:769:2: iv_ruleDefaultAssertion= ruleDefaultAssertion EOF
1342 { 1925 {
1343 newCompositeNode(grammarAccess.getDefaultDefinitionRule()); 1926 newCompositeNode(grammarAccess.getDefaultAssertionRule());
1344 pushFollow(FOLLOW_1); 1927 pushFollow(FOLLOW_1);
1345 iv_ruleDefaultDefinition=ruleDefaultDefinition(); 1928 iv_ruleDefaultAssertion=ruleDefaultAssertion();
1346 1929
1347 state._fsp--; 1930 state._fsp--;
1348 1931
1349 current =iv_ruleDefaultDefinition; 1932 current =iv_ruleDefaultAssertion;
1350 match(input,EOF,FOLLOW_2); 1933 match(input,EOF,FOLLOW_2);
1351 1934
1352 } 1935 }
@@ -1361,17 +1944,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1361 } 1944 }
1362 return current; 1945 return current;
1363 } 1946 }
1364 // $ANTLR end "entryRuleDefaultDefinition" 1947 // $ANTLR end "entryRuleDefaultAssertion"
1365 1948
1366 1949
1367 // $ANTLR start "ruleDefaultDefinition" 1950 // $ANTLR start "ruleDefaultAssertion"
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 ) ) ) ; 1951 // InternalSolverLanguageParser.g:775:1: ruleDefaultAssertion returns [EObject current=null] : (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) ;
1369 public final EObject ruleDefaultDefinition() throws RecognitionException { 1952 public final EObject ruleDefaultAssertion() throws RecognitionException {
1370 EObject current = null; 1953 EObject current = null;
1371 1954
1372 Token otherlv_0=null; 1955 Token otherlv_0=null;
1373 Token otherlv_2=null; 1956 Token otherlv_2=null;
1374 EObject lv_head_1_0 = null; 1957 Token this_FULL_STOP_4=null;
1958 EObject lv_expression_1_0 = null;
1375 1959
1376 EObject lv_range_3_0 = null; 1960 EObject lv_range_3_0 = null;
1377 1961
@@ -1380,38 +1964,38 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1380 enterRule(); 1964 enterRule();
1381 1965
1382 try { 1966 try {
1383 // InternalSolverLanguageParser.g:555:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) 1967 // InternalSolverLanguageParser.g:781:2: ( (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) )
1384 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1968 // InternalSolverLanguageParser.g:782:2: (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP )
1385 { 1969 {
1386 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1970 // InternalSolverLanguageParser.g:782:2: (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP )
1387 // InternalSolverLanguageParser.g:557:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) 1971 // InternalSolverLanguageParser.g:783:3: otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP
1388 { 1972 {
1389 otherlv_0=(Token)match(input,Default,FOLLOW_8); 1973 otherlv_0=(Token)match(input,Default,FOLLOW_12);
1390 1974
1391 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 1975 newLeafNode(otherlv_0, grammarAccess.getDefaultAssertionAccess().getDefaultKeyword_0());
1392 1976
1393 // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) ) 1977 // InternalSolverLanguageParser.g:787:3: ( (lv_expression_1_0= ruleCall ) )
1394 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) 1978 // InternalSolverLanguageParser.g:788:4: (lv_expression_1_0= ruleCall )
1395 { 1979 {
1396 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) 1980 // InternalSolverLanguageParser.g:788:4: (lv_expression_1_0= ruleCall )
1397 // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall 1981 // InternalSolverLanguageParser.g:789:5: lv_expression_1_0= ruleCall
1398 { 1982 {
1399 1983
1400 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1984 newCompositeNode(grammarAccess.getDefaultAssertionAccess().getExpressionCallParserRuleCall_1_0());
1401 1985
1402 pushFollow(FOLLOW_12); 1986 pushFollow(FOLLOW_16);
1403 lv_head_1_0=ruleCall(); 1987 lv_expression_1_0=ruleCall();
1404 1988
1405 state._fsp--; 1989 state._fsp--;
1406 1990
1407 1991
1408 if (current==null) { 1992 if (current==null) {
1409 current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); 1993 current = createModelElementForParent(grammarAccess.getDefaultAssertionRule());
1410 } 1994 }
1411 set( 1995 set(
1412 current, 1996 current,
1413 "head", 1997 "expression",
1414 lv_head_1_0, 1998 lv_expression_1_0,
1415 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1999 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1416 afterParserOrEnumRuleCall(); 2000 afterParserOrEnumRuleCall();
1417 2001
@@ -1421,41 +2005,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1421 2005
1422 } 2006 }
1423 2007
1424 otherlv_2=(Token)match(input,Colon,FOLLOW_6); 2008 // InternalSolverLanguageParser.g:806:3: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )?
2009 int alt11=2;
2010 int LA11_0 = input.LA(1);
1425 2011
1426 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 2012 if ( (LA11_0==Colon) ) {
1427 2013 alt11=1;
1428 // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) ) 2014 }
1429 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) 2015 switch (alt11) {
1430 { 2016 case 1 :
1431 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) 2017 // InternalSolverLanguageParser.g:807:4: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
1432 // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression 2018 {
1433 { 2019 otherlv_2=(Token)match(input,Colon,FOLLOW_10);
1434 2020
1435 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 2021 newLeafNode(otherlv_2, grammarAccess.getDefaultAssertionAccess().getColonKeyword_2_0());
1436 2022
1437 pushFollow(FOLLOW_2); 2023 // InternalSolverLanguageParser.g:811:4: ( (lv_range_3_0= ruleExpression ) )
1438 lv_range_3_0=ruleExpression(); 2024 // InternalSolverLanguageParser.g:812:5: (lv_range_3_0= ruleExpression )
2025 {
2026 // InternalSolverLanguageParser.g:812:5: (lv_range_3_0= ruleExpression )
2027 // InternalSolverLanguageParser.g:813:6: lv_range_3_0= ruleExpression
2028 {
1439 2029
1440 state._fsp--; 2030 newCompositeNode(grammarAccess.getDefaultAssertionAccess().getRangeExpressionParserRuleCall_2_1_0());
2031
2032 pushFollow(FOLLOW_4);
2033 lv_range_3_0=ruleExpression();
1441 2034
2035 state._fsp--;
1442 2036
1443 if (current==null) {
1444 current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule());
1445 }
1446 set(
1447 current,
1448 "range",
1449 lv_range_3_0,
1450 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1451 afterParserOrEnumRuleCall();
1452
1453 2037
1454 } 2038 if (current==null) {
2039 current = createModelElementForParent(grammarAccess.getDefaultAssertionRule());
2040 }
2041 set(
2042 current,
2043 "range",
2044 lv_range_3_0,
2045 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2046 afterParserOrEnumRuleCall();
2047
1455 2048
2049 }
2050
2051
2052 }
2053
2054
2055 }
2056 break;
1456 2057
1457 } 2058 }
1458 2059
2060 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2061
2062 newLeafNode(this_FULL_STOP_4, grammarAccess.getDefaultAssertionAccess().getFULL_STOPTerminalRuleCall_3());
2063
1459 2064
1460 } 2065 }
1461 2066
@@ -1475,28 +2080,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1475 } 2080 }
1476 return current; 2081 return current;
1477 } 2082 }
1478 // $ANTLR end "ruleDefaultDefinition" 2083 // $ANTLR end "ruleDefaultAssertion"
1479 2084
1480 2085
1481 // $ANTLR start "entryRuleMetricDefinition" 2086 // $ANTLR start "entryRuleFunctionDefinition"
1482 // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; 2087 // InternalSolverLanguageParser.g:839:1: entryRuleFunctionDefinition returns [EObject current=null] : iv_ruleFunctionDefinition= ruleFunctionDefinition EOF ;
1483 public final EObject entryRuleMetricDefinition() throws RecognitionException { 2088 public final EObject entryRuleFunctionDefinition() throws RecognitionException {
1484 EObject current = null; 2089 EObject current = null;
1485 2090
1486 EObject iv_ruleMetricDefinition = null; 2091 EObject iv_ruleFunctionDefinition = null;
1487 2092
1488 2093
1489 try { 2094 try {
1490 // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) 2095 // InternalSolverLanguageParser.g:839:59: (iv_ruleFunctionDefinition= ruleFunctionDefinition EOF )
1491 // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF 2096 // InternalSolverLanguageParser.g:840:2: iv_ruleFunctionDefinition= ruleFunctionDefinition EOF
1492 { 2097 {
1493 newCompositeNode(grammarAccess.getMetricDefinitionRule()); 2098 newCompositeNode(grammarAccess.getFunctionDefinitionRule());
1494 pushFollow(FOLLOW_1); 2099 pushFollow(FOLLOW_1);
1495 iv_ruleMetricDefinition=ruleMetricDefinition(); 2100 iv_ruleFunctionDefinition=ruleFunctionDefinition();
1496 2101
1497 state._fsp--; 2102 state._fsp--;
1498 2103
1499 current =iv_ruleMetricDefinition; 2104 current =iv_ruleFunctionDefinition;
1500 match(input,EOF,FOLLOW_2); 2105 match(input,EOF,FOLLOW_2);
1501 2106
1502 } 2107 }
@@ -1511,15 +2116,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1511 } 2116 }
1512 return current; 2117 return current;
1513 } 2118 }
1514 // $ANTLR end "entryRuleMetricDefinition" 2119 // $ANTLR end "entryRuleFunctionDefinition"
1515 2120
1516 2121
1517 // $ANTLR start "ruleMetricDefinition" 2122 // $ANTLR start "ruleFunctionDefinition"
1518 // InternalSolverLanguageParser.g:614:1: ruleMetricDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; 2123 // InternalSolverLanguageParser.g:846:1: ruleFunctionDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
1519 public final EObject ruleMetricDefinition() throws RecognitionException { 2124 public final EObject ruleFunctionDefinition() throws RecognitionException {
1520 EObject current = null; 2125 EObject current = null;
1521 2126
1522 Token otherlv_2=null; 2127 Token otherlv_2=null;
2128 Token this_FULL_STOP_4=null;
1523 EObject lv_head_1_0 = null; 2129 EObject lv_head_1_0 = null;
1524 2130
1525 EObject lv_body_3_0 = null; 2131 EObject lv_body_3_0 = null;
@@ -1529,27 +2135,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1529 enterRule(); 2135 enterRule();
1530 2136
1531 try { 2137 try {
1532 // InternalSolverLanguageParser.g:620:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) 2138 // InternalSolverLanguageParser.g:852:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
1533 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 2139 // InternalSolverLanguageParser.g:853:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1534 { 2140 {
1535 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 2141 // InternalSolverLanguageParser.g:853:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP )
1536 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) 2142 // InternalSolverLanguageParser.g:854:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP
1537 { 2143 {
1538 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) 2144 // InternalSolverLanguageParser.g:854:3: ( ( ruleQualifiedName ) )
1539 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) 2145 // InternalSolverLanguageParser.g:855:4: ( ruleQualifiedName )
1540 { 2146 {
1541 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) 2147 // InternalSolverLanguageParser.g:855:4: ( ruleQualifiedName )
1542 // InternalSolverLanguageParser.g:624:5: ruleQualifiedName 2148 // InternalSolverLanguageParser.g:856:5: ruleQualifiedName
1543 { 2149 {
1544 2150
1545 if (current==null) { 2151 if (current==null) {
1546 current = createModelElement(grammarAccess.getMetricDefinitionRule()); 2152 current = createModelElement(grammarAccess.getFunctionDefinitionRule());
1547 } 2153 }
1548 2154
1549 2155
1550 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); 2156 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolCrossReference_0_0());
1551 2157
1552 pushFollow(FOLLOW_8); 2158 pushFollow(FOLLOW_12);
1553 ruleQualifiedName(); 2159 ruleQualifiedName();
1554 2160
1555 state._fsp--; 2161 state._fsp--;
@@ -1563,23 +2169,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1563 2169
1564 } 2170 }
1565 2171
1566 // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) ) 2172 // InternalSolverLanguageParser.g:870:3: ( (lv_head_1_0= ruleCall ) )
1567 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) 2173 // InternalSolverLanguageParser.g:871:4: (lv_head_1_0= ruleCall )
1568 { 2174 {
1569 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) 2175 // InternalSolverLanguageParser.g:871:4: (lv_head_1_0= ruleCall )
1570 // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall 2176 // InternalSolverLanguageParser.g:872:5: lv_head_1_0= ruleCall
1571 { 2177 {
1572 2178
1573 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); 2179 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0());
1574 2180
1575 pushFollow(FOLLOW_13); 2181 pushFollow(FOLLOW_17);
1576 lv_head_1_0=ruleCall(); 2182 lv_head_1_0=ruleCall();
1577 2183
1578 state._fsp--; 2184 state._fsp--;
1579 2185
1580 2186
1581 if (current==null) { 2187 if (current==null) {
1582 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 2188 current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule());
1583 } 2189 }
1584 set( 2190 set(
1585 current, 2191 current,
@@ -1594,27 +2200,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1594 2200
1595 } 2201 }
1596 2202
1597 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6); 2203 otherlv_2=(Token)match(input,ColonEqualsSign,FOLLOW_10);
1598 2204
1599 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 2205 newLeafNode(otherlv_2, grammarAccess.getFunctionDefinitionAccess().getColonEqualsSignKeyword_2());
1600 2206
1601 // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) ) 2207 // InternalSolverLanguageParser.g:893:3: ( (lv_body_3_0= ruleExpression ) )
1602 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) 2208 // InternalSolverLanguageParser.g:894:4: (lv_body_3_0= ruleExpression )
1603 { 2209 {
1604 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) 2210 // InternalSolverLanguageParser.g:894:4: (lv_body_3_0= ruleExpression )
1605 // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression 2211 // InternalSolverLanguageParser.g:895:5: lv_body_3_0= ruleExpression
1606 { 2212 {
1607 2213
1608 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 2214 newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1609 2215
1610 pushFollow(FOLLOW_2); 2216 pushFollow(FOLLOW_4);
1611 lv_body_3_0=ruleExpression(); 2217 lv_body_3_0=ruleExpression();
1612 2218
1613 state._fsp--; 2219 state._fsp--;
1614 2220
1615 2221
1616 if (current==null) { 2222 if (current==null) {
1617 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 2223 current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule());
1618 } 2224 }
1619 set( 2225 set(
1620 current, 2226 current,
@@ -1629,6 +2235,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1629 2235
1630 } 2236 }
1631 2237
2238 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2239
2240 newLeafNode(this_FULL_STOP_4, grammarAccess.getFunctionDefinitionAccess().getFULL_STOPTerminalRuleCall_4());
2241
1632 2242
1633 } 2243 }
1634 2244
@@ -1648,28 +2258,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1648 } 2258 }
1649 return current; 2259 return current;
1650 } 2260 }
1651 // $ANTLR end "ruleMetricDefinition" 2261 // $ANTLR end "ruleFunctionDefinition"
1652 2262
1653 2263
1654 // $ANTLR start "entryRuleExternPredicateDefinition" 2264 // $ANTLR start "entryRuleTypeReference"
1655 // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; 2265 // InternalSolverLanguageParser.g:920:1: entryRuleTypeReference returns [EObject current=null] : iv_ruleTypeReference= ruleTypeReference EOF ;
1656 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { 2266 public final EObject entryRuleTypeReference() throws RecognitionException {
1657 EObject current = null; 2267 EObject current = null;
1658 2268
1659 EObject iv_ruleExternPredicateDefinition = null; 2269 EObject iv_ruleTypeReference = null;
1660 2270
1661 2271
1662 try { 2272 try {
1663 // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) 2273 // InternalSolverLanguageParser.g:920:54: (iv_ruleTypeReference= ruleTypeReference EOF )
1664 // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF 2274 // InternalSolverLanguageParser.g:921:2: iv_ruleTypeReference= ruleTypeReference EOF
1665 { 2275 {
1666 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); 2276 newCompositeNode(grammarAccess.getTypeReferenceRule());
1667 pushFollow(FOLLOW_1); 2277 pushFollow(FOLLOW_1);
1668 iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); 2278 iv_ruleTypeReference=ruleTypeReference();
1669 2279
1670 state._fsp--; 2280 state._fsp--;
1671 2281
1672 current =iv_ruleExternPredicateDefinition; 2282 current =iv_ruleTypeReference;
1673 match(input,EOF,FOLLOW_2); 2283 match(input,EOF,FOLLOW_2);
1674 2284
1675 } 2285 }
@@ -1684,57 +2294,187 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1684 } 2294 }
1685 return current; 2295 return current;
1686 } 2296 }
1687 // $ANTLR end "entryRuleExternPredicateDefinition" 2297 // $ANTLR end "entryRuleTypeReference"
1688 2298
1689 2299
1690 // $ANTLR start "ruleExternPredicateDefinition" 2300 // $ANTLR start "ruleTypeReference"
1691 // InternalSolverLanguageParser.g:691:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ; 2301 // InternalSolverLanguageParser.g:927:1: ruleTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) ;
1692 public final EObject ruleExternPredicateDefinition() throws RecognitionException { 2302 public final EObject ruleTypeReference() throws RecognitionException {
1693 EObject current = null; 2303 EObject current = null;
1694 2304
1695 Token otherlv_0=null; 2305 Token lv_forceObjectType_1_0=null;
1696 AntlrDatatypeRuleToken lv_name_1_0 = null; 2306
2307
2308 enterRule();
2309
2310 try {
2311 // InternalSolverLanguageParser.g:933:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) )
2312 // InternalSolverLanguageParser.g:934:2: ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? )
2313 {
2314 // InternalSolverLanguageParser.g:934:2: ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? )
2315 // InternalSolverLanguageParser.g:935:3: ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )?
2316 {
2317 // InternalSolverLanguageParser.g:935:3: ( ( ruleQualifiedName ) )
2318 // InternalSolverLanguageParser.g:936:4: ( ruleQualifiedName )
2319 {
2320 // InternalSolverLanguageParser.g:936:4: ( ruleQualifiedName )
2321 // InternalSolverLanguageParser.g:937:5: ruleQualifiedName
2322 {
2323
2324 if (current==null) {
2325 current = createModelElement(grammarAccess.getTypeReferenceRule());
2326 }
2327
1697 2328
1698 EObject lv_argumentList_2_0 = null; 2329 newCompositeNode(grammarAccess.getTypeReferenceAccess().getTypeSymbolCrossReference_0_0());
2330
2331 pushFollow(FOLLOW_18);
2332 ruleQualifiedName();
2333
2334 state._fsp--;
2335
2336
2337 afterParserOrEnumRuleCall();
2338
2339
2340 }
2341
2342
2343 }
2344
2345 // InternalSolverLanguageParser.g:951:3: ( (lv_forceObjectType_1_0= Object ) )?
2346 int alt12=2;
2347 int LA12_0 = input.LA(1);
2348
2349 if ( (LA12_0==Object) ) {
2350 alt12=1;
2351 }
2352 switch (alt12) {
2353 case 1 :
2354 // InternalSolverLanguageParser.g:952:4: (lv_forceObjectType_1_0= Object )
2355 {
2356 // InternalSolverLanguageParser.g:952:4: (lv_forceObjectType_1_0= Object )
2357 // InternalSolverLanguageParser.g:953:5: lv_forceObjectType_1_0= Object
2358 {
2359 lv_forceObjectType_1_0=(Token)match(input,Object,FOLLOW_2);
2360
2361 newLeafNode(lv_forceObjectType_1_0, grammarAccess.getTypeReferenceAccess().getForceObjectTypeObjectKeyword_1_0());
2362
2363
2364 if (current==null) {
2365 current = createModelElement(grammarAccess.getTypeReferenceRule());
2366 }
2367 setWithLastConsumed(current, "forceObjectType", true, "object");
2368
2369
2370 }
2371
2372
2373 }
2374 break;
2375
2376 }
2377
2378
2379 }
2380
2381
2382 }
2383
2384
2385 leaveRule();
2386
2387 }
2388
2389 catch (RecognitionException re) {
2390 recover(input,re);
2391 appendSkippedTokens();
2392 }
2393 finally {
2394 }
2395 return current;
2396 }
2397 // $ANTLR end "ruleTypeReference"
2398
2399
2400 // $ANTLR start "entryRuleAttribute"
2401 // InternalSolverLanguageParser.g:969:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ;
2402 public final EObject entryRuleAttribute() throws RecognitionException {
2403 EObject current = null;
2404
2405 EObject iv_ruleAttribute = null;
2406
2407
2408 try {
2409 // InternalSolverLanguageParser.g:969:50: (iv_ruleAttribute= ruleAttribute EOF )
2410 // InternalSolverLanguageParser.g:970:2: iv_ruleAttribute= ruleAttribute EOF
2411 {
2412 newCompositeNode(grammarAccess.getAttributeRule());
2413 pushFollow(FOLLOW_1);
2414 iv_ruleAttribute=ruleAttribute();
2415
2416 state._fsp--;
2417
2418 current =iv_ruleAttribute;
2419 match(input,EOF,FOLLOW_2);
2420
2421 }
2422
2423 }
2424
2425 catch (RecognitionException re) {
2426 recover(input,re);
2427 appendSkippedTokens();
2428 }
2429 finally {
2430 }
2431 return current;
2432 }
2433 // $ANTLR end "entryRuleAttribute"
2434
2435
2436 // $ANTLR start "ruleAttribute"
2437 // InternalSolverLanguageParser.g:976:1: ruleAttribute returns [EObject current=null] : ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ;
2438 public final EObject ruleAttribute() throws RecognitionException {
2439 EObject current = null;
2440
2441 Token this_FULL_STOP_2=null;
2442 Enumerator lv_kind_0_0 = null;
1699 2443
1700 2444
1701 2445
1702 enterRule(); 2446 enterRule();
1703 2447
1704 try { 2448 try {
1705 // InternalSolverLanguageParser.g:697:2: ( (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ) 2449 // InternalSolverLanguageParser.g:982:2: ( ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) )
1706 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) 2450 // InternalSolverLanguageParser.g:983:2: ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )
1707 { 2451 {
1708 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) 2452 // InternalSolverLanguageParser.g:983:2: ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )
1709 // InternalSolverLanguageParser.g:699:3: otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) 2453 // InternalSolverLanguageParser.g:984:3: ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP
1710 { 2454 {
1711 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 2455 // InternalSolverLanguageParser.g:984:3: ( (lv_kind_0_0= ruleAttributeKind ) )
1712 2456 // InternalSolverLanguageParser.g:985:4: (lv_kind_0_0= ruleAttributeKind )
1713 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
1714
1715 // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) )
1716 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1717 { 2457 {
1718 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName ) 2458 // InternalSolverLanguageParser.g:985:4: (lv_kind_0_0= ruleAttributeKind )
1719 // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName 2459 // InternalSolverLanguageParser.g:986:5: lv_kind_0_0= ruleAttributeKind
1720 { 2460 {
1721 2461
1722 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); 2462 newCompositeNode(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0());
1723 2463
1724 pushFollow(FOLLOW_11); 2464 pushFollow(FOLLOW_3);
1725 lv_name_1_0=ruleQualifiedName(); 2465 lv_kind_0_0=ruleAttributeKind();
1726 2466
1727 state._fsp--; 2467 state._fsp--;
1728 2468
1729 2469
1730 if (current==null) { 2470 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 2471 current = createModelElementForParent(grammarAccess.getAttributeRule());
1732 } 2472 }
1733 set( 2473 set(
1734 current, 2474 current,
1735 "name", 2475 "kind",
1736 lv_name_1_0, 2476 lv_kind_0_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); 2477 "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind");
1738 afterParserOrEnumRuleCall(); 2478 afterParserOrEnumRuleCall();
1739 2479
1740 2480
@@ -1743,29 +2483,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1743 2483
1744 } 2484 }
1745 2485
1746 // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) ) 2486 // InternalSolverLanguageParser.g:1003:3: ( ( ruleQualifiedName ) )
1747 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) 2487 // InternalSolverLanguageParser.g:1004:4: ( ruleQualifiedName )
1748 { 2488 {
1749 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) 2489 // InternalSolverLanguageParser.g:1004:4: ( ruleQualifiedName )
1750 // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList 2490 // InternalSolverLanguageParser.g:1005:5: ruleQualifiedName
1751 { 2491 {
1752 2492
1753 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); 2493 if (current==null) {
2494 current = createModelElement(grammarAccess.getAttributeRule());
2495 }
1754 2496
1755 pushFollow(FOLLOW_2); 2497
1756 lv_argumentList_2_0=ruleArgumentList(); 2498 newCompositeNode(grammarAccess.getAttributeAccess().getTargetSymbolCrossReference_1_0());
2499
2500 pushFollow(FOLLOW_4);
2501 ruleQualifiedName();
1757 2502
1758 state._fsp--; 2503 state._fsp--;
1759 2504
1760 2505
1761 if (current==null) {
1762 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
1763 }
1764 set(
1765 current,
1766 "argumentList",
1767 lv_argumentList_2_0,
1768 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1769 afterParserOrEnumRuleCall(); 2506 afterParserOrEnumRuleCall();
1770 2507
1771 2508
@@ -1774,6 +2511,165 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1774 2511
1775 } 2512 }
1776 2513
2514 this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2515
2516 newLeafNode(this_FULL_STOP_2, grammarAccess.getAttributeAccess().getFULL_STOPTerminalRuleCall_2());
2517
2518
2519 }
2520
2521
2522 }
2523
2524
2525 leaveRule();
2526
2527 }
2528
2529 catch (RecognitionException re) {
2530 recover(input,re);
2531 appendSkippedTokens();
2532 }
2533 finally {
2534 }
2535 return current;
2536 }
2537 // $ANTLR end "ruleAttribute"
2538
2539
2540 // $ANTLR start "entryRuleExternDeclaration"
2541 // InternalSolverLanguageParser.g:1027:1: entryRuleExternDeclaration returns [EObject current=null] : iv_ruleExternDeclaration= ruleExternDeclaration EOF ;
2542 public final EObject entryRuleExternDeclaration() throws RecognitionException {
2543 EObject current = null;
2544
2545 EObject iv_ruleExternDeclaration = null;
2546
2547
2548 try {
2549 // InternalSolverLanguageParser.g:1027:58: (iv_ruleExternDeclaration= ruleExternDeclaration EOF )
2550 // InternalSolverLanguageParser.g:1028:2: iv_ruleExternDeclaration= ruleExternDeclaration EOF
2551 {
2552 newCompositeNode(grammarAccess.getExternDeclarationRule());
2553 pushFollow(FOLLOW_1);
2554 iv_ruleExternDeclaration=ruleExternDeclaration();
2555
2556 state._fsp--;
2557
2558 current =iv_ruleExternDeclaration;
2559 match(input,EOF,FOLLOW_2);
2560
2561 }
2562
2563 }
2564
2565 catch (RecognitionException re) {
2566 recover(input,re);
2567 appendSkippedTokens();
2568 }
2569 finally {
2570 }
2571 return current;
2572 }
2573 // $ANTLR end "entryRuleExternDeclaration"
2574
2575
2576 // $ANTLR start "ruleExternDeclaration"
2577 // InternalSolverLanguageParser.g:1034:1: ruleExternDeclaration returns [EObject current=null] : (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) ;
2578 public final EObject ruleExternDeclaration() throws RecognitionException {
2579 EObject current = null;
2580
2581 EObject this_ExternPredicateDeclaration_0 = null;
2582
2583 EObject this_ExternFunctionDeclaration_1 = null;
2584
2585 EObject this_ExternAggregationOperatorDeclaration_2 = null;
2586
2587 EObject this_ExternDatatypeDeclaration_3 = null;
2588
2589
2590
2591 enterRule();
2592
2593 try {
2594 // InternalSolverLanguageParser.g:1040:2: ( (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) )
2595 // InternalSolverLanguageParser.g:1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration )
2596 {
2597 // InternalSolverLanguageParser.g:1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration )
2598 int alt13=4;
2599 alt13 = dfa13.predict(input);
2600 switch (alt13) {
2601 case 1 :
2602 // InternalSolverLanguageParser.g:1042:3: this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration
2603 {
2604
2605 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternPredicateDeclarationParserRuleCall_0());
2606
2607 pushFollow(FOLLOW_2);
2608 this_ExternPredicateDeclaration_0=ruleExternPredicateDeclaration();
2609
2610 state._fsp--;
2611
2612
2613 current = this_ExternPredicateDeclaration_0;
2614 afterParserOrEnumRuleCall();
2615
2616
2617 }
2618 break;
2619 case 2 :
2620 // InternalSolverLanguageParser.g:1051:3: this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration
2621 {
2622
2623 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternFunctionDeclarationParserRuleCall_1());
2624
2625 pushFollow(FOLLOW_2);
2626 this_ExternFunctionDeclaration_1=ruleExternFunctionDeclaration();
2627
2628 state._fsp--;
2629
2630
2631 current = this_ExternFunctionDeclaration_1;
2632 afterParserOrEnumRuleCall();
2633
2634
2635 }
2636 break;
2637 case 3 :
2638 // InternalSolverLanguageParser.g:1060:3: this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration
2639 {
2640
2641 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternAggregationOperatorDeclarationParserRuleCall_2());
2642
2643 pushFollow(FOLLOW_2);
2644 this_ExternAggregationOperatorDeclaration_2=ruleExternAggregationOperatorDeclaration();
2645
2646 state._fsp--;
2647
2648
2649 current = this_ExternAggregationOperatorDeclaration_2;
2650 afterParserOrEnumRuleCall();
2651
2652
2653 }
2654 break;
2655 case 4 :
2656 // InternalSolverLanguageParser.g:1069:3: this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration
2657 {
2658
2659 newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternDatatypeDeclarationParserRuleCall_3());
2660
2661 pushFollow(FOLLOW_2);
2662 this_ExternDatatypeDeclaration_3=ruleExternDatatypeDeclaration();
2663
2664 state._fsp--;
2665
2666
2667 current = this_ExternDatatypeDeclaration_3;
2668 afterParserOrEnumRuleCall();
2669
2670
2671 }
2672 break;
1777 2673
1778 } 2674 }
1779 2675
@@ -1793,28 +2689,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1793 } 2689 }
1794 return current; 2690 return current;
1795 } 2691 }
1796 // $ANTLR end "ruleExternPredicateDefinition" 2692 // $ANTLR end "ruleExternDeclaration"
1797 2693
1798 2694
1799 // $ANTLR start "entryRuleExternMetricDefinition" 2695 // $ANTLR start "entryRuleExternPredicateDeclaration"
1800 // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; 2696 // InternalSolverLanguageParser.g:1081:1: entryRuleExternPredicateDeclaration returns [EObject current=null] : iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF ;
1801 public final EObject entryRuleExternMetricDefinition() throws RecognitionException { 2697 public final EObject entryRuleExternPredicateDeclaration() throws RecognitionException {
1802 EObject current = null; 2698 EObject current = null;
1803 2699
1804 EObject iv_ruleExternMetricDefinition = null; 2700 EObject iv_ruleExternPredicateDeclaration = null;
1805 2701
1806 2702
1807 try { 2703 try {
1808 // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) 2704 // InternalSolverLanguageParser.g:1081:67: (iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF )
1809 // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF 2705 // InternalSolverLanguageParser.g:1082:2: iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF
1810 { 2706 {
1811 newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); 2707 newCompositeNode(grammarAccess.getExternPredicateDeclarationRule());
1812 pushFollow(FOLLOW_1); 2708 pushFollow(FOLLOW_1);
1813 iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); 2709 iv_ruleExternPredicateDeclaration=ruleExternPredicateDeclaration();
1814 2710
1815 state._fsp--; 2711 state._fsp--;
1816 2712
1817 current =iv_ruleExternMetricDefinition; 2713 current =iv_ruleExternPredicateDeclaration;
1818 match(input,EOF,FOLLOW_2); 2714 match(input,EOF,FOLLOW_2);
1819 2715
1820 } 2716 }
@@ -1829,84 +2725,220 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1829 } 2725 }
1830 return current; 2726 return current;
1831 } 2727 }
1832 // $ANTLR end "entryRuleExternMetricDefinition" 2728 // $ANTLR end "entryRuleExternPredicateDeclaration"
1833 2729
1834 2730
1835 // $ANTLR start "ruleExternMetricDefinition" 2731 // $ANTLR start "ruleExternPredicateDeclaration"
1836 // InternalSolverLanguageParser.g:752:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; 2732 // InternalSolverLanguageParser.g:1088:1: ruleExternPredicateDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) ;
1837 public final EObject ruleExternMetricDefinition() throws RecognitionException { 2733 public final EObject ruleExternPredicateDeclaration() throws RecognitionException {
1838 EObject current = null; 2734 EObject current = null;
1839 2735
1840 Token otherlv_0=null; 2736 Token otherlv_0=null;
1841 AntlrDatatypeRuleToken lv_name_2_0 = null; 2737 Token lv_functional_2_0=null;
2738 Token lv_error_3_0=null;
2739 Token this_FULL_STOP_6=null;
2740 AntlrDatatypeRuleToken lv_name_4_0 = null;
1842 2741
1843 EObject lv_argumentList_3_0 = null; 2742 EObject lv_argumentList_5_0 = null;
1844 2743
1845 2744
1846 2745
1847 enterRule(); 2746 enterRule();
1848 2747
1849 try { 2748 try {
1850 // InternalSolverLanguageParser.g:758:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) 2749 // InternalSolverLanguageParser.g:1094:2: ( (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) )
1851 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 2750 // InternalSolverLanguageParser.g:1095:2: (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP )
1852 { 2751 {
1853 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 2752 // InternalSolverLanguageParser.g:1095:2: (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP )
1854 // InternalSolverLanguageParser.g:760:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) 2753 // InternalSolverLanguageParser.g:1096:3: otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP
1855 { 2754 {
1856 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 2755 otherlv_0=(Token)match(input,Extern,FOLLOW_19);
1857 2756
1858 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 2757 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDeclarationAccess().getExternKeyword_0());
1859 2758
1860 // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) ) 2759 // InternalSolverLanguageParser.g:1100:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) )
1861 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) 2760 // InternalSolverLanguageParser.g:1101:4: ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) )
1862 { 2761 {
1863 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) 2762 // InternalSolverLanguageParser.g:1101:4: ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) )
1864 // InternalSolverLanguageParser.g:766:5: ruleQualifiedName 2763 // InternalSolverLanguageParser.g:1102:5: ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* )
1865 { 2764 {
1866 2765
1867 if (current==null) { 2766 getUnorderedGroupHelper().enter(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
1868 current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
1869 }
1870 2767
2768 // InternalSolverLanguageParser.g:1105:5: ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* )
2769 // InternalSolverLanguageParser.g:1106:6: ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )*
2770 {
2771 // InternalSolverLanguageParser.g:1106:6: ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )*
2772 loop14:
2773 do {
2774 int alt14=3;
2775 int LA14_0 = input.LA(1);
1871 2776
1872 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 2777 if ( LA14_0 == Functional && getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0) ) {
1873 2778 alt14=1;
1874 pushFollow(FOLLOW_8); 2779 }
1875 ruleQualifiedName(); 2780 else if ( LA14_0 == Error && getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1) ) {
2781 alt14=2;
2782 }
1876 2783
1877 state._fsp--;
1878 2784
2785 switch (alt14) {
2786 case 1 :
2787 // InternalSolverLanguageParser.g:1107:4: ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) )
2788 {
2789 // InternalSolverLanguageParser.g:1107:4: ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) )
2790 // InternalSolverLanguageParser.g:1108:5: {...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) )
2791 {
2792 if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0) ) {
2793 throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0)");
2794 }
2795 // InternalSolverLanguageParser.g:1108:123: ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) )
2796 // InternalSolverLanguageParser.g:1109:6: ({...}? => ( (lv_functional_2_0= Functional ) ) )
2797 {
2798
2799 getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0);
2800
2801 // InternalSolverLanguageParser.g:1112:9: ({...}? => ( (lv_functional_2_0= Functional ) ) )
2802 // InternalSolverLanguageParser.g:1112:10: {...}? => ( (lv_functional_2_0= Functional ) )
2803 {
2804 if ( !((true)) ) {
2805 throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "true");
2806 }
2807 // InternalSolverLanguageParser.g:1112:19: ( (lv_functional_2_0= Functional ) )
2808 // InternalSolverLanguageParser.g:1112:20: (lv_functional_2_0= Functional )
2809 {
2810 // InternalSolverLanguageParser.g:1112:20: (lv_functional_2_0= Functional )
2811 // InternalSolverLanguageParser.g:1113:10: lv_functional_2_0= Functional
2812 {
2813 lv_functional_2_0=(Token)match(input,Functional,FOLLOW_19);
2814
2815 newLeafNode(lv_functional_2_0, grammarAccess.getExternPredicateDeclarationAccess().getFunctionalFunctionalKeyword_1_0_0());
2816
2817
2818 if (current==null) {
2819 current = createModelElement(grammarAccess.getExternPredicateDeclarationRule());
2820 }
2821 setWithLastConsumed(current, "functional", true, "functional");
2822
2823
2824 }
2825
2826
2827 }
2828
2829
2830 }
2831
2832
2833 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
2834
2835
2836 }
2837
2838
2839 }
2840
2841
2842 }
2843 break;
2844 case 2 :
2845 // InternalSolverLanguageParser.g:1130:4: ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) )
2846 {
2847 // InternalSolverLanguageParser.g:1130:4: ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) )
2848 // InternalSolverLanguageParser.g:1131:5: {...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) )
2849 {
2850 if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1) ) {
2851 throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1)");
2852 }
2853 // InternalSolverLanguageParser.g:1131:123: ( ({...}? => ( (lv_error_3_0= Error ) ) ) )
2854 // InternalSolverLanguageParser.g:1132:6: ({...}? => ( (lv_error_3_0= Error ) ) )
2855 {
2856
2857 getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1);
2858
2859 // InternalSolverLanguageParser.g:1135:9: ({...}? => ( (lv_error_3_0= Error ) ) )
2860 // InternalSolverLanguageParser.g:1135:10: {...}? => ( (lv_error_3_0= Error ) )
2861 {
2862 if ( !((true)) ) {
2863 throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "true");
2864 }
2865 // InternalSolverLanguageParser.g:1135:19: ( (lv_error_3_0= Error ) )
2866 // InternalSolverLanguageParser.g:1135:20: (lv_error_3_0= Error )
2867 {
2868 // InternalSolverLanguageParser.g:1135:20: (lv_error_3_0= Error )
2869 // InternalSolverLanguageParser.g:1136:10: lv_error_3_0= Error
2870 {
2871 lv_error_3_0=(Token)match(input,Error,FOLLOW_19);
2872
2873 newLeafNode(lv_error_3_0, grammarAccess.getExternPredicateDeclarationAccess().getErrorErrorKeyword_1_1_0());
2874
2875
2876 if (current==null) {
2877 current = createModelElement(grammarAccess.getExternPredicateDeclarationRule());
2878 }
2879 setWithLastConsumed(current, "error", true, "error");
2880
2881
2882 }
2883
2884
2885 }
2886
2887
2888 }
2889
2890
2891 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
2892
2893
2894 }
2895
2896
2897 }
2898
2899
2900 }
2901 break;
2902
2903 default :
2904 break loop14;
2905 }
2906 } while (true);
1879 2907
1880 afterParserOrEnumRuleCall();
1881
1882 2908
1883 } 2909 }
1884 2910
1885 2911
1886 } 2912 }
1887 2913
1888 // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) ) 2914
1889 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) 2915 getUnorderedGroupHelper().leave(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1());
2916
2917
2918 }
2919
2920 // InternalSolverLanguageParser.g:1160:3: ( (lv_name_4_0= ruleQualifiedName ) )
2921 // InternalSolverLanguageParser.g:1161:4: (lv_name_4_0= ruleQualifiedName )
1890 { 2922 {
1891 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) 2923 // InternalSolverLanguageParser.g:1161:4: (lv_name_4_0= ruleQualifiedName )
1892 // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName 2924 // InternalSolverLanguageParser.g:1162:5: lv_name_4_0= ruleQualifiedName
1893 { 2925 {
1894 2926
1895 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 2927 newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
1896 2928
1897 pushFollow(FOLLOW_11); 2929 pushFollow(FOLLOW_15);
1898 lv_name_2_0=ruleQualifiedName(); 2930 lv_name_4_0=ruleQualifiedName();
1899 2931
1900 state._fsp--; 2932 state._fsp--;
1901 2933
1902 2934
1903 if (current==null) { 2935 if (current==null) {
1904 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2936 current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule());
1905 } 2937 }
1906 set( 2938 set(
1907 current, 2939 current,
1908 "name", 2940 "name",
1909 lv_name_2_0, 2941 lv_name_4_0,
1910 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); 2942 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1911 afterParserOrEnumRuleCall(); 2943 afterParserOrEnumRuleCall();
1912 2944
@@ -1916,28 +2948,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1916 2948
1917 } 2949 }
1918 2950
1919 // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) 2951 // InternalSolverLanguageParser.g:1179:3: ( (lv_argumentList_5_0= ruleArgumentList ) )
1920 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) 2952 // InternalSolverLanguageParser.g:1180:4: (lv_argumentList_5_0= ruleArgumentList )
1921 { 2953 {
1922 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) 2954 // InternalSolverLanguageParser.g:1180:4: (lv_argumentList_5_0= ruleArgumentList )
1923 // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList 2955 // InternalSolverLanguageParser.g:1181:5: lv_argumentList_5_0= ruleArgumentList
1924 { 2956 {
1925 2957
1926 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); 2958 newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0());
1927 2959
1928 pushFollow(FOLLOW_2); 2960 pushFollow(FOLLOW_4);
1929 lv_argumentList_3_0=ruleArgumentList(); 2961 lv_argumentList_5_0=ruleArgumentList();
1930 2962
1931 state._fsp--; 2963 state._fsp--;
1932 2964
1933 2965
1934 if (current==null) { 2966 if (current==null) {
1935 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2967 current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule());
1936 } 2968 }
1937 set( 2969 set(
1938 current, 2970 current,
1939 "argumentList", 2971 "argumentList",
1940 lv_argumentList_3_0, 2972 lv_argumentList_5_0,
1941 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 2973 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1942 afterParserOrEnumRuleCall(); 2974 afterParserOrEnumRuleCall();
1943 2975
@@ -1947,6 +2979,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1947 2979
1948 } 2980 }
1949 2981
2982 this_FULL_STOP_6=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2983
2984 newLeafNode(this_FULL_STOP_6, grammarAccess.getExternPredicateDeclarationAccess().getFULL_STOPTerminalRuleCall_4());
2985
1950 2986
1951 } 2987 }
1952 2988
@@ -1966,28 +3002,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1966 } 3002 }
1967 return current; 3003 return current;
1968 } 3004 }
1969 // $ANTLR end "ruleExternMetricDefinition" 3005 // $ANTLR end "ruleExternPredicateDeclaration"
1970 3006
1971 3007
1972 // $ANTLR start "entryRuleExternAggregatorDefinition" 3008 // $ANTLR start "entryRuleExternFunctionDeclaration"
1973 // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ; 3009 // InternalSolverLanguageParser.g:1206:1: entryRuleExternFunctionDeclaration returns [EObject current=null] : iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF ;
1974 public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException { 3010 public final EObject entryRuleExternFunctionDeclaration() throws RecognitionException {
1975 EObject current = null; 3011 EObject current = null;
1976 3012
1977 EObject iv_ruleExternAggregatorDefinition = null; 3013 EObject iv_ruleExternFunctionDeclaration = null;
1978 3014
1979 3015
1980 try { 3016 try {
1981 // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ) 3017 // InternalSolverLanguageParser.g:1206:66: (iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF )
1982 // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF 3018 // InternalSolverLanguageParser.g:1207:2: iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF
1983 { 3019 {
1984 newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); 3020 newCompositeNode(grammarAccess.getExternFunctionDeclarationRule());
1985 pushFollow(FOLLOW_1); 3021 pushFollow(FOLLOW_1);
1986 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition(); 3022 iv_ruleExternFunctionDeclaration=ruleExternFunctionDeclaration();
1987 3023
1988 state._fsp--; 3024 state._fsp--;
1989 3025
1990 current =iv_ruleExternAggregatorDefinition; 3026 current =iv_ruleExternFunctionDeclaration;
1991 match(input,EOF,FOLLOW_2); 3027 match(input,EOF,FOLLOW_2);
1992 3028
1993 } 3029 }
@@ -2002,50 +3038,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2002 } 3038 }
2003 return current; 3039 return current;
2004 } 3040 }
2005 // $ANTLR end "entryRuleExternAggregatorDefinition" 3041 // $ANTLR end "entryRuleExternFunctionDeclaration"
2006 3042
2007 3043
2008 // $ANTLR start "ruleExternAggregatorDefinition" 3044 // $ANTLR start "ruleExternFunctionDeclaration"
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 ) ; 3045 // InternalSolverLanguageParser.g:1213:1: ruleExternFunctionDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
2010 public final EObject ruleExternAggregatorDefinition() throws RecognitionException { 3046 public final EObject ruleExternFunctionDeclaration() throws RecognitionException {
2011 EObject current = null; 3047 EObject current = null;
2012 3048
2013 Token otherlv_0=null; 3049 Token otherlv_0=null;
2014 Token otherlv_3=null; 3050 Token this_FULL_STOP_4=null;
2015 Token otherlv_5=null;
2016 Token otherlv_6=null;
2017 AntlrDatatypeRuleToken lv_name_2_0 = null; 3051 AntlrDatatypeRuleToken lv_name_2_0 = null;
2018 3052
3053 EObject lv_argumentList_3_0 = null;
3054
2019 3055
2020 3056
2021 enterRule(); 3057 enterRule();
2022 3058
2023 try { 3059 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 ) ) 3060 // InternalSolverLanguageParser.g:1219:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
2025 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) 3061 // InternalSolverLanguageParser.g:1220:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP )
2026 { 3062 {
2027 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) 3063 // InternalSolverLanguageParser.g:1220:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP )
2028 // InternalSolverLanguageParser.g:837:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket 3064 // InternalSolverLanguageParser.g:1221:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP
2029 { 3065 {
2030 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 3066 otherlv_0=(Token)match(input,Extern,FOLLOW_3);
2031 3067
2032 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); 3068 newLeafNode(otherlv_0, grammarAccess.getExternFunctionDeclarationAccess().getExternKeyword_0());
2033 3069
2034 // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) ) 3070 // InternalSolverLanguageParser.g:1225:3: ( ( ruleQualifiedName ) )
2035 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) 3071 // InternalSolverLanguageParser.g:1226:4: ( ruleQualifiedName )
2036 { 3072 {
2037 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) 3073 // InternalSolverLanguageParser.g:1226:4: ( ruleQualifiedName )
2038 // InternalSolverLanguageParser.g:843:5: ruleQualifiedName 3074 // InternalSolverLanguageParser.g:1227:5: ruleQualifiedName
2039 { 3075 {
2040 3076
2041 if (current==null) { 3077 if (current==null) {
2042 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); 3078 current = createModelElement(grammarAccess.getExternFunctionDeclarationRule());
2043 } 3079 }
2044 3080
2045 3081
2046 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 3082 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolCrossReference_1_0());
2047 3083
2048 pushFollow(FOLLOW_8); 3084 pushFollow(FOLLOW_3);
2049 ruleQualifiedName(); 3085 ruleQualifiedName();
2050 3086
2051 state._fsp--; 3087 state._fsp--;
@@ -2059,23 +3095,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2059 3095
2060 } 3096 }
2061 3097
2062 // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) ) 3098 // InternalSolverLanguageParser.g:1241:3: ( (lv_name_2_0= ruleQualifiedName ) )
2063 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) 3099 // InternalSolverLanguageParser.g:1242:4: (lv_name_2_0= ruleQualifiedName )
2064 { 3100 {
2065 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) 3101 // InternalSolverLanguageParser.g:1242:4: (lv_name_2_0= ruleQualifiedName )
2066 // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName 3102 // InternalSolverLanguageParser.g:1243:5: lv_name_2_0= ruleQualifiedName
2067 { 3103 {
2068 3104
2069 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 3105 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
2070 3106
2071 pushFollow(FOLLOW_14); 3107 pushFollow(FOLLOW_15);
2072 lv_name_2_0=ruleQualifiedName(); 3108 lv_name_2_0=ruleQualifiedName();
2073 3109
2074 state._fsp--; 3110 state._fsp--;
2075 3111
2076 3112
2077 if (current==null) { 3113 if (current==null) {
2078 current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); 3114 current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule());
2079 } 3115 }
2080 set( 3116 set(
2081 current, 3117 current,
@@ -2090,30 +3126,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2090 3126
2091 } 3127 }
2092 3128
2093 otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_8); 3129 // InternalSolverLanguageParser.g:1260:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
2094 3130 // InternalSolverLanguageParser.g:1261:4: (lv_argumentList_3_0= ruleArgumentList )
2095 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
2096
2097 // InternalSolverLanguageParser.g:880:3: ( ( ruleQualifiedName ) )
2098 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2099 { 3131 {
2100 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName ) 3132 // InternalSolverLanguageParser.g:1261:4: (lv_argumentList_3_0= ruleArgumentList )
2101 // InternalSolverLanguageParser.g:882:5: ruleQualifiedName 3133 // InternalSolverLanguageParser.g:1262:5: lv_argumentList_3_0= ruleArgumentList
2102 { 3134 {
2103 3135
2104 if (current==null) { 3136 newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0());
2105 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2106 }
2107
2108
2109 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
2110 3137
2111 pushFollow(FOLLOW_15); 3138 pushFollow(FOLLOW_4);
2112 ruleQualifiedName(); 3139 lv_argumentList_3_0=ruleArgumentList();
2113 3140
2114 state._fsp--; 3141 state._fsp--;
2115 3142
2116 3143
3144 if (current==null) {
3145 current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule());
3146 }
3147 set(
3148 current,
3149 "argumentList",
3150 lv_argumentList_3_0,
3151 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
2117 afterParserOrEnumRuleCall(); 3152 afterParserOrEnumRuleCall();
2118 3153
2119 3154
@@ -2122,13 +3157,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2122 3157
2123 } 3158 }
2124 3159
2125 otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16); 3160 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2126
2127 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
2128
2129 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
2130 3161
2131 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); 3162 newLeafNode(this_FULL_STOP_4, grammarAccess.getExternFunctionDeclarationAccess().getFULL_STOPTerminalRuleCall_4());
2132 3163
2133 3164
2134 } 3165 }
@@ -2149,28 +3180,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2149 } 3180 }
2150 return current; 3181 return current;
2151 } 3182 }
2152 // $ANTLR end "ruleExternAggregatorDefinition" 3183 // $ANTLR end "ruleExternFunctionDeclaration"
2153 3184
2154 3185
2155 // $ANTLR start "entryRuleExternDatatypeDefinition" 3186 // $ANTLR start "entryRuleExternAggregationOperatorDeclaration"
2156 // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ; 3187 // InternalSolverLanguageParser.g:1287:1: entryRuleExternAggregationOperatorDeclaration returns [EObject current=null] : iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF ;
2157 public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException { 3188 public final EObject entryRuleExternAggregationOperatorDeclaration() throws RecognitionException {
2158 EObject current = null; 3189 EObject current = null;
2159 3190
2160 EObject iv_ruleExternDatatypeDefinition = null; 3191 EObject iv_ruleExternAggregationOperatorDeclaration = null;
2161 3192
2162 3193
2163 try { 3194 try {
2164 // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ) 3195 // InternalSolverLanguageParser.g:1287:77: (iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF )
2165 // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF 3196 // InternalSolverLanguageParser.g:1288:2: iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF
2166 { 3197 {
2167 newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); 3198 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationRule());
2168 pushFollow(FOLLOW_1); 3199 pushFollow(FOLLOW_1);
2169 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition(); 3200 iv_ruleExternAggregationOperatorDeclaration=ruleExternAggregationOperatorDeclaration();
2170 3201
2171 state._fsp--; 3202 state._fsp--;
2172 3203
2173 current =iv_ruleExternDatatypeDefinition; 3204 current =iv_ruleExternAggregationOperatorDeclaration;
2174 match(input,EOF,FOLLOW_2); 3205 match(input,EOF,FOLLOW_2);
2175 3206
2176 } 3207 }
@@ -2185,18 +3216,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2185 } 3216 }
2186 return current; 3217 return current;
2187 } 3218 }
2188 // $ANTLR end "entryRuleExternDatatypeDefinition" 3219 // $ANTLR end "entryRuleExternAggregationOperatorDeclaration"
2189 3220
2190 3221
2191 // $ANTLR start "ruleExternDatatypeDefinition" 3222 // $ANTLR start "ruleExternAggregationOperatorDeclaration"
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 ) ) )* ) ) ; 3223 // InternalSolverLanguageParser.g:1294:1: ruleExternAggregationOperatorDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) ;
2193 public final EObject ruleExternDatatypeDefinition() throws RecognitionException { 3224 public final EObject ruleExternAggregationOperatorDeclaration() throws RecognitionException {
2194 EObject current = null; 3225 EObject current = null;
2195 3226
2196 Token otherlv_0=null; 3227 Token otherlv_0=null;
2197 Token otherlv_1=null;
2198 Token otherlv_3=null; 3228 Token otherlv_3=null;
2199 Token otherlv_5=null; 3229 Token otherlv_5=null;
3230 Token otherlv_6=null;
3231 Token this_FULL_STOP_7=null;
2200 AntlrDatatypeRuleToken lv_name_2_0 = null; 3232 AntlrDatatypeRuleToken lv_name_2_0 = null;
2201 3233
2202 3234
@@ -2204,37 +3236,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2204 enterRule(); 3236 enterRule();
2205 3237
2206 try { 3238 try {
2207 // InternalSolverLanguageParser.g:921:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ) 3239 // InternalSolverLanguageParser.g:1300:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) )
2208 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) 3240 // InternalSolverLanguageParser.g:1301:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP )
2209 { 3241 {
2210 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) 3242 // InternalSolverLanguageParser.g:1301:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP )
2211 // InternalSolverLanguageParser.g:923:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) 3243 // InternalSolverLanguageParser.g:1302:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP
2212 { 3244 {
2213 otherlv_0=(Token)match(input,Extern,FOLLOW_17); 3245 otherlv_0=(Token)match(input,Extern,FOLLOW_3);
2214 3246
2215 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); 3247 newLeafNode(otherlv_0, grammarAccess.getExternAggregationOperatorDeclarationAccess().getExternKeyword_0());
2216 3248
2217 otherlv_1=(Token)match(input,Datatype,FOLLOW_8); 3249 // InternalSolverLanguageParser.g:1306:3: ( ( ruleQualifiedName ) )
3250 // InternalSolverLanguageParser.g:1307:4: ( ruleQualifiedName )
3251 {
3252 // InternalSolverLanguageParser.g:1307:4: ( ruleQualifiedName )
3253 // InternalSolverLanguageParser.g:1308:5: ruleQualifiedName
3254 {
2218 3255
2219 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); 3256 if (current==null) {
2220 3257 current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule());
2221 // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) ) 3258 }
2222 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) 3259
3260
3261 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolCrossReference_1_0());
3262
3263 pushFollow(FOLLOW_3);
3264 ruleQualifiedName();
3265
3266 state._fsp--;
3267
3268
3269 afterParserOrEnumRuleCall();
3270
3271
3272 }
3273
3274
3275 }
3276
3277 // InternalSolverLanguageParser.g:1322:3: ( (lv_name_2_0= ruleQualifiedName ) )
3278 // InternalSolverLanguageParser.g:1323:4: (lv_name_2_0= ruleQualifiedName )
2223 { 3279 {
2224 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) 3280 // InternalSolverLanguageParser.g:1323:4: (lv_name_2_0= ruleQualifiedName )
2225 // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName 3281 // InternalSolverLanguageParser.g:1324:5: lv_name_2_0= ruleQualifiedName
2226 { 3282 {
2227 3283
2228 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); 3284 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
2229 3285
2230 pushFollow(FOLLOW_18); 3286 pushFollow(FOLLOW_20);
2231 lv_name_2_0=ruleQualifiedName(); 3287 lv_name_2_0=ruleQualifiedName();
2232 3288
2233 state._fsp--; 3289 state._fsp--;
2234 3290
2235 3291
2236 if (current==null) { 3292 if (current==null) {
2237 current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); 3293 current = createModelElementForParent(grammarAccess.getExternAggregationOperatorDeclarationRule());
2238 } 3294 }
2239 set( 3295 set(
2240 current, 3296 current,
@@ -2249,100 +3305,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2249 3305
2250 } 3306 }
2251 3307
2252 // InternalSolverLanguageParser.g:950:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) 3308 otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_3);
2253 // InternalSolverLanguageParser.g:951:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
2254 {
2255 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
2256 3309
2257 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); 3310 newLeafNode(otherlv_3, grammarAccess.getExternAggregationOperatorDeclarationAccess().getLeftCurlyBracketKeyword_3());
2258 3311
2259 // InternalSolverLanguageParser.g:955:4: ( ( ruleQualifiedName ) ) 3312 // InternalSolverLanguageParser.g:1345:3: ( ( ruleQualifiedName ) )
2260 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName ) 3313 // InternalSolverLanguageParser.g:1346:4: ( ruleQualifiedName )
2261 { 3314 {
2262 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName ) 3315 // InternalSolverLanguageParser.g:1346:4: ( ruleQualifiedName )
2263 // InternalSolverLanguageParser.g:957:6: ruleQualifiedName 3316 // InternalSolverLanguageParser.g:1347:5: ruleQualifiedName
2264 { 3317 {
2265 3318
2266 if (current==null) { 3319 if (current==null) {
2267 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); 3320 current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule());
2268 } 3321 }
2269 3322
2270 3323
2271 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); 3324 newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolCrossReference_4_0());
2272 3325
2273 pushFollow(FOLLOW_19); 3326 pushFollow(FOLLOW_21);
2274 ruleQualifiedName(); 3327 ruleQualifiedName();
2275 3328
2276 state._fsp--; 3329 state._fsp--;
2277 3330
2278 3331
2279 afterParserOrEnumRuleCall(); 3332 afterParserOrEnumRuleCall();
2280 3333
2281 3334
2282 } 3335 }
2283 3336
2284 3337
2285 } 3338 }
2286 3339
2287 // InternalSolverLanguageParser.g:971:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 3340 otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_22);
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 3341
3342 newLeafNode(otherlv_5, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFullStopFullStopFullStopKeyword_5());
3343
3344 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_4);
2343 3345
2344 } 3346 newLeafNode(otherlv_6, grammarAccess.getExternAggregationOperatorDeclarationAccess().getRightCurlyBracketKeyword_6());
3347
3348 this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
2345 3349
3350 newLeafNode(this_FULL_STOP_7, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFULL_STOPTerminalRuleCall_7());
3351
2346 3352
2347 } 3353 }
2348 3354
@@ -2362,28 +3368,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2362 } 3368 }
2363 return current; 3369 return current;
2364 } 3370 }
2365 // $ANTLR end "ruleExternDatatypeDefinition" 3371 // $ANTLR end "ruleExternAggregationOperatorDeclaration"
2366 3372
2367 3373
2368 // $ANTLR start "entryRuleVariable" 3374 // $ANTLR start "entryRuleExternDatatypeDeclaration"
2369 // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; 3375 // InternalSolverLanguageParser.g:1377:1: entryRuleExternDatatypeDeclaration returns [EObject current=null] : iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF ;
2370 public final EObject entryRuleVariable() throws RecognitionException { 3376 public final EObject entryRuleExternDatatypeDeclaration() throws RecognitionException {
2371 EObject current = null; 3377 EObject current = null;
2372 3378
2373 EObject iv_ruleVariable = null; 3379 EObject iv_ruleExternDatatypeDeclaration = null;
2374 3380
2375 3381
2376 try { 3382 try {
2377 // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF ) 3383 // InternalSolverLanguageParser.g:1377:66: (iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF )
2378 // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF 3384 // InternalSolverLanguageParser.g:1378:2: iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF
2379 { 3385 {
2380 newCompositeNode(grammarAccess.getVariableRule()); 3386 newCompositeNode(grammarAccess.getExternDatatypeDeclarationRule());
2381 pushFollow(FOLLOW_1); 3387 pushFollow(FOLLOW_1);
2382 iv_ruleVariable=ruleVariable(); 3388 iv_ruleExternDatatypeDeclaration=ruleExternDatatypeDeclaration();
2383 3389
2384 state._fsp--; 3390 state._fsp--;
2385 3391
2386 current =iv_ruleVariable; 3392 current =iv_ruleExternDatatypeDeclaration;
2387 match(input,EOF,FOLLOW_2); 3393 match(input,EOF,FOLLOW_2);
2388 3394
2389 } 3395 }
@@ -2398,91 +3404,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2398 } 3404 }
2399 return current; 3405 return current;
2400 } 3406 }
2401 // $ANTLR end "entryRuleVariable" 3407 // $ANTLR end "entryRuleExternDatatypeDeclaration"
2402 3408
2403 3409
2404 // $ANTLR start "ruleVariable" 3410 // $ANTLR start "ruleExternDatatypeDeclaration"
2405 // InternalSolverLanguageParser.g:1005:1: ruleVariable returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ; 3411 // InternalSolverLanguageParser.g:1384:1: ruleExternDatatypeDeclaration returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) ;
2406 public final EObject ruleVariable() throws RecognitionException { 3412 public final EObject ruleExternDatatypeDeclaration() throws RecognitionException {
2407 EObject current = null; 3413 EObject current = null;
2408 3414
2409 Token lv_name_1_0=null; 3415 Token otherlv_0=null;
3416 Token otherlv_1=null;
3417 Token this_FULL_STOP_3=null;
3418 AntlrDatatypeRuleToken lv_name_2_0 = null;
3419
2410 3420
2411 3421
2412 enterRule(); 3422 enterRule();
2413 3423
2414 try { 3424 try {
2415 // InternalSolverLanguageParser.g:1011:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ) 3425 // InternalSolverLanguageParser.g:1390:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) )
2416 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) 3426 // InternalSolverLanguageParser.g:1391:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP )
2417 { 3427 {
2418 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) 3428 // InternalSolverLanguageParser.g:1391:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP )
2419 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) 3429 // InternalSolverLanguageParser.g:1392:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP
2420 { 3430 {
2421 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? 3431 otherlv_0=(Token)match(input,Extern,FOLLOW_23);
2422 int alt8=2;
2423 int LA8_0 = input.LA(1);
2424 3432
2425 if ( (LA8_0==RULE_ID) ) { 3433 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDeclarationAccess().getExternKeyword_0());
2426 int LA8_1 = input.LA(2); 3434
2427 3435 otherlv_1=(Token)match(input,Datatype,FOLLOW_3);
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 3436
2467 // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) ) 3437 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDeclarationAccess().getDatatypeKeyword_1());
2468 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) 3438
3439 // InternalSolverLanguageParser.g:1400:3: ( (lv_name_2_0= ruleQualifiedName ) )
3440 // InternalSolverLanguageParser.g:1401:4: (lv_name_2_0= ruleQualifiedName )
2469 { 3441 {
2470 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) 3442 // InternalSolverLanguageParser.g:1401:4: (lv_name_2_0= ruleQualifiedName )
2471 // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID 3443 // InternalSolverLanguageParser.g:1402:5: lv_name_2_0= ruleQualifiedName
2472 { 3444 {
2473 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
2474 3445
2475 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); 3446 newCompositeNode(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0());
2476 3447
3448 pushFollow(FOLLOW_4);
3449 lv_name_2_0=ruleQualifiedName();
3450
3451 state._fsp--;
3452
2477 3453
2478 if (current==null) { 3454 if (current==null) {
2479 current = createModelElement(grammarAccess.getVariableRule()); 3455 current = createModelElementForParent(grammarAccess.getExternDatatypeDeclarationRule());
2480 } 3456 }
2481 setWithLastConsumed( 3457 set(
2482 current, 3458 current,
2483 "name", 3459 "name",
2484 lv_name_1_0, 3460 lv_name_2_0,
2485 "org.eclipse.xtext.common.Terminals.ID"); 3461 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
3462 afterParserOrEnumRuleCall();
2486 3463
2487 3464
2488 } 3465 }
@@ -2490,6 +3467,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2490 3467
2491 } 3468 }
2492 3469
3470 this_FULL_STOP_3=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
3471
3472 newLeafNode(this_FULL_STOP_3, grammarAccess.getExternDatatypeDeclarationAccess().getFULL_STOPTerminalRuleCall_3());
3473
2493 3474
2494 } 3475 }
2495 3476
@@ -2509,11 +3490,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2509 } 3490 }
2510 return current; 3491 return current;
2511 } 3492 }
2512 // $ANTLR end "ruleVariable" 3493 // $ANTLR end "ruleExternDatatypeDeclaration"
2513 3494
2514 3495
2515 // $ANTLR start "entryRuleExpression" 3496 // $ANTLR start "entryRuleExpression"
2516 // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; 3497 // InternalSolverLanguageParser.g:1427:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
2517 public final EObject entryRuleExpression() throws RecognitionException { 3498 public final EObject entryRuleExpression() throws RecognitionException {
2518 EObject current = null; 3499 EObject current = null;
2519 3500
@@ -2521,8 +3502,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2521 3502
2522 3503
2523 try { 3504 try {
2524 // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF ) 3505 // InternalSolverLanguageParser.g:1427:51: (iv_ruleExpression= ruleExpression EOF )
2525 // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF 3506 // InternalSolverLanguageParser.g:1428:2: iv_ruleExpression= ruleExpression EOF
2526 { 3507 {
2527 newCompositeNode(grammarAccess.getExpressionRule()); 3508 newCompositeNode(grammarAccess.getExpressionRule());
2528 pushFollow(FOLLOW_1); 3509 pushFollow(FOLLOW_1);
@@ -2549,121 +3530,191 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2549 3530
2550 3531
2551 // $ANTLR start "ruleExpression" 3532 // $ANTLR start "ruleExpression"
2552 // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ; 3533 // InternalSolverLanguageParser.g:1434:1: ruleExpression returns [EObject current=null] : (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) ;
2553 public final EObject ruleExpression() throws RecognitionException { 3534 public final EObject ruleExpression() throws RecognitionException {
2554 EObject current = null; 3535 EObject current = null;
2555 3536
2556 EObject this_IfElse_0 = null; 3537 Token otherlv_4=null;
3538 EObject this_ConditionalExpression_0 = null;
3539
3540 EObject this_LetExpression_1 = null;
2557 3541
2558 EObject this_Let_1 = null; 3542 EObject this_DisjunctiveExpression_2 = null;
2559 3543
2560 EObject this_ImplicationExpression_2 = null; 3544 EObject lv_body_5_0 = null;
2561 3545
2562 3546
2563 3547
2564 enterRule(); 3548 enterRule();
2565 3549
2566 try { 3550 try {
2567 // InternalSolverLanguageParser.g:1064:2: ( (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ) 3551 // InternalSolverLanguageParser.g:1440:2: ( (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) )
2568 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) 3552 // InternalSolverLanguageParser.g:1441:2: (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) )
2569 { 3553 {
2570 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) 3554 // InternalSolverLanguageParser.g:1441:2: (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) )
2571 int alt9=3; 3555 int alt16=3;
2572 switch ( input.LA(1) ) { 3556 switch ( input.LA(1) ) {
2573 case If: 3557 case If:
2574 { 3558 {
2575 alt9=1; 3559 alt16=1;
2576 } 3560 }
2577 break; 3561 break;
2578 case Let: 3562 case Let:
2579 { 3563 {
2580 alt9=2; 3564 alt16=2;
2581 } 3565 }
2582 break; 3566 break;
2583 case Current:
2584 case Unknown: 3567 case Unknown:
2585 case Exists: 3568 case Object:
2586 case Forall:
2587 case Count: 3569 case Count:
2588 case Empty: 3570 case Empty:
2589 case Error: 3571 case Error:
2590 case False: 3572 case False:
2591 case Must:
2592 case True: 3573 case True:
2593 case Inf: 3574 case Inf:
2594 case May:
2595 case ExclamationMark: 3575 case ExclamationMark:
2596 case LeftParenthesis: 3576 case LeftParenthesis:
2597 case PlusSign: 3577 case PlusSign:
2598 case HyphenMinus: 3578 case HyphenMinus:
3579 case QuestionMark:
2599 case LeftSquareBracket: 3580 case LeftSquareBracket:
3581 case Tilde:
2600 case RULE_STRING: 3582 case RULE_STRING:
2601 case RULE_QUOTED_ID: 3583 case RULE_QUOTED_ID:
2602 case RULE_ID: 3584 case RULE_ID:
2603 case RULE_INT: 3585 case RULE_INT:
2604 { 3586 {
2605 alt9=3; 3587 alt16=3;
2606 } 3588 }
2607 break; 3589 break;
2608 default: 3590 default:
2609 NoViableAltException nvae = 3591 NoViableAltException nvae =
2610 new NoViableAltException("", 9, 0, input); 3592 new NoViableAltException("", 16, 0, input);
2611 3593
2612 throw nvae; 3594 throw nvae;
2613 } 3595 }
2614 3596
2615 switch (alt9) { 3597 switch (alt16) {
2616 case 1 : 3598 case 1 :
2617 // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse 3599 // InternalSolverLanguageParser.g:1442:3: this_ConditionalExpression_0= ruleConditionalExpression
2618 { 3600 {
2619 3601
2620 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 3602 newCompositeNode(grammarAccess.getExpressionAccess().getConditionalExpressionParserRuleCall_0());
2621 3603
2622 pushFollow(FOLLOW_2); 3604 pushFollow(FOLLOW_2);
2623 this_IfElse_0=ruleIfElse(); 3605 this_ConditionalExpression_0=ruleConditionalExpression();
2624 3606
2625 state._fsp--; 3607 state._fsp--;
2626 3608
2627 3609
2628 current = this_IfElse_0; 3610 current = this_ConditionalExpression_0;
2629 afterParserOrEnumRuleCall(); 3611 afterParserOrEnumRuleCall();
2630 3612
2631 3613
2632 } 3614 }
2633 break; 3615 break;
2634 case 2 : 3616 case 2 :
2635 // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet 3617 // InternalSolverLanguageParser.g:1451:3: this_LetExpression_1= ruleLetExpression
2636 { 3618 {
2637 3619
2638 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); 3620 newCompositeNode(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_1());
2639 3621
2640 pushFollow(FOLLOW_2); 3622 pushFollow(FOLLOW_2);
2641 this_Let_1=ruleLet(); 3623 this_LetExpression_1=ruleLetExpression();
2642 3624
2643 state._fsp--; 3625 state._fsp--;
2644 3626
2645 3627
2646 current = this_Let_1; 3628 current = this_LetExpression_1;
2647 afterParserOrEnumRuleCall(); 3629 afterParserOrEnumRuleCall();
2648 3630
2649 3631
2650 } 3632 }
2651 break; 3633 break;
2652 case 3 : 3634 case 3 :
2653 // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression 3635 // InternalSolverLanguageParser.g:1460:3: (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? )
3636 {
3637 // InternalSolverLanguageParser.g:1460:3: (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? )
3638 // InternalSolverLanguageParser.g:1461:4: this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )?
2654 { 3639 {
2655 3640
2656 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); 3641 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_2_0());
2657 3642
2658 pushFollow(FOLLOW_2); 3643 pushFollow(FOLLOW_24);
2659 this_ImplicationExpression_2=ruleImplicationExpression(); 3644 this_DisjunctiveExpression_2=ruleDisjunctiveExpression();
2660 3645
2661 state._fsp--; 3646 state._fsp--;
2662 3647
2663 3648
2664 current = this_ImplicationExpression_2; 3649 current = this_DisjunctiveExpression_2;
2665 afterParserOrEnumRuleCall(); 3650 afterParserOrEnumRuleCall();
2666 3651
3652 // InternalSolverLanguageParser.g:1469:4: ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )?
3653 int alt15=2;
3654 int LA15_0 = input.LA(1);
3655
3656 if ( (LA15_0==EqualsSignGreaterThanSign) ) {
3657 alt15=1;
3658 }
3659 switch (alt15) {
3660 case 1 :
3661 // InternalSolverLanguageParser.g:1470:5: () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) )
3662 {
3663 // InternalSolverLanguageParser.g:1470:5: ()
3664 // InternalSolverLanguageParser.g:1471:6:
3665 {
3666
3667 current = forceCreateModelElementAndSet(
3668 grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(),
3669 current);
3670
3671
3672 }
3673
3674 otherlv_4=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_10);
3675
3676 newLeafNode(otherlv_4, grammarAccess.getExpressionAccess().getEqualsSignGreaterThanSignKeyword_2_1_1());
3677
3678 // InternalSolverLanguageParser.g:1481:5: ( (lv_body_5_0= ruleDisjunctiveExpression ) )
3679 // InternalSolverLanguageParser.g:1482:6: (lv_body_5_0= ruleDisjunctiveExpression )
3680 {
3681 // InternalSolverLanguageParser.g:1482:6: (lv_body_5_0= ruleDisjunctiveExpression )
3682 // InternalSolverLanguageParser.g:1483:7: lv_body_5_0= ruleDisjunctiveExpression
3683 {
3684
3685 newCompositeNode(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0());
3686
3687 pushFollow(FOLLOW_2);
3688 lv_body_5_0=ruleDisjunctiveExpression();
3689
3690 state._fsp--;
3691
3692
3693 if (current==null) {
3694 current = createModelElementForParent(grammarAccess.getExpressionRule());
3695 }
3696 set(
3697 current,
3698 "body",
3699 lv_body_5_0,
3700 "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
3701 afterParserOrEnumRuleCall();
3702
3703
3704 }
3705
3706
3707 }
3708
3709
3710 }
3711 break;
3712
3713 }
3714
3715
3716 }
3717
2667 3718
2668 } 3719 }
2669 break; 3720 break;
@@ -2689,25 +3740,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2689 // $ANTLR end "ruleExpression" 3740 // $ANTLR end "ruleExpression"
2690 3741
2691 3742
2692 // $ANTLR start "entryRuleIfElse" 3743 // $ANTLR start "entryRuleConditionalExpression"
2693 // InternalSolverLanguageParser.g:1096:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; 3744 // InternalSolverLanguageParser.g:1506:1: entryRuleConditionalExpression returns [EObject current=null] : iv_ruleConditionalExpression= ruleConditionalExpression EOF ;
2694 public final EObject entryRuleIfElse() throws RecognitionException { 3745 public final EObject entryRuleConditionalExpression() throws RecognitionException {
2695 EObject current = null; 3746 EObject current = null;
2696 3747
2697 EObject iv_ruleIfElse = null; 3748 EObject iv_ruleConditionalExpression = null;
2698 3749
2699 3750
2700 try { 3751 try {
2701 // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF ) 3752 // InternalSolverLanguageParser.g:1506:62: (iv_ruleConditionalExpression= ruleConditionalExpression EOF )
2702 // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF 3753 // InternalSolverLanguageParser.g:1507:2: iv_ruleConditionalExpression= ruleConditionalExpression EOF
2703 { 3754 {
2704 newCompositeNode(grammarAccess.getIfElseRule()); 3755 newCompositeNode(grammarAccess.getConditionalExpressionRule());
2705 pushFollow(FOLLOW_1); 3756 pushFollow(FOLLOW_1);
2706 iv_ruleIfElse=ruleIfElse(); 3757 iv_ruleConditionalExpression=ruleConditionalExpression();
2707 3758
2708 state._fsp--; 3759 state._fsp--;
2709 3760
2710 current =iv_ruleIfElse; 3761 current =iv_ruleConditionalExpression;
2711 match(input,EOF,FOLLOW_2); 3762 match(input,EOF,FOLLOW_2);
2712 3763
2713 } 3764 }
@@ -2722,12 +3773,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2722 } 3773 }
2723 return current; 3774 return current;
2724 } 3775 }
2725 // $ANTLR end "entryRuleIfElse" 3776 // $ANTLR end "entryRuleConditionalExpression"
2726 3777
2727 3778
2728 // $ANTLR start "ruleIfElse" 3779 // $ANTLR start "ruleConditionalExpression"
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 ) ) ) ; 3780 // InternalSolverLanguageParser.g:1513:1: ruleConditionalExpression returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ;
2730 public final EObject ruleIfElse() throws RecognitionException { 3781 public final EObject ruleConditionalExpression() throws RecognitionException {
2731 EObject current = null; 3782 EObject current = null;
2732 3783
2733 Token otherlv_0=null; 3784 Token otherlv_0=null;
@@ -2744,39 +3795,39 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2744 enterRule(); 3795 enterRule();
2745 3796
2746 try { 3797 try {
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 ) ) ) ) 3798 // InternalSolverLanguageParser.g:1519:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) 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 ) ) ) 3799 // InternalSolverLanguageParser.g:1520:2: (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2749 { 3800 {
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 ) ) ) 3801 // InternalSolverLanguageParser.g:1520:2: (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) 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 ) ) 3802 // InternalSolverLanguageParser.g:1521:3: otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) )
2752 { 3803 {
2753 otherlv_0=(Token)match(input,If,FOLLOW_6); 3804 otherlv_0=(Token)match(input,If,FOLLOW_10);
2754 3805
2755 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); 3806 newLeafNode(otherlv_0, grammarAccess.getConditionalExpressionAccess().getIfKeyword_0());
2756 3807
2757 // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) ) 3808 // InternalSolverLanguageParser.g:1525:3: ( (lv_condition_1_0= ruleDisjunctiveExpression ) )
2758 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) 3809 // InternalSolverLanguageParser.g:1526:4: (lv_condition_1_0= ruleDisjunctiveExpression )
2759 { 3810 {
2760 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) 3811 // InternalSolverLanguageParser.g:1526:4: (lv_condition_1_0= ruleDisjunctiveExpression )
2761 // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression 3812 // InternalSolverLanguageParser.g:1527:5: lv_condition_1_0= ruleDisjunctiveExpression
2762 { 3813 {
2763 3814
2764 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 3815 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0());
2765 3816
2766 pushFollow(FOLLOW_21); 3817 pushFollow(FOLLOW_25);
2767 lv_condition_1_0=ruleExpression(); 3818 lv_condition_1_0=ruleDisjunctiveExpression();
2768 3819
2769 state._fsp--; 3820 state._fsp--;
2770 3821
2771 3822
2772 if (current==null) { 3823 if (current==null) {
2773 current = createModelElementForParent(grammarAccess.getIfElseRule()); 3824 current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
2774 } 3825 }
2775 set( 3826 set(
2776 current, 3827 current,
2777 "condition", 3828 "condition",
2778 lv_condition_1_0, 3829 lv_condition_1_0,
2779 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 3830 "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
2780 afterParserOrEnumRuleCall(); 3831 afterParserOrEnumRuleCall();
2781 3832
2782 3833
@@ -2785,27 +3836,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2785 3836
2786 } 3837 }
2787 3838
2788 otherlv_2=(Token)match(input,Then,FOLLOW_6); 3839 otherlv_2=(Token)match(input,Then,FOLLOW_10);
2789 3840
2790 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); 3841 newLeafNode(otherlv_2, grammarAccess.getConditionalExpressionAccess().getThenKeyword_2());
2791 3842
2792 // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) ) 3843 // InternalSolverLanguageParser.g:1548:3: ( (lv_then_3_0= ruleExpression ) )
2793 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) 3844 // InternalSolverLanguageParser.g:1549:4: (lv_then_3_0= ruleExpression )
2794 { 3845 {
2795 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) 3846 // InternalSolverLanguageParser.g:1549:4: (lv_then_3_0= ruleExpression )
2796 // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression 3847 // InternalSolverLanguageParser.g:1550:5: lv_then_3_0= ruleExpression
2797 { 3848 {
2798 3849
2799 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 3850 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0());
2800 3851
2801 pushFollow(FOLLOW_22); 3852 pushFollow(FOLLOW_26);
2802 lv_then_3_0=ruleExpression(); 3853 lv_then_3_0=ruleExpression();
2803 3854
2804 state._fsp--; 3855 state._fsp--;
2805 3856
2806 3857
2807 if (current==null) { 3858 if (current==null) {
2808 current = createModelElementForParent(grammarAccess.getIfElseRule()); 3859 current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
2809 } 3860 }
2810 set( 3861 set(
2811 current, 3862 current,
@@ -2820,18 +3871,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2820 3871
2821 } 3872 }
2822 3873
2823 otherlv_4=(Token)match(input,Else,FOLLOW_6); 3874 otherlv_4=(Token)match(input,Else,FOLLOW_10);
2824 3875
2825 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); 3876 newLeafNode(otherlv_4, grammarAccess.getConditionalExpressionAccess().getElseKeyword_4());
2826 3877
2827 // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) ) 3878 // InternalSolverLanguageParser.g:1571:3: ( (lv_else_5_0= ruleExpression ) )
2828 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) 3879 // InternalSolverLanguageParser.g:1572:4: (lv_else_5_0= ruleExpression )
2829 { 3880 {
2830 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) 3881 // InternalSolverLanguageParser.g:1572:4: (lv_else_5_0= ruleExpression )
2831 // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression 3882 // InternalSolverLanguageParser.g:1573:5: lv_else_5_0= ruleExpression
2832 { 3883 {
2833 3884
2834 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 3885 newCompositeNode(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0());
2835 3886
2836 pushFollow(FOLLOW_2); 3887 pushFollow(FOLLOW_2);
2837 lv_else_5_0=ruleExpression(); 3888 lv_else_5_0=ruleExpression();
@@ -2840,7 +3891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2840 3891
2841 3892
2842 if (current==null) { 3893 if (current==null) {
2843 current = createModelElementForParent(grammarAccess.getIfElseRule()); 3894 current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
2844 } 3895 }
2845 set( 3896 set(
2846 current, 3897 current,
@@ -2874,28 +3925,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2874 } 3925 }
2875 return current; 3926 return current;
2876 } 3927 }
2877 // $ANTLR end "ruleIfElse" 3928 // $ANTLR end "ruleConditionalExpression"
2878 3929
2879 3930
2880 // $ANTLR start "entryRuleLet" 3931 // $ANTLR start "entryRuleLetExpression"
2881 // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ; 3932 // InternalSolverLanguageParser.g:1594:1: entryRuleLetExpression returns [EObject current=null] : iv_ruleLetExpression= ruleLetExpression EOF ;
2882 public final EObject entryRuleLet() throws RecognitionException { 3933 public final EObject entryRuleLetExpression() throws RecognitionException {
2883 EObject current = null; 3934 EObject current = null;
2884 3935
2885 EObject iv_ruleLet = null; 3936 EObject iv_ruleLetExpression = null;
2886 3937
2887 3938
2888 try { 3939 try {
2889 // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF ) 3940 // InternalSolverLanguageParser.g:1594:54: (iv_ruleLetExpression= ruleLetExpression EOF )
2890 // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF 3941 // InternalSolverLanguageParser.g:1595:2: iv_ruleLetExpression= ruleLetExpression EOF
2891 { 3942 {
2892 newCompositeNode(grammarAccess.getLetRule()); 3943 newCompositeNode(grammarAccess.getLetExpressionRule());
2893 pushFollow(FOLLOW_1); 3944 pushFollow(FOLLOW_1);
2894 iv_ruleLet=ruleLet(); 3945 iv_ruleLetExpression=ruleLetExpression();
2895 3946
2896 state._fsp--; 3947 state._fsp--;
2897 3948
2898 current =iv_ruleLet; 3949 current =iv_ruleLetExpression;
2899 match(input,EOF,FOLLOW_2); 3950 match(input,EOF,FOLLOW_2);
2900 3951
2901 } 3952 }
@@ -2910,12 +3961,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2910 } 3961 }
2911 return current; 3962 return current;
2912 } 3963 }
2913 // $ANTLR end "entryRuleLet" 3964 // $ANTLR end "entryRuleLetExpression"
2914 3965
2915 3966
2916 // $ANTLR start "ruleLet" 3967 // $ANTLR start "ruleLetExpression"
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 ) ) ) ; 3968 // InternalSolverLanguageParser.g:1601:1: ruleLetExpression 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 { 3969 public final EObject ruleLetExpression() throws RecognitionException {
2919 EObject current = null; 3970 EObject current = null;
2920 3971
2921 Token otherlv_0=null; 3972 Token otherlv_0=null;
@@ -2932,33 +3983,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2932 enterRule(); 3983 enterRule();
2933 3984
2934 try { 3985 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 ) ) ) ) 3986 // InternalSolverLanguageParser.g:1607: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 ) ) ) 3987 // InternalSolverLanguageParser.g:1608: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 { 3988 {
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 ) ) ) 3989 // InternalSolverLanguageParser.g:1608: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 ) ) 3990 // InternalSolverLanguageParser.g:1609: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 { 3991 {
2941 otherlv_0=(Token)match(input,Let,FOLLOW_8); 3992 otherlv_0=(Token)match(input,Let,FOLLOW_3);
2942 3993
2943 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); 3994 newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0());
2944 3995
2945 // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) ) 3996 // InternalSolverLanguageParser.g:1613:3: ( (lv_bindings_1_0= ruleLetBinding ) )
2946 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) 3997 // InternalSolverLanguageParser.g:1614:4: (lv_bindings_1_0= ruleLetBinding )
2947 { 3998 {
2948 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) 3999 // InternalSolverLanguageParser.g:1614:4: (lv_bindings_1_0= ruleLetBinding )
2949 // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding 4000 // InternalSolverLanguageParser.g:1615:5: lv_bindings_1_0= ruleLetBinding
2950 { 4001 {
2951 4002
2952 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); 4003 newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_1_0());
2953 4004
2954 pushFollow(FOLLOW_23); 4005 pushFollow(FOLLOW_27);
2955 lv_bindings_1_0=ruleLetBinding(); 4006 lv_bindings_1_0=ruleLetBinding();
2956 4007
2957 state._fsp--; 4008 state._fsp--;
2958 4009
2959 4010
2960 if (current==null) { 4011 if (current==null) {
2961 current = createModelElementForParent(grammarAccess.getLetRule()); 4012 current = createModelElementForParent(grammarAccess.getLetExpressionRule());
2962 } 4013 }
2963 add( 4014 add(
2964 current, 4015 current,
@@ -2973,42 +4024,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2973 4024
2974 } 4025 }
2975 4026
2976 // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* 4027 // InternalSolverLanguageParser.g:1632:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )*
2977 loop10: 4028 loop17:
2978 do { 4029 do {
2979 int alt10=2; 4030 int alt17=2;
2980 int LA10_0 = input.LA(1); 4031 int LA17_0 = input.LA(1);
2981 4032
2982 if ( (LA10_0==Comma) ) { 4033 if ( (LA17_0==Comma) ) {
2983 alt10=1; 4034 alt17=1;
2984 } 4035 }
2985 4036
2986 4037
2987 switch (alt10) { 4038 switch (alt17) {
2988 case 1 : 4039 case 1 :
2989 // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) 4040 // InternalSolverLanguageParser.g:1633:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) )
2990 { 4041 {
2991 otherlv_2=(Token)match(input,Comma,FOLLOW_8); 4042 otherlv_2=(Token)match(input,Comma,FOLLOW_3);
2992 4043
2993 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); 4044 newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0());
2994 4045
2995 // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) ) 4046 // InternalSolverLanguageParser.g:1637:4: ( (lv_bindings_3_0= ruleLetBinding ) )
2996 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) 4047 // InternalSolverLanguageParser.g:1638:5: (lv_bindings_3_0= ruleLetBinding )
2997 { 4048 {
2998 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) 4049 // InternalSolverLanguageParser.g:1638:5: (lv_bindings_3_0= ruleLetBinding )
2999 // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding 4050 // InternalSolverLanguageParser.g:1639:6: lv_bindings_3_0= ruleLetBinding
3000 { 4051 {
3001 4052
3002 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); 4053 newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_2_1_0());
3003 4054
3004 pushFollow(FOLLOW_23); 4055 pushFollow(FOLLOW_27);
3005 lv_bindings_3_0=ruleLetBinding(); 4056 lv_bindings_3_0=ruleLetBinding();
3006 4057
3007 state._fsp--; 4058 state._fsp--;
3008 4059
3009 4060
3010 if (current==null) { 4061 if (current==null) {
3011 current = createModelElementForParent(grammarAccess.getLetRule()); 4062 current = createModelElementForParent(grammarAccess.getLetExpressionRule());
3012 } 4063 }
3013 add( 4064 add(
3014 current, 4065 current,
@@ -3028,22 +4079,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3028 break; 4079 break;
3029 4080
3030 default : 4081 default :
3031 break loop10; 4082 break loop17;
3032 } 4083 }
3033 } while (true); 4084 } while (true);
3034 4085
3035 otherlv_4=(Token)match(input,In,FOLLOW_6); 4086 otherlv_4=(Token)match(input,In,FOLLOW_10);
3036 4087
3037 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); 4088 newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getInKeyword_3());
3038 4089
3039 // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) ) 4090 // InternalSolverLanguageParser.g:1661:3: ( (lv_body_5_0= ruleExpression ) )
3040 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) 4091 // InternalSolverLanguageParser.g:1662:4: (lv_body_5_0= ruleExpression )
3041 { 4092 {
3042 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) 4093 // InternalSolverLanguageParser.g:1662:4: (lv_body_5_0= ruleExpression )
3043 // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression 4094 // InternalSolverLanguageParser.g:1663:5: lv_body_5_0= ruleExpression
3044 { 4095 {
3045 4096
3046 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); 4097 newCompositeNode(grammarAccess.getLetExpressionAccess().getBodyExpressionParserRuleCall_4_0());
3047 4098
3048 pushFollow(FOLLOW_2); 4099 pushFollow(FOLLOW_2);
3049 lv_body_5_0=ruleExpression(); 4100 lv_body_5_0=ruleExpression();
@@ -3052,7 +4103,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3052 4103
3053 4104
3054 if (current==null) { 4105 if (current==null) {
3055 current = createModelElementForParent(grammarAccess.getLetRule()); 4106 current = createModelElementForParent(grammarAccess.getLetExpressionRule());
3056 } 4107 }
3057 set( 4108 set(
3058 current, 4109 current,
@@ -3086,11 +4137,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3086 } 4137 }
3087 return current; 4138 return current;
3088 } 4139 }
3089 // $ANTLR end "ruleLet" 4140 // $ANTLR end "ruleLetExpression"
3090 4141
3091 4142
3092 // $ANTLR start "entryRuleLetBinding" 4143 // $ANTLR start "entryRuleLetBinding"
3093 // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ; 4144 // InternalSolverLanguageParser.g:1684:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ;
3094 public final EObject entryRuleLetBinding() throws RecognitionException { 4145 public final EObject entryRuleLetBinding() throws RecognitionException {
3095 EObject current = null; 4146 EObject current = null;
3096 4147
@@ -3098,8 +4149,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3098 4149
3099 4150
3100 try { 4151 try {
3101 // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF ) 4152 // InternalSolverLanguageParser.g:1684:51: (iv_ruleLetBinding= ruleLetBinding EOF )
3102 // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF 4153 // InternalSolverLanguageParser.g:1685:2: iv_ruleLetBinding= ruleLetBinding EOF
3103 { 4154 {
3104 newCompositeNode(grammarAccess.getLetBindingRule()); 4155 newCompositeNode(grammarAccess.getLetBindingRule());
3105 pushFollow(FOLLOW_1); 4156 pushFollow(FOLLOW_1);
@@ -3126,50 +4177,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3126 4177
3127 4178
3128 // $ANTLR start "ruleLetBinding" 4179 // $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 ) ) ) ; 4180 // InternalSolverLanguageParser.g:1691:1: ruleLetBinding returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) ;
3130 public final EObject ruleLetBinding() throws RecognitionException { 4181 public final EObject ruleLetBinding() throws RecognitionException {
3131 EObject current = null; 4182 EObject current = null;
3132 4183
3133 Token otherlv_1=null; 4184 Token lv_name_1_0=null;
3134 EObject lv_variable_0_0 = null; 4185 Token otherlv_2=null;
3135 4186 EObject lv_value_3_0 = null;
3136 EObject lv_value_2_0 = null;
3137 4187
3138 4188
3139 4189
3140 enterRule(); 4190 enterRule();
3141 4191
3142 try { 4192 try {
3143 // InternalSolverLanguageParser.g:1287:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ) 4193 // InternalSolverLanguageParser.g:1697:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) )
3144 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) 4194 // InternalSolverLanguageParser.g:1698:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) )
3145 { 4195 {
3146 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) 4196 // InternalSolverLanguageParser.g:1698:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) )
3147 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) 4197 // InternalSolverLanguageParser.g:1699:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) )
3148 { 4198 {
3149 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) 4199 // InternalSolverLanguageParser.g:1699:3: ( ( ruleQualifiedName ) )?
3150 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) 4200 int alt18=2;
4201 int LA18_0 = input.LA(1);
4202
4203 if ( (LA18_0==RULE_ID) ) {
4204 int LA18_1 = input.LA(2);
4205
4206 if ( (LA18_1==ColonColon||LA18_1==RULE_ID) ) {
4207 alt18=1;
4208 }
4209 }
4210 else if ( (LA18_0==Object||LA18_0==RULE_QUOTED_ID) ) {
4211 alt18=1;
4212 }
4213 switch (alt18) {
4214 case 1 :
4215 // InternalSolverLanguageParser.g:1700:4: ( ruleQualifiedName )
4216 {
4217 // InternalSolverLanguageParser.g:1700:4: ( ruleQualifiedName )
4218 // InternalSolverLanguageParser.g:1701:5: ruleQualifiedName
4219 {
4220
4221 if (current==null) {
4222 current = createModelElement(grammarAccess.getLetBindingRule());
4223 }
4224
4225
4226 newCompositeNode(grammarAccess.getLetBindingAccess().getTypeSymbolCrossReference_0_0());
4227
4228 pushFollow(FOLLOW_28);
4229 ruleQualifiedName();
4230
4231 state._fsp--;
4232
4233
4234 afterParserOrEnumRuleCall();
4235
4236
4237 }
4238
4239
4240 }
4241 break;
4242
4243 }
4244
4245 // InternalSolverLanguageParser.g:1715:3: ( (lv_name_1_0= RULE_ID ) )
4246 // InternalSolverLanguageParser.g:1716:4: (lv_name_1_0= RULE_ID )
3151 { 4247 {
3152 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) 4248 // InternalSolverLanguageParser.g:1716:4: (lv_name_1_0= RULE_ID )
3153 // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable 4249 // InternalSolverLanguageParser.g:1717:5: lv_name_1_0= RULE_ID
3154 { 4250 {
4251 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_29);
3155 4252
3156 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); 4253 newLeafNode(lv_name_1_0, grammarAccess.getLetBindingAccess().getNameIDTerminalRuleCall_1_0());
3157 4254
3158 pushFollow(FOLLOW_13);
3159 lv_variable_0_0=ruleVariable();
3160
3161 state._fsp--;
3162
3163 4255
3164 if (current==null) { 4256 if (current==null) {
3165 current = createModelElementForParent(grammarAccess.getLetBindingRule()); 4257 current = createModelElement(grammarAccess.getLetBindingRule());
3166 } 4258 }
3167 set( 4259 setWithLastConsumed(
3168 current, 4260 current,
3169 "variable", 4261 "name",
3170 lv_variable_0_0, 4262 lv_name_1_0,
3171 "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 4263 "org.eclipse.xtext.common.Terminals.ID");
3172 afterParserOrEnumRuleCall();
3173 4264
3174 4265
3175 } 4266 }
@@ -3177,21 +4268,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3177 4268
3178 } 4269 }
3179 4270
3180 otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6); 4271 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_10);
3181 4272
3182 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); 4273 newLeafNode(otherlv_2, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_2());
3183 4274
3184 // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) ) 4275 // InternalSolverLanguageParser.g:1737:3: ( (lv_value_3_0= ruleAdditiveExpression ) )
3185 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) 4276 // InternalSolverLanguageParser.g:1738:4: (lv_value_3_0= ruleAdditiveExpression )
3186 { 4277 {
3187 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) 4278 // InternalSolverLanguageParser.g:1738:4: (lv_value_3_0= ruleAdditiveExpression )
3188 // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression 4279 // InternalSolverLanguageParser.g:1739:5: lv_value_3_0= ruleAdditiveExpression
3189 { 4280 {
3190 4281
3191 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); 4282 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_3_0());
3192 4283
3193 pushFollow(FOLLOW_2); 4284 pushFollow(FOLLOW_2);
3194 lv_value_2_0=ruleAdditiveExpression(); 4285 lv_value_3_0=ruleAdditiveExpression();
3195 4286
3196 state._fsp--; 4287 state._fsp--;
3197 4288
@@ -3202,7 +4293,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3202 set( 4293 set(
3203 current, 4294 current,
3204 "value", 4295 "value",
3205 lv_value_2_0, 4296 lv_value_3_0,
3206 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); 4297 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
3207 afterParserOrEnumRuleCall(); 4298 afterParserOrEnumRuleCall();
3208 4299
@@ -3234,190 +4325,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3234 // $ANTLR end "ruleLetBinding" 4325 // $ANTLR end "ruleLetBinding"
3235 4326
3236 4327
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
3419 // $ANTLR start "entryRuleDisjunctiveExpression" 4328 // $ANTLR start "entryRuleDisjunctiveExpression"
3420 // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; 4329 // InternalSolverLanguageParser.g:1760:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ;
3421 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { 4330 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException {
3422 EObject current = null; 4331 EObject current = null;
3423 4332
@@ -3425,8 +4334,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3425 4334
3426 4335
3427 try { 4336 try {
3428 // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) 4337 // InternalSolverLanguageParser.g:1760:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF )
3429 // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF 4338 // InternalSolverLanguageParser.g:1761:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF
3430 { 4339 {
3431 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); 4340 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule());
3432 pushFollow(FOLLOW_1); 4341 pushFollow(FOLLOW_1);
@@ -3453,7 +4362,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3453 4362
3454 4363
3455 // $ANTLR start "ruleDisjunctiveExpression" 4364 // $ANTLR start "ruleDisjunctiveExpression"
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 ) ) )* ) )? ) ; 4365 // InternalSolverLanguageParser.g:1767: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 ) ) )* ) )? ) ;
3457 public final EObject ruleDisjunctiveExpression() throws RecognitionException { 4366 public final EObject ruleDisjunctiveExpression() throws RecognitionException {
3458 EObject current = null; 4367 EObject current = null;
3459 4368
@@ -3473,16 +4382,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3473 enterRule(); 4382 enterRule();
3474 4383
3475 try { 4384 try {
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 ) ) )* ) )? ) ) 4385 // InternalSolverLanguageParser.g:1773: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 ) ) )* ) )? ) 4386 // InternalSolverLanguageParser.g:1774: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 ) ) )* ) )? )
3478 { 4387 {
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 ) ) )* ) )? ) 4388 // InternalSolverLanguageParser.g:1774: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 ) ) )* ) )? )
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 ) ) )* ) )? 4389 // InternalSolverLanguageParser.g:1775: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 ) ) )* ) )?
3481 { 4390 {
3482 4391
3483 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); 4392 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
3484 4393
3485 pushFollow(FOLLOW_25); 4394 pushFollow(FOLLOW_30);
3486 this_ConjunctiveExpression_0=ruleConjunctiveExpression(); 4395 this_ConjunctiveExpression_0=ruleConjunctiveExpression();
3487 4396
3488 state._fsp--; 4397 state._fsp--;
@@ -3491,25 +4400,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3491 current = this_ConjunctiveExpression_0; 4400 current = this_ConjunctiveExpression_0;
3492 afterParserOrEnumRuleCall(); 4401 afterParserOrEnumRuleCall();
3493 4402
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 ) ) )* ) )? 4403 // InternalSolverLanguageParser.g:1783: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 ) ) )* ) )?
3495 int alt14=3; 4404 int alt21=3;
3496 int LA14_0 = input.LA(1); 4405 int LA21_0 = input.LA(1);
3497 4406
3498 if ( (LA14_0==Semicolon) ) { 4407 if ( (LA21_0==Semicolon) ) {
3499 alt14=1; 4408 alt21=1;
3500 } 4409 }
3501 else if ( (LA14_0==HyphenMinusGreaterThanSign) ) { 4410 else if ( (LA21_0==HyphenMinusGreaterThanSign) ) {
3502 alt14=2; 4411 alt21=2;
3503 } 4412 }
3504 switch (alt14) { 4413 switch (alt21) {
3505 case 1 : 4414 case 1 :
3506 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 4415 // InternalSolverLanguageParser.g:1784:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
3507 { 4416 {
3508 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 4417 // InternalSolverLanguageParser.g:1784:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
3509 // InternalSolverLanguageParser.g:1434:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 4418 // InternalSolverLanguageParser.g:1785:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
3510 { 4419 {
3511 // InternalSolverLanguageParser.g:1434:5: () 4420 // InternalSolverLanguageParser.g:1785:5: ()
3512 // InternalSolverLanguageParser.g:1435:6: 4421 // InternalSolverLanguageParser.g:1786:6:
3513 { 4422 {
3514 4423
3515 current = forceCreateModelElementAndAdd( 4424 current = forceCreateModelElementAndAdd(
@@ -3519,36 +4428,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3519 4428
3520 } 4429 }
3521 4430
3522 // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 4431 // InternalSolverLanguageParser.g:1792:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
3523 int cnt12=0; 4432 int cnt19=0;
3524 loop12: 4433 loop19:
3525 do { 4434 do {
3526 int alt12=2; 4435 int alt19=2;
3527 int LA12_0 = input.LA(1); 4436 int LA19_0 = input.LA(1);
3528 4437
3529 if ( (LA12_0==Semicolon) ) { 4438 if ( (LA19_0==Semicolon) ) {
3530 alt12=1; 4439 alt19=1;
3531 } 4440 }
3532 4441
3533 4442
3534 switch (alt12) { 4443 switch (alt19) {
3535 case 1 : 4444 case 1 :
3536 // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) 4445 // InternalSolverLanguageParser.g:1793:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) )
3537 { 4446 {
3538 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); 4447 otherlv_2=(Token)match(input,Semicolon,FOLLOW_10);
3539 4448
3540 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); 4449 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
3541 4450
3542 // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) 4451 // InternalSolverLanguageParser.g:1797:6: ( (lv_children_3_0= ruleConjunctiveExpression ) )
3543 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) 4452 // InternalSolverLanguageParser.g:1798:7: (lv_children_3_0= ruleConjunctiveExpression )
3544 { 4453 {
3545 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) 4454 // InternalSolverLanguageParser.g:1798:7: (lv_children_3_0= ruleConjunctiveExpression )
3546 // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression 4455 // InternalSolverLanguageParser.g:1799:8: lv_children_3_0= ruleConjunctiveExpression
3547 { 4456 {
3548 4457
3549 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); 4458 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
3550 4459
3551 pushFollow(FOLLOW_26); 4460 pushFollow(FOLLOW_31);
3552 lv_children_3_0=ruleConjunctiveExpression(); 4461 lv_children_3_0=ruleConjunctiveExpression();
3553 4462
3554 state._fsp--; 4463 state._fsp--;
@@ -3575,12 +4484,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3575 break; 4484 break;
3576 4485
3577 default : 4486 default :
3578 if ( cnt12 >= 1 ) break loop12; 4487 if ( cnt19 >= 1 ) break loop19;
3579 EarlyExitException eee = 4488 EarlyExitException eee =
3580 new EarlyExitException(12, input); 4489 new EarlyExitException(19, input);
3581 throw eee; 4490 throw eee;
3582 } 4491 }
3583 cnt12++; 4492 cnt19++;
3584 } while (true); 4493 } while (true);
3585 4494
3586 4495
@@ -3590,13 +4499,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3590 } 4499 }
3591 break; 4500 break;
3592 case 2 : 4501 case 2 :
3593 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 4502 // InternalSolverLanguageParser.g:1819:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
3594 { 4503 {
3595 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 4504 // InternalSolverLanguageParser.g:1819:4: ( () 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 ) ) )* 4505 // InternalSolverLanguageParser.g:1820:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
3597 { 4506 {
3598 // InternalSolverLanguageParser.g:1469:5: () 4507 // InternalSolverLanguageParser.g:1820:5: ()
3599 // InternalSolverLanguageParser.g:1470:6: 4508 // InternalSolverLanguageParser.g:1821:6:
3600 { 4509 {
3601 4510
3602 current = forceCreateModelElementAndSet( 4511 current = forceCreateModelElementAndSet(
@@ -3606,20 +4515,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3606 4515
3607 } 4516 }
3608 4517
3609 otherlv_5=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); 4518 otherlv_5=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_10);
3610 4519
3611 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); 4520 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
3612 4521
3613 // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) 4522 // InternalSolverLanguageParser.g:1831:5: ( (lv_body_6_0= ruleConjunctiveExpression ) )
3614 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) 4523 // InternalSolverLanguageParser.g:1832:6: (lv_body_6_0= ruleConjunctiveExpression )
3615 { 4524 {
3616 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) 4525 // InternalSolverLanguageParser.g:1832:6: (lv_body_6_0= ruleConjunctiveExpression )
3617 // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression 4526 // InternalSolverLanguageParser.g:1833:7: lv_body_6_0= ruleConjunctiveExpression
3618 { 4527 {
3619 4528
3620 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); 4529 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
3621 4530
3622 pushFollow(FOLLOW_26); 4531 pushFollow(FOLLOW_31);
3623 lv_body_6_0=ruleConjunctiveExpression(); 4532 lv_body_6_0=ruleConjunctiveExpression();
3624 4533
3625 state._fsp--; 4534 state._fsp--;
@@ -3641,8 +4550,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3641 4550
3642 } 4551 }
3643 4552
3644 // InternalSolverLanguageParser.g:1499:5: () 4553 // InternalSolverLanguageParser.g:1850:5: ()
3645 // InternalSolverLanguageParser.g:1500:6: 4554 // InternalSolverLanguageParser.g:1851:6:
3646 { 4555 {
3647 4556
3648 current = forceCreateModelElementAndAdd( 4557 current = forceCreateModelElementAndAdd(
@@ -3652,35 +4561,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3652 4561
3653 } 4562 }
3654 4563
3655 // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 4564 // InternalSolverLanguageParser.g:1857:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
3656 loop13: 4565 loop20:
3657 do { 4566 do {
3658 int alt13=2; 4567 int alt20=2;
3659 int LA13_0 = input.LA(1); 4568 int LA20_0 = input.LA(1);
3660 4569
3661 if ( (LA13_0==Semicolon) ) { 4570 if ( (LA20_0==Semicolon) ) {
3662 alt13=1; 4571 alt20=1;
3663 } 4572 }
3664 4573
3665 4574
3666 switch (alt13) { 4575 switch (alt20) {
3667 case 1 : 4576 case 1 :
3668 // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) 4577 // InternalSolverLanguageParser.g:1858:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) )
3669 { 4578 {
3670 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); 4579 otherlv_8=(Token)match(input,Semicolon,FOLLOW_10);
3671 4580
3672 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); 4581 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
3673 4582
3674 // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) ) 4583 // InternalSolverLanguageParser.g:1862:6: ( (lv_cases_9_0= ruleCase ) )
3675 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) 4584 // InternalSolverLanguageParser.g:1863:7: (lv_cases_9_0= ruleCase )
3676 { 4585 {
3677 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) 4586 // InternalSolverLanguageParser.g:1863:7: (lv_cases_9_0= ruleCase )
3678 // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase 4587 // InternalSolverLanguageParser.g:1864:8: lv_cases_9_0= ruleCase
3679 { 4588 {
3680 4589
3681 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); 4590 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
3682 4591
3683 pushFollow(FOLLOW_26); 4592 pushFollow(FOLLOW_31);
3684 lv_cases_9_0=ruleCase(); 4593 lv_cases_9_0=ruleCase();
3685 4594
3686 state._fsp--; 4595 state._fsp--;
@@ -3707,7 +4616,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3707 break; 4616 break;
3708 4617
3709 default : 4618 default :
3710 break loop13; 4619 break loop20;
3711 } 4620 }
3712 } while (true); 4621 } while (true);
3713 4622
@@ -3743,7 +4652,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3743 4652
3744 4653
3745 // $ANTLR start "entryRuleCase" 4654 // $ANTLR start "entryRuleCase"
3746 // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; 4655 // InternalSolverLanguageParser.g:1888:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ;
3747 public final EObject entryRuleCase() throws RecognitionException { 4656 public final EObject entryRuleCase() throws RecognitionException {
3748 EObject current = null; 4657 EObject current = null;
3749 4658
@@ -3751,8 +4660,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3751 4660
3752 4661
3753 try { 4662 try {
3754 // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF ) 4663 // InternalSolverLanguageParser.g:1888:45: (iv_ruleCase= ruleCase EOF )
3755 // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF 4664 // InternalSolverLanguageParser.g:1889:2: iv_ruleCase= ruleCase EOF
3756 { 4665 {
3757 newCompositeNode(grammarAccess.getCaseRule()); 4666 newCompositeNode(grammarAccess.getCaseRule());
3758 pushFollow(FOLLOW_1); 4667 pushFollow(FOLLOW_1);
@@ -3779,7 +4688,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3779 4688
3780 4689
3781 // $ANTLR start "ruleCase" 4690 // $ANTLR start "ruleCase"
3782 // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; 4691 // InternalSolverLanguageParser.g:1895:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ;
3783 public final EObject ruleCase() throws RecognitionException { 4692 public final EObject ruleCase() throws RecognitionException {
3784 EObject current = null; 4693 EObject current = null;
3785 4694
@@ -3793,22 +4702,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3793 enterRule(); 4702 enterRule();
3794 4703
3795 try { 4704 try {
3796 // InternalSolverLanguageParser.g:1550:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) 4705 // InternalSolverLanguageParser.g:1901: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 ) ) ) 4706 // InternalSolverLanguageParser.g:1902:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
3798 { 4707 {
3799 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 4708 // InternalSolverLanguageParser.g:1902:2: ( ( (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 ) ) 4709 // InternalSolverLanguageParser.g:1903:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) )
3801 { 4710 {
3802 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) 4711 // InternalSolverLanguageParser.g:1903:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) )
3803 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) 4712 // InternalSolverLanguageParser.g:1904:4: (lv_condition_0_0= ruleConjunctiveExpression )
3804 { 4713 {
3805 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) 4714 // InternalSolverLanguageParser.g:1904:4: (lv_condition_0_0= ruleConjunctiveExpression )
3806 // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression 4715 // InternalSolverLanguageParser.g:1905:5: lv_condition_0_0= ruleConjunctiveExpression
3807 { 4716 {
3808 4717
3809 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); 4718 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
3810 4719
3811 pushFollow(FOLLOW_27); 4720 pushFollow(FOLLOW_32);
3812 lv_condition_0_0=ruleConjunctiveExpression(); 4721 lv_condition_0_0=ruleConjunctiveExpression();
3813 4722
3814 state._fsp--; 4723 state._fsp--;
@@ -3830,15 +4739,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3830 4739
3831 } 4740 }
3832 4741
3833 otherlv_1=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); 4742 otherlv_1=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_10);
3834 4743
3835 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); 4744 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
3836 4745
3837 // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) 4746 // InternalSolverLanguageParser.g:1926:3: ( (lv_body_2_0= ruleConjunctiveExpression ) )
3838 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) 4747 // InternalSolverLanguageParser.g:1927:4: (lv_body_2_0= ruleConjunctiveExpression )
3839 { 4748 {
3840 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) 4749 // InternalSolverLanguageParser.g:1927:4: (lv_body_2_0= ruleConjunctiveExpression )
3841 // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression 4750 // InternalSolverLanguageParser.g:1928:5: lv_body_2_0= ruleConjunctiveExpression
3842 { 4751 {
3843 4752
3844 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); 4753 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
@@ -3888,7 +4797,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3888 4797
3889 4798
3890 // $ANTLR start "entryRuleConjunctiveExpression" 4799 // $ANTLR start "entryRuleConjunctiveExpression"
3891 // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; 4800 // InternalSolverLanguageParser.g:1949:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ;
3892 public final EObject entryRuleConjunctiveExpression() throws RecognitionException { 4801 public final EObject entryRuleConjunctiveExpression() throws RecognitionException {
3893 EObject current = null; 4802 EObject current = null;
3894 4803
@@ -3896,8 +4805,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3896 4805
3897 4806
3898 try { 4807 try {
3899 // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) 4808 // InternalSolverLanguageParser.g:1949:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF )
3900 // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF 4809 // InternalSolverLanguageParser.g:1950:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF
3901 { 4810 {
3902 newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); 4811 newCompositeNode(grammarAccess.getConjunctiveExpressionRule());
3903 pushFollow(FOLLOW_1); 4812 pushFollow(FOLLOW_1);
@@ -3924,7 +4833,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3924 4833
3925 4834
3926 // $ANTLR start "ruleConjunctiveExpression" 4835 // $ANTLR start "ruleConjunctiveExpression"
3927 // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; 4836 // InternalSolverLanguageParser.g:1956:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ;
3928 public final EObject ruleConjunctiveExpression() throws RecognitionException { 4837 public final EObject ruleConjunctiveExpression() throws RecognitionException {
3929 EObject current = null; 4838 EObject current = null;
3930 4839
@@ -3938,16 +4847,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3938 enterRule(); 4847 enterRule();
3939 4848
3940 try { 4849 try {
3941 // InternalSolverLanguageParser.g:1611:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) 4850 // InternalSolverLanguageParser.g:1962: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 ) ) )+ )? ) 4851 // InternalSolverLanguageParser.g:1963:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
3943 { 4852 {
3944 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 4853 // InternalSolverLanguageParser.g:1963:2: (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 ) ) )+ )? 4854 // InternalSolverLanguageParser.g:1964:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
3946 { 4855 {
3947 4856
3948 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); 4857 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
3949 4858
3950 pushFollow(FOLLOW_19); 4859 pushFollow(FOLLOW_33);
3951 this_ComparisonExpression_0=ruleComparisonExpression(); 4860 this_ComparisonExpression_0=ruleComparisonExpression();
3952 4861
3953 state._fsp--; 4862 state._fsp--;
@@ -3956,19 +4865,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3956 current = this_ComparisonExpression_0; 4865 current = this_ComparisonExpression_0;
3957 afterParserOrEnumRuleCall(); 4866 afterParserOrEnumRuleCall();
3958 4867
3959 // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 4868 // InternalSolverLanguageParser.g:1972:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
3960 int alt16=2; 4869 int alt23=2;
3961 int LA16_0 = input.LA(1); 4870 int LA23_0 = input.LA(1);
3962 4871
3963 if ( (LA16_0==Comma) ) { 4872 if ( (LA23_0==Comma) ) {
3964 alt16=1; 4873 alt23=1;
3965 } 4874 }
3966 switch (alt16) { 4875 switch (alt23) {
3967 case 1 : 4876 case 1 :
3968 // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 4877 // InternalSolverLanguageParser.g:1973:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
3969 { 4878 {
3970 // InternalSolverLanguageParser.g:1622:4: () 4879 // InternalSolverLanguageParser.g:1973:4: ()
3971 // InternalSolverLanguageParser.g:1623:5: 4880 // InternalSolverLanguageParser.g:1974:5:
3972 { 4881 {
3973 4882
3974 current = forceCreateModelElementAndAdd( 4883 current = forceCreateModelElementAndAdd(
@@ -3978,36 +4887,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3978 4887
3979 } 4888 }
3980 4889
3981 // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 4890 // InternalSolverLanguageParser.g:1980:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
3982 int cnt15=0; 4891 int cnt22=0;
3983 loop15: 4892 loop22:
3984 do { 4893 do {
3985 int alt15=2; 4894 int alt22=2;
3986 int LA15_0 = input.LA(1); 4895 int LA22_0 = input.LA(1);
3987 4896
3988 if ( (LA15_0==Comma) ) { 4897 if ( (LA22_0==Comma) ) {
3989 alt15=1; 4898 alt22=1;
3990 } 4899 }
3991 4900
3992 4901
3993 switch (alt15) { 4902 switch (alt22) {
3994 case 1 : 4903 case 1 :
3995 // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) 4904 // InternalSolverLanguageParser.g:1981:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) )
3996 { 4905 {
3997 otherlv_2=(Token)match(input,Comma,FOLLOW_6); 4906 otherlv_2=(Token)match(input,Comma,FOLLOW_10);
3998 4907
3999 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); 4908 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
4000 4909
4001 // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) ) 4910 // InternalSolverLanguageParser.g:1985:5: ( (lv_children_3_0= ruleComparisonExpression ) )
4002 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) 4911 // InternalSolverLanguageParser.g:1986:6: (lv_children_3_0= ruleComparisonExpression )
4003 { 4912 {
4004 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) 4913 // InternalSolverLanguageParser.g:1986:6: (lv_children_3_0= ruleComparisonExpression )
4005 // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression 4914 // InternalSolverLanguageParser.g:1987:7: lv_children_3_0= ruleComparisonExpression
4006 { 4915 {
4007 4916
4008 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); 4917 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
4009 4918
4010 pushFollow(FOLLOW_19); 4919 pushFollow(FOLLOW_33);
4011 lv_children_3_0=ruleComparisonExpression(); 4920 lv_children_3_0=ruleComparisonExpression();
4012 4921
4013 state._fsp--; 4922 state._fsp--;
@@ -4034,12 +4943,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4034 break; 4943 break;
4035 4944
4036 default : 4945 default :
4037 if ( cnt15 >= 1 ) break loop15; 4946 if ( cnt22 >= 1 ) break loop22;
4038 EarlyExitException eee = 4947 EarlyExitException eee =
4039 new EarlyExitException(15, input); 4948 new EarlyExitException(22, input);
4040 throw eee; 4949 throw eee;
4041 } 4950 }
4042 cnt15++; 4951 cnt22++;
4043 } while (true); 4952 } while (true);
4044 4953
4045 4954
@@ -4071,7 +4980,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4071 4980
4072 4981
4073 // $ANTLR start "entryRuleComparisonExpression" 4982 // $ANTLR start "entryRuleComparisonExpression"
4074 // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; 4983 // InternalSolverLanguageParser.g:2010:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ;
4075 public final EObject entryRuleComparisonExpression() throws RecognitionException { 4984 public final EObject entryRuleComparisonExpression() throws RecognitionException {
4076 EObject current = null; 4985 EObject current = null;
4077 4986
@@ -4079,8 +4988,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4079 4988
4080 4989
4081 try { 4990 try {
4082 // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) 4991 // InternalSolverLanguageParser.g:2010:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF )
4083 // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF 4992 // InternalSolverLanguageParser.g:2011:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF
4084 { 4993 {
4085 newCompositeNode(grammarAccess.getComparisonExpressionRule()); 4994 newCompositeNode(grammarAccess.getComparisonExpressionRule());
4086 pushFollow(FOLLOW_1); 4995 pushFollow(FOLLOW_1);
@@ -4107,7 +5016,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4107 5016
4108 5017
4109 // $ANTLR start "ruleComparisonExpression" 5018 // $ANTLR start "ruleComparisonExpression"
4110 // InternalSolverLanguageParser.g:1666:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; 5019 // InternalSolverLanguageParser.g:2017:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ;
4111 public final EObject ruleComparisonExpression() throws RecognitionException { 5020 public final EObject ruleComparisonExpression() throws RecognitionException {
4112 EObject current = null; 5021 EObject current = null;
4113 5022
@@ -4122,16 +5031,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4122 enterRule(); 5031 enterRule();
4123 5032
4124 try { 5033 try {
4125 // InternalSolverLanguageParser.g:1672:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) 5034 // InternalSolverLanguageParser.g:2023: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 ) ) )? ) 5035 // InternalSolverLanguageParser.g:2024:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
4127 { 5036 {
4128 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 5037 // InternalSolverLanguageParser.g:2024:2: (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 ) ) )? 5038 // InternalSolverLanguageParser.g:2025:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
4130 { 5039 {
4131 5040
4132 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 5041 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
4133 5042
4134 pushFollow(FOLLOW_28); 5043 pushFollow(FOLLOW_34);
4135 this_AdditiveExpression_0=ruleAdditiveExpression(); 5044 this_AdditiveExpression_0=ruleAdditiveExpression();
4136 5045
4137 state._fsp--; 5046 state._fsp--;
@@ -4140,38 +5049,38 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4140 current = this_AdditiveExpression_0; 5049 current = this_AdditiveExpression_0;
4141 afterParserOrEnumRuleCall(); 5050 afterParserOrEnumRuleCall();
4142 5051
4143 // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 5052 // InternalSolverLanguageParser.g:2033:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
4144 int alt17=2; 5053 int alt24=2;
4145 int LA17_0 = input.LA(1); 5054 int LA24_0 = input.LA(1);
4146 5055
4147 if ( (LA17_0==ExclamationMarkEqualsSign||(LA17_0>=LessThanSignEqualsSign && LA17_0<=EqualsSignEqualsSign)||LA17_0==GreaterThanSignEqualsSign||LA17_0==In||LA17_0==LessThanSign||LA17_0==GreaterThanSign) ) { 5056 if ( (LA24_0==ExclamationMarkEqualsSign||(LA24_0>=LessThanSignEqualsSign && LA24_0<=EqualsSignEqualsSign)||LA24_0==GreaterThanSignEqualsSign||LA24_0==In||LA24_0==LessThanSign||LA24_0==GreaterThanSign) ) {
4148 alt17=1; 5057 alt24=1;
4149 } 5058 }
4150 switch (alt17) { 5059 switch (alt24) {
4151 case 1 : 5060 case 1 :
4152 // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) 5061 // InternalSolverLanguageParser.g:2034:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) )
4153 { 5062 {
4154 // InternalSolverLanguageParser.g:1683:4: () 5063 // InternalSolverLanguageParser.g:2034:4: ()
4155 // InternalSolverLanguageParser.g:1684:5: 5064 // InternalSolverLanguageParser.g:2035:5:
4156 { 5065 {
4157 5066
4158 current = forceCreateModelElementAndSet( 5067 current = forceCreateModelElementAndSet(
4159 grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), 5068 grammarAccess.getComparisonExpressionAccess().getBinaryExpressionLeftAction_1_0(),
4160 current); 5069 current);
4161 5070
4162 5071
4163 } 5072 }
4164 5073
4165 // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) ) 5074 // InternalSolverLanguageParser.g:2041:4: ( (lv_op_2_0= ruleComparisonOperator ) )
4166 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) 5075 // InternalSolverLanguageParser.g:2042:5: (lv_op_2_0= ruleComparisonOperator )
4167 { 5076 {
4168 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) 5077 // InternalSolverLanguageParser.g:2042:5: (lv_op_2_0= ruleComparisonOperator )
4169 // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator 5078 // InternalSolverLanguageParser.g:2043:6: lv_op_2_0= ruleComparisonOperator
4170 { 5079 {
4171 5080
4172 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); 5081 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
4173 5082
4174 pushFollow(FOLLOW_6); 5083 pushFollow(FOLLOW_10);
4175 lv_op_2_0=ruleComparisonOperator(); 5084 lv_op_2_0=ruleComparisonOperator();
4176 5085
4177 state._fsp--; 5086 state._fsp--;
@@ -4193,11 +5102,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4193 5102
4194 } 5103 }
4195 5104
4196 // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) 5105 // InternalSolverLanguageParser.g:2060:4: ( (lv_right_3_0= ruleAdditiveExpression ) )
4197 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) 5106 // InternalSolverLanguageParser.g:2061:5: (lv_right_3_0= ruleAdditiveExpression )
4198 { 5107 {
4199 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) 5108 // InternalSolverLanguageParser.g:2061:5: (lv_right_3_0= ruleAdditiveExpression )
4200 // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression 5109 // InternalSolverLanguageParser.g:2062:6: lv_right_3_0= ruleAdditiveExpression
4201 { 5110 {
4202 5111
4203 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); 5112 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
@@ -4253,7 +5162,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4253 5162
4254 5163
4255 // $ANTLR start "entryRuleAdditiveExpression" 5164 // $ANTLR start "entryRuleAdditiveExpression"
4256 // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; 5165 // InternalSolverLanguageParser.g:2084:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
4257 public final EObject entryRuleAdditiveExpression() throws RecognitionException { 5166 public final EObject entryRuleAdditiveExpression() throws RecognitionException {
4258 EObject current = null; 5167 EObject current = null;
4259 5168
@@ -4261,8 +5170,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4261 5170
4262 5171
4263 try { 5172 try {
4264 // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) 5173 // InternalSolverLanguageParser.g:2084:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
4265 // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF 5174 // InternalSolverLanguageParser.g:2085:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
4266 { 5175 {
4267 newCompositeNode(grammarAccess.getAdditiveExpressionRule()); 5176 newCompositeNode(grammarAccess.getAdditiveExpressionRule());
4268 pushFollow(FOLLOW_1); 5177 pushFollow(FOLLOW_1);
@@ -4289,7 +5198,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4289 5198
4290 5199
4291 // $ANTLR start "ruleAdditiveExpression" 5200 // $ANTLR start "ruleAdditiveExpression"
4292 // InternalSolverLanguageParser.g:1740:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; 5201 // InternalSolverLanguageParser.g:2091:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ;
4293 public final EObject ruleAdditiveExpression() throws RecognitionException { 5202 public final EObject ruleAdditiveExpression() throws RecognitionException {
4294 EObject current = null; 5203 EObject current = null;
4295 5204
@@ -4304,16 +5213,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4304 enterRule(); 5213 enterRule();
4305 5214
4306 try { 5215 try {
4307 // InternalSolverLanguageParser.g:1746:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) 5216 // InternalSolverLanguageParser.g:2097: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 ) ) )* ) 5217 // InternalSolverLanguageParser.g:2098:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
4309 { 5218 {
4310 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 5219 // InternalSolverLanguageParser.g:2098:2: (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 ) ) )* 5220 // InternalSolverLanguageParser.g:2099:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
4312 { 5221 {
4313 5222
4314 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 5223 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
4315 5224
4316 pushFollow(FOLLOW_29); 5225 pushFollow(FOLLOW_35);
4317 this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); 5226 this_MultiplicativeExpression_0=ruleMultiplicativeExpression();
4318 5227
4319 state._fsp--; 5228 state._fsp--;
@@ -4322,23 +5231,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4322 current = this_MultiplicativeExpression_0; 5231 current = this_MultiplicativeExpression_0;
4323 afterParserOrEnumRuleCall(); 5232 afterParserOrEnumRuleCall();
4324 5233
4325 // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 5234 // InternalSolverLanguageParser.g:2107:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
4326 loop18: 5235 loop25:
4327 do { 5236 do {
4328 int alt18=2; 5237 int alt25=2;
4329 int LA18_0 = input.LA(1); 5238 int LA25_0 = input.LA(1);
4330 5239
4331 if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) { 5240 if ( (LA25_0==PlusSign||LA25_0==HyphenMinus) ) {
4332 alt18=1; 5241 alt25=1;
4333 } 5242 }
4334 5243
4335 5244
4336 switch (alt18) { 5245 switch (alt25) {
4337 case 1 : 5246 case 1 :
4338 // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 5247 // InternalSolverLanguageParser.g:2108:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) )
4339 { 5248 {
4340 // InternalSolverLanguageParser.g:1757:4: () 5249 // InternalSolverLanguageParser.g:2108:4: ()
4341 // InternalSolverLanguageParser.g:1758:5: 5250 // InternalSolverLanguageParser.g:2109:5:
4342 { 5251 {
4343 5252
4344 current = forceCreateModelElementAndSet( 5253 current = forceCreateModelElementAndSet(
@@ -4348,16 +5257,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4348 5257
4349 } 5258 }
4350 5259
4351 // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) 5260 // InternalSolverLanguageParser.g:2115:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) )
4352 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 5261 // InternalSolverLanguageParser.g:2116:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
4353 { 5262 {
4354 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 5263 // InternalSolverLanguageParser.g:2116:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
4355 // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator 5264 // InternalSolverLanguageParser.g:2117:6: lv_op_2_0= ruleAdditiveBinaryOperator
4356 { 5265 {
4357 5266
4358 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); 5267 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
4359 5268
4360 pushFollow(FOLLOW_6); 5269 pushFollow(FOLLOW_10);
4361 lv_op_2_0=ruleAdditiveBinaryOperator(); 5270 lv_op_2_0=ruleAdditiveBinaryOperator();
4362 5271
4363 state._fsp--; 5272 state._fsp--;
@@ -4379,16 +5288,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4379 5288
4380 } 5289 }
4381 5290
4382 // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 5291 // InternalSolverLanguageParser.g:2134:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) )
4383 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) 5292 // InternalSolverLanguageParser.g:2135:5: (lv_right_3_0= ruleMultiplicativeExpression )
4384 { 5293 {
4385 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) 5294 // InternalSolverLanguageParser.g:2135:5: (lv_right_3_0= ruleMultiplicativeExpression )
4386 // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression 5295 // InternalSolverLanguageParser.g:2136:6: lv_right_3_0= ruleMultiplicativeExpression
4387 { 5296 {
4388 5297
4389 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); 5298 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
4390 5299
4391 pushFollow(FOLLOW_29); 5300 pushFollow(FOLLOW_35);
4392 lv_right_3_0=ruleMultiplicativeExpression(); 5301 lv_right_3_0=ruleMultiplicativeExpression();
4393 5302
4394 state._fsp--; 5303 state._fsp--;
@@ -4415,7 +5324,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4415 break; 5324 break;
4416 5325
4417 default : 5326 default :
4418 break loop18; 5327 break loop25;
4419 } 5328 }
4420 } while (true); 5329 } while (true);
4421 5330
@@ -4442,7 +5351,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4442 5351
4443 5352
4444 // $ANTLR start "entryRuleMultiplicativeExpression" 5353 // $ANTLR start "entryRuleMultiplicativeExpression"
4445 // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; 5354 // InternalSolverLanguageParser.g:2158:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
4446 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { 5355 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
4447 EObject current = null; 5356 EObject current = null;
4448 5357
@@ -4450,8 +5359,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4450 5359
4451 5360
4452 try { 5361 try {
4453 // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) 5362 // InternalSolverLanguageParser.g:2158:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
4454 // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF 5363 // InternalSolverLanguageParser.g:2159:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
4455 { 5364 {
4456 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); 5365 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
4457 pushFollow(FOLLOW_1); 5366 pushFollow(FOLLOW_1);
@@ -4478,7 +5387,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4478 5387
4479 5388
4480 // $ANTLR start "ruleMultiplicativeExpression" 5389 // $ANTLR start "ruleMultiplicativeExpression"
4481 // InternalSolverLanguageParser.g:1814:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; 5390 // InternalSolverLanguageParser.g:2165:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ;
4482 public final EObject ruleMultiplicativeExpression() throws RecognitionException { 5391 public final EObject ruleMultiplicativeExpression() throws RecognitionException {
4483 EObject current = null; 5392 EObject current = null;
4484 5393
@@ -4493,16 +5402,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4493 enterRule(); 5402 enterRule();
4494 5403
4495 try { 5404 try {
4496 // InternalSolverLanguageParser.g:1820:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) 5405 // InternalSolverLanguageParser.g:2171: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 ) ) )* ) 5406 // InternalSolverLanguageParser.g:2172:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
4498 { 5407 {
4499 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 5408 // InternalSolverLanguageParser.g:2172:2: (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 ) ) )* 5409 // InternalSolverLanguageParser.g:2173:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
4501 { 5410 {
4502 5411
4503 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); 5412 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
4504 5413
4505 pushFollow(FOLLOW_30); 5414 pushFollow(FOLLOW_36);
4506 this_ExponentialExpression_0=ruleExponentialExpression(); 5415 this_ExponentialExpression_0=ruleExponentialExpression();
4507 5416
4508 state._fsp--; 5417 state._fsp--;
@@ -4511,23 +5420,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4511 current = this_ExponentialExpression_0; 5420 current = this_ExponentialExpression_0;
4512 afterParserOrEnumRuleCall(); 5421 afterParserOrEnumRuleCall();
4513 5422
4514 // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 5423 // InternalSolverLanguageParser.g:2181:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
4515 loop19: 5424 loop26:
4516 do { 5425 do {
4517 int alt19=2; 5426 int alt26=2;
4518 int LA19_0 = input.LA(1); 5427 int LA26_0 = input.LA(1);
4519 5428
4520 if ( (LA19_0==Asterisk||LA19_0==Solidus) ) { 5429 if ( (LA26_0==Asterisk||LA26_0==Solidus) ) {
4521 alt19=1; 5430 alt26=1;
4522 } 5431 }
4523 5432
4524 5433
4525 switch (alt19) { 5434 switch (alt26) {
4526 case 1 : 5435 case 1 :
4527 // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 5436 // InternalSolverLanguageParser.g:2182:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
4528 { 5437 {
4529 // InternalSolverLanguageParser.g:1831:4: () 5438 // InternalSolverLanguageParser.g:2182:4: ()
4530 // InternalSolverLanguageParser.g:1832:5: 5439 // InternalSolverLanguageParser.g:2183:5:
4531 { 5440 {
4532 5441
4533 current = forceCreateModelElementAndSet( 5442 current = forceCreateModelElementAndSet(
@@ -4537,16 +5446,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4537 5446
4538 } 5447 }
4539 5448
4540 // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) 5449 // InternalSolverLanguageParser.g:2189:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) )
4541 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 5450 // InternalSolverLanguageParser.g:2190:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
4542 { 5451 {
4543 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 5452 // InternalSolverLanguageParser.g:2190:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
4544 // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator 5453 // InternalSolverLanguageParser.g:2191:6: lv_op_2_0= ruleMultiplicativeBinaryOperator
4545 { 5454 {
4546 5455
4547 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); 5456 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
4548 5457
4549 pushFollow(FOLLOW_6); 5458 pushFollow(FOLLOW_10);
4550 lv_op_2_0=ruleMultiplicativeBinaryOperator(); 5459 lv_op_2_0=ruleMultiplicativeBinaryOperator();
4551 5460
4552 state._fsp--; 5461 state._fsp--;
@@ -4568,16 +5477,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4568 5477
4569 } 5478 }
4570 5479
4571 // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 5480 // InternalSolverLanguageParser.g:2208:4: ( (lv_right_3_0= ruleExponentialExpression ) )
4572 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) 5481 // InternalSolverLanguageParser.g:2209:5: (lv_right_3_0= ruleExponentialExpression )
4573 { 5482 {
4574 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) 5483 // InternalSolverLanguageParser.g:2209:5: (lv_right_3_0= ruleExponentialExpression )
4575 // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression 5484 // InternalSolverLanguageParser.g:2210:6: lv_right_3_0= ruleExponentialExpression
4576 { 5485 {
4577 5486
4578 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 5487 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
4579 5488
4580 pushFollow(FOLLOW_30); 5489 pushFollow(FOLLOW_36);
4581 lv_right_3_0=ruleExponentialExpression(); 5490 lv_right_3_0=ruleExponentialExpression();
4582 5491
4583 state._fsp--; 5492 state._fsp--;
@@ -4604,7 +5513,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4604 break; 5513 break;
4605 5514
4606 default : 5515 default :
4607 break loop19; 5516 break loop26;
4608 } 5517 }
4609 } while (true); 5518 } while (true);
4610 5519
@@ -4631,7 +5540,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4631 5540
4632 5541
4633 // $ANTLR start "entryRuleExponentialExpression" 5542 // $ANTLR start "entryRuleExponentialExpression"
4634 // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; 5543 // InternalSolverLanguageParser.g:2232:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ;
4635 public final EObject entryRuleExponentialExpression() throws RecognitionException { 5544 public final EObject entryRuleExponentialExpression() throws RecognitionException {
4636 EObject current = null; 5545 EObject current = null;
4637 5546
@@ -4639,8 +5548,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4639 5548
4640 5549
4641 try { 5550 try {
4642 // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) 5551 // InternalSolverLanguageParser.g:2232:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF )
4643 // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF 5552 // InternalSolverLanguageParser.g:2233:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF
4644 { 5553 {
4645 newCompositeNode(grammarAccess.getExponentialExpressionRule()); 5554 newCompositeNode(grammarAccess.getExponentialExpressionRule());
4646 pushFollow(FOLLOW_1); 5555 pushFollow(FOLLOW_1);
@@ -4667,7 +5576,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4667 5576
4668 5577
4669 // $ANTLR start "ruleExponentialExpression" 5578 // $ANTLR start "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 ) ) )? ) ; 5579 // InternalSolverLanguageParser.g:2239:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ;
4671 public final EObject ruleExponentialExpression() throws RecognitionException { 5580 public final EObject ruleExponentialExpression() throws RecognitionException {
4672 EObject current = null; 5581 EObject current = null;
4673 5582
@@ -4682,16 +5591,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4682 enterRule(); 5591 enterRule();
4683 5592
4684 try { 5593 try {
4685 // InternalSolverLanguageParser.g:1894:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ) 5594 // InternalSolverLanguageParser.g:2245:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) )
4686 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) 5595 // InternalSolverLanguageParser.g:2246:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
4687 { 5596 {
4688 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) 5597 // InternalSolverLanguageParser.g:2246:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
4689 // InternalSolverLanguageParser.g:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? 5598 // InternalSolverLanguageParser.g:2247:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
4690 { 5599 {
4691 5600
4692 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); 5601 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
4693 5602
4694 pushFollow(FOLLOW_31); 5603 pushFollow(FOLLOW_37);
4695 this_CastExpression_0=ruleCastExpression(); 5604 this_CastExpression_0=ruleCastExpression();
4696 5605
4697 state._fsp--; 5606 state._fsp--;
@@ -4700,19 +5609,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4700 current = this_CastExpression_0; 5609 current = this_CastExpression_0;
4701 afterParserOrEnumRuleCall(); 5610 afterParserOrEnumRuleCall();
4702 5611
4703 // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? 5612 // InternalSolverLanguageParser.g:2255:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
4704 int alt20=2; 5613 int alt27=2;
4705 int LA20_0 = input.LA(1); 5614 int LA27_0 = input.LA(1);
4706 5615
4707 if ( (LA20_0==CircumflexAccent) ) { 5616 if ( (LA27_0==CircumflexAccent) ) {
4708 alt20=1; 5617 alt27=1;
4709 } 5618 }
4710 switch (alt20) { 5619 switch (alt27) {
4711 case 1 : 5620 case 1 :
4712 // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) 5621 // InternalSolverLanguageParser.g:2256:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) )
4713 { 5622 {
4714 // InternalSolverLanguageParser.g:1905:4: () 5623 // InternalSolverLanguageParser.g:2256:4: ()
4715 // InternalSolverLanguageParser.g:1906:5: 5624 // InternalSolverLanguageParser.g:2257:5:
4716 { 5625 {
4717 5626
4718 current = forceCreateModelElementAndSet( 5627 current = forceCreateModelElementAndSet(
@@ -4722,16 +5631,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4722 5631
4723 } 5632 }
4724 5633
4725 // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) ) 5634 // InternalSolverLanguageParser.g:2263:4: ( (lv_op_2_0= ruleExponentialOp ) )
4726 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) 5635 // InternalSolverLanguageParser.g:2264:5: (lv_op_2_0= ruleExponentialOp )
4727 { 5636 {
4728 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) 5637 // InternalSolverLanguageParser.g:2264:5: (lv_op_2_0= ruleExponentialOp )
4729 // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp 5638 // InternalSolverLanguageParser.g:2265:6: lv_op_2_0= ruleExponentialOp
4730 { 5639 {
4731 5640
4732 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); 5641 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
4733 5642
4734 pushFollow(FOLLOW_6); 5643 pushFollow(FOLLOW_10);
4735 lv_op_2_0=ruleExponentialOp(); 5644 lv_op_2_0=ruleExponentialOp();
4736 5645
4737 state._fsp--; 5646 state._fsp--;
@@ -4753,11 +5662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4753 5662
4754 } 5663 }
4755 5664
4756 // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) ) 5665 // InternalSolverLanguageParser.g:2282:4: ( (lv_right_3_0= ruleCastExpression ) )
4757 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) 5666 // InternalSolverLanguageParser.g:2283:5: (lv_right_3_0= ruleCastExpression )
4758 { 5667 {
4759 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) 5668 // InternalSolverLanguageParser.g:2283:5: (lv_right_3_0= ruleCastExpression )
4760 // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression 5669 // InternalSolverLanguageParser.g:2284:6: lv_right_3_0= ruleCastExpression
4761 { 5670 {
4762 5671
4763 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); 5672 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
@@ -4813,7 +5722,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4813 5722
4814 5723
4815 // $ANTLR start "entryRuleCastExpression" 5724 // $ANTLR start "entryRuleCastExpression"
4816 // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ; 5725 // InternalSolverLanguageParser.g:2306:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ;
4817 public final EObject entryRuleCastExpression() throws RecognitionException { 5726 public final EObject entryRuleCastExpression() throws RecognitionException {
4818 EObject current = null; 5727 EObject current = null;
4819 5728
@@ -4821,8 +5730,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4821 5730
4822 5731
4823 try { 5732 try {
4824 // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF ) 5733 // InternalSolverLanguageParser.g:2306:55: (iv_ruleCastExpression= ruleCastExpression EOF )
4825 // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF 5734 // InternalSolverLanguageParser.g:2307:2: iv_ruleCastExpression= ruleCastExpression EOF
4826 { 5735 {
4827 newCompositeNode(grammarAccess.getCastExpressionRule()); 5736 newCompositeNode(grammarAccess.getCastExpressionRule());
4828 pushFollow(FOLLOW_1); 5737 pushFollow(FOLLOW_1);
@@ -4849,7 +5758,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4849 5758
4850 5759
4851 // $ANTLR start "ruleCastExpression" 5760 // $ANTLR start "ruleCastExpression"
4852 // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ; 5761 // InternalSolverLanguageParser.g:2313:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ;
4853 public final EObject ruleCastExpression() throws RecognitionException { 5762 public final EObject ruleCastExpression() throws RecognitionException {
4854 EObject current = null; 5763 EObject current = null;
4855 5764
@@ -4861,16 +5770,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4861 enterRule(); 5770 enterRule();
4862 5771
4863 try { 5772 try {
4864 // InternalSolverLanguageParser.g:1968:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ) 5773 // InternalSolverLanguageParser.g:2319:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) )
4865 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) 5774 // InternalSolverLanguageParser.g:2320:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4866 { 5775 {
4867 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) 5776 // InternalSolverLanguageParser.g:2320:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4868 // InternalSolverLanguageParser.g:1970:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? 5777 // InternalSolverLanguageParser.g:2321:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4869 { 5778 {
4870 5779
4871 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); 5780 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
4872 5781
4873 pushFollow(FOLLOW_32); 5782 pushFollow(FOLLOW_38);
4874 this_UnaryExpression_0=ruleUnaryExpression(); 5783 this_UnaryExpression_0=ruleUnaryExpression();
4875 5784
4876 state._fsp--; 5785 state._fsp--;
@@ -4879,19 +5788,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4879 current = this_UnaryExpression_0; 5788 current = this_UnaryExpression_0;
4880 afterParserOrEnumRuleCall(); 5789 afterParserOrEnumRuleCall();
4881 5790
4882 // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? 5791 // InternalSolverLanguageParser.g:2329:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4883 int alt21=2; 5792 int alt28=2;
4884 int LA21_0 = input.LA(1); 5793 int LA28_0 = input.LA(1);
4885 5794
4886 if ( (LA21_0==As) ) { 5795 if ( (LA28_0==As) ) {
4887 alt21=1; 5796 alt28=1;
4888 } 5797 }
4889 switch (alt21) { 5798 switch (alt28) {
4890 case 1 : 5799 case 1 :
4891 // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) ) 5800 // InternalSolverLanguageParser.g:2330:4: () otherlv_2= As ( ( ruleQualifiedName ) )
4892 { 5801 {
4893 // InternalSolverLanguageParser.g:1979:4: () 5802 // InternalSolverLanguageParser.g:2330:4: ()
4894 // InternalSolverLanguageParser.g:1980:5: 5803 // InternalSolverLanguageParser.g:2331:5:
4895 { 5804 {
4896 5805
4897 current = forceCreateModelElementAndSet( 5806 current = forceCreateModelElementAndSet(
@@ -4901,15 +5810,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4901 5810
4902 } 5811 }
4903 5812
4904 otherlv_2=(Token)match(input,As,FOLLOW_8); 5813 otherlv_2=(Token)match(input,As,FOLLOW_3);
4905 5814
4906 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); 5815 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
4907 5816
4908 // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) ) 5817 // InternalSolverLanguageParser.g:2341:4: ( ( ruleQualifiedName ) )
4909 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) 5818 // InternalSolverLanguageParser.g:2342:5: ( ruleQualifiedName )
4910 { 5819 {
4911 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) 5820 // InternalSolverLanguageParser.g:2342:5: ( ruleQualifiedName )
4912 // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName 5821 // InternalSolverLanguageParser.g:2343:6: ruleQualifiedName
4913 { 5822 {
4914 5823
4915 if (current==null) { 5824 if (current==null) {
@@ -4917,7 +5826,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4917 } 5826 }
4918 5827
4919 5828
4920 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); 5829 newCompositeNode(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolCrossReference_1_2_0());
4921 5830
4922 pushFollow(FOLLOW_2); 5831 pushFollow(FOLLOW_2);
4923 ruleQualifiedName(); 5832 ruleQualifiedName();
@@ -4962,7 +5871,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4962 5871
4963 5872
4964 // $ANTLR start "entryRuleUnaryExpression" 5873 // $ANTLR start "entryRuleUnaryExpression"
4965 // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; 5874 // InternalSolverLanguageParser.g:2362:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
4966 public final EObject entryRuleUnaryExpression() throws RecognitionException { 5875 public final EObject entryRuleUnaryExpression() throws RecognitionException {
4967 EObject current = null; 5876 EObject current = null;
4968 5877
@@ -4970,8 +5879,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4970 5879
4971 5880
4972 try { 5881 try {
4973 // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) 5882 // InternalSolverLanguageParser.g:2362:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
4974 // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF 5883 // InternalSolverLanguageParser.g:2363:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
4975 { 5884 {
4976 newCompositeNode(grammarAccess.getUnaryExpressionRule()); 5885 newCompositeNode(grammarAccess.getUnaryExpressionRule());
4977 pushFollow(FOLLOW_1); 5886 pushFollow(FOLLOW_1);
@@ -4998,11 +5907,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4998 5907
4999 5908
5000 // $ANTLR start "ruleUnaryExpression" 5909 // $ANTLR start "ruleUnaryExpression"
5001 // InternalSolverLanguageParser.g:2018:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; 5910 // InternalSolverLanguageParser.g:2369:1: ruleUnaryExpression returns [EObject current=null] : (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) ;
5002 public final EObject ruleUnaryExpression() throws RecognitionException { 5911 public final EObject ruleUnaryExpression() throws RecognitionException {
5003 EObject current = null; 5912 EObject current = null;
5004 5913
5005 EObject this_AggregationExpression_0 = null; 5914 EObject this_BracedAggregateExpression_0 = null;
5006 5915
5007 Enumerator lv_op_2_0 = null; 5916 Enumerator lv_op_2_0 = null;
5008 5917
@@ -5013,52 +5922,52 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5013 enterRule(); 5922 enterRule();
5014 5923
5015 try { 5924 try {
5016 // InternalSolverLanguageParser.g:2024:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) 5925 // InternalSolverLanguageParser.g:2375:2: ( (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) )
5017 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5926 // InternalSolverLanguageParser.g:2376:2: (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) )
5018 { 5927 {
5019 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5928 // InternalSolverLanguageParser.g:2376:2: (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) )
5020 int alt22=2; 5929 int alt29=2;
5021 int LA22_0 = input.LA(1); 5930 int LA29_0 = input.LA(1);
5022 5931
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)) ) { 5932 if ( (LA29_0==Unknown||LA29_0==Object||(LA29_0>=Count && LA29_0<=False)||LA29_0==True||LA29_0==Inf||LA29_0==LeftParenthesis||LA29_0==LeftSquareBracket||(LA29_0>=Tilde && LA29_0<=RULE_QUOTED_ID)||(LA29_0>=RULE_ID && LA29_0<=RULE_INT)) ) {
5024 alt22=1; 5933 alt29=1;
5025 } 5934 }
5026 else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) { 5935 else if ( (LA29_0==ExclamationMark||LA29_0==PlusSign||LA29_0==HyphenMinus||LA29_0==QuestionMark) ) {
5027 alt22=2; 5936 alt29=2;
5028 } 5937 }
5029 else { 5938 else {
5030 NoViableAltException nvae = 5939 NoViableAltException nvae =
5031 new NoViableAltException("", 22, 0, input); 5940 new NoViableAltException("", 29, 0, input);
5032 5941
5033 throw nvae; 5942 throw nvae;
5034 } 5943 }
5035 switch (alt22) { 5944 switch (alt29) {
5036 case 1 : 5945 case 1 :
5037 // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression 5946 // InternalSolverLanguageParser.g:2377:3: this_BracedAggregateExpression_0= ruleBracedAggregateExpression
5038 { 5947 {
5039 5948
5040 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 5949 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBracedAggregateExpressionParserRuleCall_0());
5041 5950
5042 pushFollow(FOLLOW_2); 5951 pushFollow(FOLLOW_2);
5043 this_AggregationExpression_0=ruleAggregationExpression(); 5952 this_BracedAggregateExpression_0=ruleBracedAggregateExpression();
5044 5953
5045 state._fsp--; 5954 state._fsp--;
5046 5955
5047 5956
5048 current = this_AggregationExpression_0; 5957 current = this_BracedAggregateExpression_0;
5049 afterParserOrEnumRuleCall(); 5958 afterParserOrEnumRuleCall();
5050 5959
5051 5960
5052 } 5961 }
5053 break; 5962 break;
5054 case 2 : 5963 case 2 :
5055 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5964 // InternalSolverLanguageParser.g:2386:3: ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) )
5056 { 5965 {
5057 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5966 // InternalSolverLanguageParser.g:2386:3: ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) )
5058 // InternalSolverLanguageParser.g:2036:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) 5967 // InternalSolverLanguageParser.g:2387:4: () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) )
5059 { 5968 {
5060 // InternalSolverLanguageParser.g:2036:4: () 5969 // InternalSolverLanguageParser.g:2387:4: ()
5061 // InternalSolverLanguageParser.g:2037:5: 5970 // InternalSolverLanguageParser.g:2388:5:
5062 { 5971 {
5063 5972
5064 current = forceCreateModelElement( 5973 current = forceCreateModelElement(
@@ -5068,17 +5977,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5068 5977
5069 } 5978 }
5070 5979
5071 // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) ) 5980 // InternalSolverLanguageParser.g:2394:4: ( (lv_op_2_0= ruleUnaryOperator ) )
5072 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) 5981 // InternalSolverLanguageParser.g:2395:5: (lv_op_2_0= ruleUnaryOperator )
5073 { 5982 {
5074 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) 5983 // InternalSolverLanguageParser.g:2395:5: (lv_op_2_0= ruleUnaryOperator )
5075 // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp 5984 // InternalSolverLanguageParser.g:2396:6: lv_op_2_0= ruleUnaryOperator
5076 { 5985 {
5077 5986
5078 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 5987 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0());
5079 5988
5080 pushFollow(FOLLOW_33); 5989 pushFollow(FOLLOW_39);
5081 lv_op_2_0=ruleUnaryOp(); 5990 lv_op_2_0=ruleUnaryOperator();
5082 5991
5083 state._fsp--; 5992 state._fsp--;
5084 5993
@@ -5090,7 +5999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5090 current, 5999 current,
5091 "op", 6000 "op",
5092 lv_op_2_0, 6001 lv_op_2_0,
5093 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); 6002 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator");
5094 afterParserOrEnumRuleCall(); 6003 afterParserOrEnumRuleCall();
5095 6004
5096 6005
@@ -5099,17 +6008,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5099 6008
5100 } 6009 }
5101 6010
5102 // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) ) 6011 // InternalSolverLanguageParser.g:2413:4: ( (lv_body_3_0= ruleBracedAggregateExpression ) )
5103 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) 6012 // InternalSolverLanguageParser.g:2414:5: (lv_body_3_0= ruleBracedAggregateExpression )
5104 { 6013 {
5105 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) 6014 // InternalSolverLanguageParser.g:2414:5: (lv_body_3_0= ruleBracedAggregateExpression )
5106 // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression 6015 // InternalSolverLanguageParser.g:2415:6: lv_body_3_0= ruleBracedAggregateExpression
5107 { 6016 {
5108 6017
5109 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 6018 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0());
5110 6019
5111 pushFollow(FOLLOW_2); 6020 pushFollow(FOLLOW_2);
5112 lv_body_3_0=ruleAggregationExpression(); 6021 lv_body_3_0=ruleBracedAggregateExpression();
5113 6022
5114 state._fsp--; 6023 state._fsp--;
5115 6024
@@ -5121,7 +6030,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5121 current, 6030 current,
5122 "body", 6031 "body",
5123 lv_body_3_0, 6032 lv_body_3_0,
5124 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 6033 "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression");
5125 afterParserOrEnumRuleCall(); 6034 afterParserOrEnumRuleCall();
5126 6035
5127 6036
@@ -5158,25 +6067,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5158 // $ANTLR end "ruleUnaryExpression" 6067 // $ANTLR end "ruleUnaryExpression"
5159 6068
5160 6069
5161 // $ANTLR start "entryRuleAggregationExpression" 6070 // $ANTLR start "entryRuleBracedAggregateExpression"
5162 // InternalSolverLanguageParser.g:2086:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; 6071 // InternalSolverLanguageParser.g:2437:1: entryRuleBracedAggregateExpression returns [EObject current=null] : iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF ;
5163 public final EObject entryRuleAggregationExpression() throws RecognitionException { 6072 public final EObject entryRuleBracedAggregateExpression() throws RecognitionException {
5164 EObject current = null; 6073 EObject current = null;
5165 6074
5166 EObject iv_ruleAggregationExpression = null; 6075 EObject iv_ruleBracedAggregateExpression = null;
5167 6076
5168 6077
5169 try { 6078 try {
5170 // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) 6079 // InternalSolverLanguageParser.g:2437:66: (iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF )
5171 // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF 6080 // InternalSolverLanguageParser.g:2438:2: iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF
5172 { 6081 {
5173 newCompositeNode(grammarAccess.getAggregationExpressionRule()); 6082 newCompositeNode(grammarAccess.getBracedAggregateExpressionRule());
5174 pushFollow(FOLLOW_1); 6083 pushFollow(FOLLOW_1);
5175 iv_ruleAggregationExpression=ruleAggregationExpression(); 6084 iv_ruleBracedAggregateExpression=ruleBracedAggregateExpression();
5176 6085
5177 state._fsp--; 6086 state._fsp--;
5178 6087
5179 current =iv_ruleAggregationExpression; 6088 current =iv_ruleBracedAggregateExpression;
5180 match(input,EOF,FOLLOW_2); 6089 match(input,EOF,FOLLOW_2);
5181 6090
5182 } 6091 }
@@ -5191,37 +6100,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5191 } 6100 }
5192 return current; 6101 return current;
5193 } 6102 }
5194 // $ANTLR end "entryRuleAggregationExpression" 6103 // $ANTLR end "entryRuleBracedAggregateExpression"
5195 6104
5196 6105
5197 // $ANTLR start "ruleAggregationExpression" 6106 // $ANTLR start "ruleBracedAggregateExpression"
5198 // InternalSolverLanguageParser.g:2093:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ; 6107 // InternalSolverLanguageParser.g:2444:1: ruleBracedAggregateExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) ;
5199 public final EObject ruleAggregationExpression() throws RecognitionException { 6108 public final EObject ruleBracedAggregateExpression() throws RecognitionException {
5200 EObject current = null; 6109 EObject current = null;
5201 6110
5202 EObject this_AtomicExpression_0 = null; 6111 EObject this_AtomicExpression_0 = null;
5203 6112
5204 EObject this_QuantifiedExpression_1 = null; 6113 EObject this_Aggregation_1 = null;
5205 6114
5206 EObject this_Aggregation_2 = null; 6115 EObject this_Count_2 = null;
5207 6116
5208 6117
5209 6118
5210 enterRule(); 6119 enterRule();
5211 6120
5212 try { 6121 try {
5213 // InternalSolverLanguageParser.g:2099:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ) 6122 // InternalSolverLanguageParser.g:2450:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) )
5214 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) 6123 // InternalSolverLanguageParser.g:2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount )
5215 { 6124 {
5216 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) 6125 // InternalSolverLanguageParser.g:2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount )
5217 int alt23=3; 6126 int alt30=3;
5218 alt23 = dfa23.predict(input); 6127 alt30 = dfa30.predict(input);
5219 switch (alt23) { 6128 switch (alt30) {
5220 case 1 : 6129 case 1 :
5221 // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression 6130 // InternalSolverLanguageParser.g:2452:3: this_AtomicExpression_0= ruleAtomicExpression
5222 { 6131 {
5223 6132
5224 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 6133 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAtomicExpressionParserRuleCall_0());
5225 6134
5226 pushFollow(FOLLOW_2); 6135 pushFollow(FOLLOW_2);
5227 this_AtomicExpression_0=ruleAtomicExpression(); 6136 this_AtomicExpression_0=ruleAtomicExpression();
@@ -5236,36 +6145,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5236 } 6145 }
5237 break; 6146 break;
5238 case 2 : 6147 case 2 :
5239 // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression 6148 // InternalSolverLanguageParser.g:2461:3: this_Aggregation_1= ruleAggregation
5240 { 6149 {
5241 6150
5242 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); 6151 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAggregationParserRuleCall_1());
5243 6152
5244 pushFollow(FOLLOW_2); 6153 pushFollow(FOLLOW_2);
5245 this_QuantifiedExpression_1=ruleQuantifiedExpression(); 6154 this_Aggregation_1=ruleAggregation();
5246 6155
5247 state._fsp--; 6156 state._fsp--;
5248 6157
5249 6158
5250 current = this_QuantifiedExpression_1; 6159 current = this_Aggregation_1;
5251 afterParserOrEnumRuleCall(); 6160 afterParserOrEnumRuleCall();
5252 6161
5253 6162
5254 } 6163 }
5255 break; 6164 break;
5256 case 3 : 6165 case 3 :
5257 // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation 6166 // InternalSolverLanguageParser.g:2470:3: this_Count_2= ruleCount
5258 { 6167 {
5259 6168
5260 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 6169 newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getCountParserRuleCall_2());
5261 6170
5262 pushFollow(FOLLOW_2); 6171 pushFollow(FOLLOW_2);
5263 this_Aggregation_2=ruleAggregation(); 6172 this_Count_2=ruleCount();
5264 6173
5265 state._fsp--; 6174 state._fsp--;
5266 6175
5267 6176
5268 current = this_Aggregation_2; 6177 current = this_Count_2;
5269 afterParserOrEnumRuleCall(); 6178 afterParserOrEnumRuleCall();
5270 6179
5271 6180
@@ -5290,28 +6199,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5290 } 6199 }
5291 return current; 6200 return current;
5292 } 6201 }
5293 // $ANTLR end "ruleAggregationExpression" 6202 // $ANTLR end "ruleBracedAggregateExpression"
5294 6203
5295 6204
5296 // $ANTLR start "entryRuleLocalVariables" 6205 // $ANTLR start "entryRuleAggregation"
5297 // InternalSolverLanguageParser.g:2131:1: entryRuleLocalVariables returns [EObject current=null] : iv_ruleLocalVariables= ruleLocalVariables EOF ; 6206 // InternalSolverLanguageParser.g:2482:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ;
5298 public final EObject entryRuleLocalVariables() throws RecognitionException { 6207 public final EObject entryRuleAggregation() throws RecognitionException {
5299 EObject current = null; 6208 EObject current = null;
5300 6209
5301 EObject iv_ruleLocalVariables = null; 6210 EObject iv_ruleAggregation = null;
5302 6211
5303 6212
5304 try { 6213 try {
5305 // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF ) 6214 // InternalSolverLanguageParser.g:2482:52: (iv_ruleAggregation= ruleAggregation EOF )
5306 // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF 6215 // InternalSolverLanguageParser.g:2483:2: iv_ruleAggregation= ruleAggregation EOF
5307 { 6216 {
5308 newCompositeNode(grammarAccess.getLocalVariablesRule()); 6217 newCompositeNode(grammarAccess.getAggregationRule());
5309 pushFollow(FOLLOW_1); 6218 pushFollow(FOLLOW_1);
5310 iv_ruleLocalVariables=ruleLocalVariables(); 6219 iv_ruleAggregation=ruleAggregation();
5311 6220
5312 state._fsp--; 6221 state._fsp--;
5313 6222
5314 current =iv_ruleLocalVariables; 6223 current =iv_ruleAggregation;
5315 match(input,EOF,FOLLOW_2); 6224 match(input,EOF,FOLLOW_2);
5316 6225
5317 } 6226 }
@@ -5326,263 +6235,87 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5326 } 6235 }
5327 return current; 6236 return current;
5328 } 6237 }
5329 // $ANTLR end "entryRuleLocalVariables" 6238 // $ANTLR end "entryRuleAggregation"
5330 6239
5331 6240
5332 // $ANTLR start "ruleLocalVariables" 6241 // $ANTLR start "ruleAggregation"
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 ) ; 6242 // InternalSolverLanguageParser.g:2489:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ;
5334 public final EObject ruleLocalVariables() throws RecognitionException { 6243 public final EObject ruleAggregation() throws RecognitionException {
5335 EObject current = null; 6244 EObject current = null;
5336 6245
5337 Token otherlv_1=null; 6246 Token otherlv_1=null;
5338 Token otherlv_3=null; 6247 Token otherlv_3=null;
5339 Token otherlv_5=null; 6248 Token otherlv_5=null;
5340 EObject lv_variables_2_0 = null; 6249 EObject lv_value_2_0 = null;
5341 6250
5342 EObject lv_variables_4_0 = null; 6251 EObject lv_condition_4_0 = null;
5343 6252
5344 6253
5345 6254
5346 enterRule(); 6255 enterRule();
5347 6256
5348 try { 6257 try {
5349 // InternalSolverLanguageParser.g:2144:2: ( ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ) 6258 // InternalSolverLanguageParser.g:2495:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= 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 ) 6259 // InternalSolverLanguageParser.g:2496:2: ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket )
5351 { 6260 {
5352 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) 6261 // InternalSolverLanguageParser.g:2496:2: ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket )
5353 // InternalSolverLanguageParser.g:2146:3: () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket 6262 // InternalSolverLanguageParser.g:2497:3: ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket
5354 { 6263 {
5355 // InternalSolverLanguageParser.g:2146:3: () 6264 // InternalSolverLanguageParser.g:2497:3: ( ( ruleQualifiedName ) )
5356 // InternalSolverLanguageParser.g:2147:4: 6265 // InternalSolverLanguageParser.g:2498:4: ( ruleQualifiedName )
6266 {
6267 // InternalSolverLanguageParser.g:2498:4: ( ruleQualifiedName )
6268 // InternalSolverLanguageParser.g:2499:5: ruleQualifiedName
5357 { 6269 {
5358 6270
5359 current = forceCreateModelElement( 6271 if (current==null) {
5360 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(), 6272 current = createModelElement(grammarAccess.getAggregationRule());
5361 current); 6273 }
5362 6274
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());
5480
5481
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 6275
5511 try { 6276 newCompositeNode(grammarAccess.getAggregationAccess().getOpSymbolCrossReference_0_0());
5512 // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ) 6277
5513 // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF 6278 pushFollow(FOLLOW_20);
5514 { 6279 ruleQualifiedName();
5515 newCompositeNode(grammarAccess.getQuantifiedExpressionRule());
5516 pushFollow(FOLLOW_1);
5517 iv_ruleQuantifiedExpression=ruleQuantifiedExpression();
5518 6280
5519 state._fsp--; 6281 state._fsp--;
5520 6282
5521 current =iv_ruleQuantifiedExpression;
5522 match(input,EOF,FOLLOW_2);
5523
5524 }
5525 6283
5526 } 6284 afterParserOrEnumRuleCall();
6285
5527 6286
5528 catch (RecognitionException re) {
5529 recover(input,re);
5530 appendSkippedTokens();
5531 } 6287 }
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 6288
5552 6289
6290 }
5553 6291
5554 enterRule(); 6292 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_10);
5555 6293
5556 try { 6294 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
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 ) ) 6295
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 ) 6296 // InternalSolverLanguageParser.g:2517:3: ( (lv_value_2_0= ruleExpression ) )
5559 { 6297 // InternalSolverLanguageParser.g:2518:4: (lv_value_2_0= ruleExpression )
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 { 6298 {
5566 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier ) 6299 // InternalSolverLanguageParser.g:2518:4: (lv_value_2_0= ruleExpression )
5567 // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier 6300 // InternalSolverLanguageParser.g:2519:5: lv_value_2_0= ruleExpression
5568 { 6301 {
5569 6302
5570 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); 6303 newCompositeNode(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0());
5571 6304
5572 pushFollow(FOLLOW_36); 6305 pushFollow(FOLLOW_40);
5573 lv_quantifier_0_0=ruleQuantifier(); 6306 lv_value_2_0=ruleExpression();
5574 6307
5575 state._fsp--; 6308 state._fsp--;
5576 6309
5577 6310
5578 if (current==null) { 6311 if (current==null) {
5579 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); 6312 current = createModelElementForParent(grammarAccess.getAggregationRule());
5580 } 6313 }
5581 set( 6314 set(
5582 current, 6315 current,
5583 "quantifier", 6316 "value",
5584 lv_quantifier_0_0, 6317 lv_value_2_0,
5585 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); 6318 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5586 afterParserOrEnumRuleCall(); 6319 afterParserOrEnumRuleCall();
5587 6320
5588 6321
@@ -5591,74 +6324,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5591 6324
5592 } 6325 }
5593 6326
5594 // InternalSolverLanguageParser.g:2245:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )? 6327 otherlv_3=(Token)match(input,VerticalLine,FOLLOW_10);
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 6328
5609 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); 6329 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
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());
5639 6330
5640 // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) ) 6331 // InternalSolverLanguageParser.g:2540:3: ( (lv_condition_4_0= ruleExpression ) )
5641 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) 6332 // InternalSolverLanguageParser.g:2541:4: (lv_condition_4_0= ruleExpression )
5642 { 6333 {
5643 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) 6334 // InternalSolverLanguageParser.g:2541:4: (lv_condition_4_0= ruleExpression )
5644 // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression 6335 // InternalSolverLanguageParser.g:2542:5: lv_condition_4_0= ruleExpression
5645 { 6336 {
5646 6337
5647 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); 6338 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
5648 6339
5649 pushFollow(FOLLOW_16); 6340 pushFollow(FOLLOW_22);
5650 lv_body_3_0=ruleExpression(); 6341 lv_condition_4_0=ruleExpression();
5651 6342
5652 state._fsp--; 6343 state._fsp--;
5653 6344
5654 6345
5655 if (current==null) { 6346 if (current==null) {
5656 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); 6347 current = createModelElementForParent(grammarAccess.getAggregationRule());
5657 } 6348 }
5658 set( 6349 set(
5659 current, 6350 current,
5660 "body", 6351 "condition",
5661 lv_body_3_0, 6352 lv_condition_4_0,
5662 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 6353 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5663 afterParserOrEnumRuleCall(); 6354 afterParserOrEnumRuleCall();
5664 6355
@@ -5668,9 +6359,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5668 6359
5669 } 6360 }
5670 6361
5671 otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2); 6362 otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2);
5672 6363
5673 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); 6364 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
5674 6365
5675 6366
5676 } 6367 }
@@ -5691,28 +6382,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5691 } 6382 }
5692 return current; 6383 return current;
5693 } 6384 }
5694 // $ANTLR end "ruleQuantifiedExpression" 6385 // $ANTLR end "ruleAggregation"
5695 6386
5696 6387
5697 // $ANTLR start "entryRuleAggregation" 6388 // $ANTLR start "entryRuleCount"
5698 // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; 6389 // InternalSolverLanguageParser.g:2567:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ;
5699 public final EObject entryRuleAggregation() throws RecognitionException { 6390 public final EObject entryRuleCount() throws RecognitionException {
5700 EObject current = null; 6391 EObject current = null;
5701 6392
5702 EObject iv_ruleAggregation = null; 6393 EObject iv_ruleCount = null;
5703 6394
5704 6395
5705 try { 6396 try {
5706 // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF ) 6397 // InternalSolverLanguageParser.g:2567:46: (iv_ruleCount= ruleCount EOF )
5707 // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF 6398 // InternalSolverLanguageParser.g:2568:2: iv_ruleCount= ruleCount EOF
5708 { 6399 {
5709 newCompositeNode(grammarAccess.getAggregationRule()); 6400 newCompositeNode(grammarAccess.getCountRule());
5710 pushFollow(FOLLOW_1); 6401 pushFollow(FOLLOW_1);
5711 iv_ruleAggregation=ruleAggregation(); 6402 iv_ruleCount=ruleCount();
5712 6403
5713 state._fsp--; 6404 state._fsp--;
5714 6405
5715 current =iv_ruleAggregation; 6406 current =iv_ruleCount;
5716 match(input,EOF,FOLLOW_2); 6407 match(input,EOF,FOLLOW_2);
5717 6408
5718 } 6409 }
@@ -5727,130 +6418,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5727 } 6418 }
5728 return current; 6419 return current;
5729 } 6420 }
5730 // $ANTLR end "entryRuleAggregation" 6421 // $ANTLR end "entryRuleCount"
5731 6422
5732 6423
5733 // $ANTLR start "ruleAggregation" 6424 // $ANTLR start "ruleCount"
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 ) ; 6425 // InternalSolverLanguageParser.g:2574:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ;
5735 public final EObject ruleAggregation() throws RecognitionException { 6426 public final EObject ruleCount() throws RecognitionException {
5736 EObject current = null; 6427 EObject current = null;
5737 6428
5738 Token otherlv_2=null; 6429 Token otherlv_0=null;
5739 Token otherlv_4=null; 6430 Token otherlv_1=null;
5740 Token otherlv_6=null; 6431 Token otherlv_3=null;
5741 EObject lv_localVariables_1_0 = null; 6432 EObject lv_condition_2_0 = null;
5742
5743 EObject lv_body_3_0 = null;
5744
5745 EObject lv_condition_5_0 = null;
5746 6433
5747 6434
5748 6435
5749 enterRule(); 6436 enterRule();
5750 6437
5751 try { 6438 try {
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 ) ) 6439 // InternalSolverLanguageParser.g:2580:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= 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 ) 6440 // InternalSolverLanguageParser.g:2581:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket )
5754 { 6441 {
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 ) 6442 // InternalSolverLanguageParser.g:2581:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= 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 6443 // InternalSolverLanguageParser.g:2582:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket
5757 { 6444 {
5758 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) 6445 otherlv_0=(Token)match(input,Count,FOLLOW_20);
5759 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
5760 {
5761 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
5762 // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName
5763 {
5764
5765 if (current==null) {
5766 current = createModelElement(grammarAccess.getAggregationRule());
5767 }
5768
5769
5770 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
5771
5772 pushFollow(FOLLOW_36);
5773 ruleQualifiedName();
5774
5775 state._fsp--;
5776
5777
5778 afterParserOrEnumRuleCall();
5779
5780
5781 }
5782
5783
5784 }
5785
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 6446
5823 } 6447 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0());
5824 break; 6448
5825 6449 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_10);
5826 }
5827
5828 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
5829 6450
5830 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); 6451 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
5831 6452
5832 // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) ) 6453 // InternalSolverLanguageParser.g:2590:3: ( (lv_condition_2_0= ruleExpression ) )
5833 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) 6454 // InternalSolverLanguageParser.g:2591:4: (lv_condition_2_0= ruleExpression )
5834 { 6455 {
5835 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) 6456 // InternalSolverLanguageParser.g:2591:4: (lv_condition_2_0= ruleExpression )
5836 // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression 6457 // InternalSolverLanguageParser.g:2592:5: lv_condition_2_0= ruleExpression
5837 { 6458 {
5838 6459
5839 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); 6460 newCompositeNode(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0());
5840 6461
5841 pushFollow(FOLLOW_37); 6462 pushFollow(FOLLOW_22);
5842 lv_body_3_0=ruleExpression(); 6463 lv_condition_2_0=ruleExpression();
5843 6464
5844 state._fsp--; 6465 state._fsp--;
5845 6466
5846 6467
5847 if (current==null) { 6468 if (current==null) {
5848 current = createModelElementForParent(grammarAccess.getAggregationRule()); 6469 current = createModelElementForParent(grammarAccess.getCountRule());
5849 } 6470 }
5850 set( 6471 set(
5851 current, 6472 current,
5852 "body", 6473 "condition",
5853 lv_body_3_0, 6474 lv_condition_2_0,
5854 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 6475 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5855 afterParserOrEnumRuleCall(); 6476 afterParserOrEnumRuleCall();
5856 6477
@@ -5860,61 +6481,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5860 6481
5861 } 6482 }
5862 6483
5863 // InternalSolverLanguageParser.g:2368:3: (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? 6484 otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2);
5864 int alt28=2;
5865 int LA28_0 = input.LA(1);
5866
5867 if ( (LA28_0==VerticalLine) ) {
5868 alt28=1;
5869 }
5870 switch (alt28) {
5871 case 1 :
5872 // InternalSolverLanguageParser.g:2369:4: otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) )
5873 {
5874 otherlv_4=(Token)match(input,VerticalLine,FOLLOW_6);
5875
5876 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
5877
5878 // InternalSolverLanguageParser.g:2373:4: ( (lv_condition_5_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 {
5884
5885 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
5886
5887 pushFollow(FOLLOW_16);
5888 lv_condition_5_0=ruleExpression();
5889
5890 state._fsp--;
5891
5892
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 }
5908
5909
5910 }
5911 break;
5912
5913 }
5914
5915 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
5916 6485
5917 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 6486 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
5918 6487
5919 6488
5920 } 6489 }
@@ -5935,11 +6504,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5935 } 6504 }
5936 return current; 6505 return current;
5937 } 6506 }
5938 // $ANTLR end "ruleAggregation" 6507 // $ANTLR end "ruleCount"
5939 6508
5940 6509
5941 // $ANTLR start "entryRuleAtomicExpression" 6510 // $ANTLR start "entryRuleAtomicExpression"
5942 // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; 6511 // InternalSolverLanguageParser.g:2617:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ;
5943 public final EObject entryRuleAtomicExpression() throws RecognitionException { 6512 public final EObject entryRuleAtomicExpression() throws RecognitionException {
5944 EObject current = null; 6513 EObject current = null;
5945 6514
@@ -5947,8 +6516,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5947 6516
5948 6517
5949 try { 6518 try {
5950 // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) 6519 // InternalSolverLanguageParser.g:2617:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF )
5951 // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF 6520 // InternalSolverLanguageParser.g:2618:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF
5952 { 6521 {
5953 newCompositeNode(grammarAccess.getAtomicExpressionRule()); 6522 newCompositeNode(grammarAccess.getAtomicExpressionRule());
5954 pushFollow(FOLLOW_1); 6523 pushFollow(FOLLOW_1);
@@ -5975,7 +6544,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5975 6544
5976 6545
5977 // $ANTLR start "ruleAtomicExpression" 6546 // $ANTLR start "ruleAtomicExpression"
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 ) ) ; 6547 // InternalSolverLanguageParser.g:2624: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 ) ) ;
5979 public final EObject ruleAtomicExpression() throws RecognitionException { 6548 public final EObject ruleAtomicExpression() throws RecognitionException {
5980 EObject current = null; 6549 EObject current = null;
5981 6550
@@ -5996,15 +6565,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5996 enterRule(); 6565 enterRule();
5997 6566
5998 try { 6567 try {
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 ) ) ) 6568 // InternalSolverLanguageParser.g:2630: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 ) ) 6569 // InternalSolverLanguageParser.g:2631: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 ) )
6001 { 6570 {
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 ) ) 6571 // InternalSolverLanguageParser.g:2631: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 ) )
6003 int alt29=5; 6572 int alt31=5;
6004 alt29 = dfa29.predict(input); 6573 alt31 = dfa31.predict(input);
6005 switch (alt29) { 6574 switch (alt31) {
6006 case 1 : 6575 case 1 :
6007 // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference 6576 // InternalSolverLanguageParser.g:2632:3: this_Reference_0= ruleReference
6008 { 6577 {
6009 6578
6010 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); 6579 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0());
@@ -6022,7 +6591,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6022 } 6591 }
6023 break; 6592 break;
6024 case 2 : 6593 case 2 :
6025 // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall 6594 // InternalSolverLanguageParser.g:2641:3: this_Call_1= ruleCall
6026 { 6595 {
6027 6596
6028 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); 6597 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1());
@@ -6040,7 +6609,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6040 } 6609 }
6041 break; 6610 break;
6042 case 3 : 6611 case 3 :
6043 // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval 6612 // InternalSolverLanguageParser.g:2650:3: this_Interval_2= ruleInterval
6044 { 6613 {
6045 6614
6046 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); 6615 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2());
@@ -6058,7 +6627,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6058 } 6627 }
6059 break; 6628 break;
6060 case 4 : 6629 case 4 :
6061 // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral 6630 // InternalSolverLanguageParser.g:2659:3: this_Literal_3= ruleLiteral
6062 { 6631 {
6063 6632
6064 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); 6633 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3());
@@ -6076,19 +6645,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6076 } 6645 }
6077 break; 6646 break;
6078 case 5 : 6647 case 5 :
6079 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6648 // InternalSolverLanguageParser.g:2668:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
6080 { 6649 {
6081 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6650 // InternalSolverLanguageParser.g:2668:3: (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 6651 // InternalSolverLanguageParser.g:2669:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis
6083 { 6652 {
6084 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); 6653 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_10);
6085 6654
6086 newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); 6655 newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0());
6087 6656
6088 6657
6089 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); 6658 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1());
6090 6659
6091 pushFollow(FOLLOW_38); 6660 pushFollow(FOLLOW_41);
6092 this_Expression_5=ruleExpression(); 6661 this_Expression_5=ruleExpression();
6093 6662
6094 state._fsp--; 6663 state._fsp--;
@@ -6130,7 +6699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6130 6699
6131 6700
6132 // $ANTLR start "entryRuleCall" 6701 // $ANTLR start "entryRuleCall"
6133 // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; 6702 // InternalSolverLanguageParser.g:2690:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ;
6134 public final EObject entryRuleCall() throws RecognitionException { 6703 public final EObject entryRuleCall() throws RecognitionException {
6135 EObject current = null; 6704 EObject current = null;
6136 6705
@@ -6138,8 +6707,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6138 6707
6139 6708
6140 try { 6709 try {
6141 // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF ) 6710 // InternalSolverLanguageParser.g:2690:45: (iv_ruleCall= ruleCall EOF )
6142 // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF 6711 // InternalSolverLanguageParser.g:2691:2: iv_ruleCall= ruleCall EOF
6143 { 6712 {
6144 newCompositeNode(grammarAccess.getCallRule()); 6713 newCompositeNode(grammarAccess.getCallRule());
6145 pushFollow(FOLLOW_1); 6714 pushFollow(FOLLOW_1);
@@ -6166,37 +6735,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6166 6735
6167 6736
6168 // $ANTLR start "ruleCall" 6737 // $ANTLR start "ruleCall"
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 ) ) ) ; 6738 // InternalSolverLanguageParser.g:2697:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) ) ;
6170 public final EObject ruleCall() throws RecognitionException { 6739 public final EObject ruleCall() throws RecognitionException {
6171 EObject current = null; 6740 EObject current = null;
6172 6741
6173 Token lv_transitiveClosure_1_0=null;
6174 Token lv_reflexiveTransitiveClosure_2_0=null;
6175 EObject lv_functor_0_0 = null; 6742 EObject lv_functor_0_0 = null;
6176 6743
6177 EObject lv_argumentList_3_0 = null; 6744 EObject lv_argumentList_1_0 = null;
6178 6745
6179 6746
6180 6747
6181 enterRule(); 6748 enterRule();
6182 6749
6183 try { 6750 try {
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 ) ) ) ) 6751 // InternalSolverLanguageParser.g:2703:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_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 ) ) ) 6752 // InternalSolverLanguageParser.g:2704:2: ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) )
6186 { 6753 {
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 ) ) ) 6754 // InternalSolverLanguageParser.g:2704:2: ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_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 ) ) 6755 // InternalSolverLanguageParser.g:2705:3: ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) )
6189 { 6756 {
6190 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) 6757 // InternalSolverLanguageParser.g:2705:3: ( (lv_functor_0_0= ruleReference ) )
6191 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) 6758 // InternalSolverLanguageParser.g:2706:4: (lv_functor_0_0= ruleReference )
6192 { 6759 {
6193 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) 6760 // InternalSolverLanguageParser.g:2706:4: (lv_functor_0_0= ruleReference )
6194 // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference 6761 // InternalSolverLanguageParser.g:2707:5: lv_functor_0_0= ruleReference
6195 { 6762 {
6196 6763
6197 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); 6764 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
6198 6765
6199 pushFollow(FOLLOW_39); 6766 pushFollow(FOLLOW_15);
6200 lv_functor_0_0=ruleReference(); 6767 lv_functor_0_0=ruleReference();
6201 6768
6202 state._fsp--; 6769 state._fsp--;
@@ -6218,95 +6785,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6218 6785
6219 } 6786 }
6220 6787
6221 // InternalSolverLanguageParser.g:2508:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? 6788 // InternalSolverLanguageParser.g:2724:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
6222 int alt30=3; 6789 // InternalSolverLanguageParser.g:2725:4: (lv_argumentList_1_0= ruleArgumentList )
6223 int LA30_0 = input.LA(1);
6224
6225 if ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) {
6226 alt30=1;
6227 }
6228 else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) {
6229 alt30=2;
6230 }
6231 switch (alt30) {
6232 case 1 :
6233 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
6234 {
6235 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
6236 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
6237 {
6238 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
6239 // InternalSolverLanguageParser.g:2511:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE
6240 {
6241 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11);
6242
6243 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0());
6244
6245
6246 if (current==null) {
6247 current = createModelElement(grammarAccess.getCallRule());
6248 }
6249 setWithLastConsumed(
6250 current,
6251 "transitiveClosure",
6252 true,
6253 "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
6254
6255
6256 }
6257
6258
6259 }
6260
6261
6262 }
6263 break;
6264 case 2 :
6265 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
6266 {
6267 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
6268 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
6269 {
6270 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
6271 // InternalSolverLanguageParser.g:2530:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE
6272 {
6273 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11);
6274
6275 newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0());
6276
6277
6278 if (current==null) {
6279 current = createModelElement(grammarAccess.getCallRule());
6280 }
6281 setWithLastConsumed(
6282 current,
6283 "reflexiveTransitiveClosure",
6284 true,
6285 "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
6286
6287
6288 }
6289
6290
6291 }
6292
6293
6294 }
6295 break;
6296
6297 }
6298
6299 // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
6300 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
6301 { 6790 {
6302 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList ) 6791 // InternalSolverLanguageParser.g:2725:4: (lv_argumentList_1_0= ruleArgumentList )
6303 // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList 6792 // InternalSolverLanguageParser.g:2726:5: lv_argumentList_1_0= ruleArgumentList
6304 { 6793 {
6305 6794
6306 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 6795 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0());
6307 6796
6308 pushFollow(FOLLOW_2); 6797 pushFollow(FOLLOW_2);
6309 lv_argumentList_3_0=ruleArgumentList(); 6798 lv_argumentList_1_0=ruleArgumentList();
6310 6799
6311 state._fsp--; 6800 state._fsp--;
6312 6801
@@ -6317,7 +6806,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6317 set( 6806 set(
6318 current, 6807 current,
6319 "argumentList", 6808 "argumentList",
6320 lv_argumentList_3_0, 6809 lv_argumentList_1_0,
6321 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 6810 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
6322 afterParserOrEnumRuleCall(); 6811 afterParserOrEnumRuleCall();
6323 6812
@@ -6350,7 +6839,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6350 6839
6351 6840
6352 // $ANTLR start "entryRuleArgumentList" 6841 // $ANTLR start "entryRuleArgumentList"
6353 // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; 6842 // InternalSolverLanguageParser.g:2747:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ;
6354 public final EObject entryRuleArgumentList() throws RecognitionException { 6843 public final EObject entryRuleArgumentList() throws RecognitionException {
6355 EObject current = null; 6844 EObject current = null;
6356 6845
@@ -6358,8 +6847,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6358 6847
6359 6848
6360 try { 6849 try {
6361 // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF ) 6850 // InternalSolverLanguageParser.g:2747:53: (iv_ruleArgumentList= ruleArgumentList EOF )
6362 // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF 6851 // InternalSolverLanguageParser.g:2748:2: iv_ruleArgumentList= ruleArgumentList EOF
6363 { 6852 {
6364 newCompositeNode(grammarAccess.getArgumentListRule()); 6853 newCompositeNode(grammarAccess.getArgumentListRule());
6365 pushFollow(FOLLOW_1); 6854 pushFollow(FOLLOW_1);
@@ -6386,7 +6875,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6386 6875
6387 6876
6388 // $ANTLR start "ruleArgumentList" 6877 // $ANTLR start "ruleArgumentList"
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 ) ; 6878 // InternalSolverLanguageParser.g:2754: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 ) ;
6390 public final EObject ruleArgumentList() throws RecognitionException { 6879 public final EObject ruleArgumentList() throws RecognitionException {
6391 EObject current = null; 6880 EObject current = null;
6392 6881
@@ -6402,14 +6891,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6402 enterRule(); 6891 enterRule();
6403 6892
6404 try { 6893 try {
6405 // InternalSolverLanguageParser.g:2583:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) 6894 // InternalSolverLanguageParser.g:2760: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 ) 6895 // InternalSolverLanguageParser.g:2761:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
6407 { 6896 {
6408 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6897 // InternalSolverLanguageParser.g:2761:2: ( () 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 6898 // InternalSolverLanguageParser.g:2762:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis
6410 { 6899 {
6411 // InternalSolverLanguageParser.g:2585:3: () 6900 // InternalSolverLanguageParser.g:2762:3: ()
6412 // InternalSolverLanguageParser.g:2586:4: 6901 // InternalSolverLanguageParser.g:2763:4:
6413 { 6902 {
6414 6903
6415 current = forceCreateModelElement( 6904 current = forceCreateModelElement(
@@ -6419,31 +6908,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6419 6908
6420 } 6909 }
6421 6910
6422 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40); 6911 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_42);
6423 6912
6424 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); 6913 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
6425 6914
6426 // InternalSolverLanguageParser.g:2596:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? 6915 // InternalSolverLanguageParser.g:2773:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )?
6427 int alt32=2; 6916 int alt33=2;
6428 int LA32_0 = input.LA(1); 6917 int LA33_0 = input.LA(1);
6429 6918
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)) ) { 6919 if ( (LA33_0==Unknown||LA33_0==Object||(LA33_0>=Count && LA33_0<=False)||LA33_0==True||LA33_0==Inf||(LA33_0>=ExclamationMark && LA33_0<=LeftParenthesis)||(LA33_0>=Asterisk && LA33_0<=PlusSign)||LA33_0==HyphenMinus||(LA33_0>=QuestionMark && LA33_0<=LeftSquareBracket)||(LA33_0>=Tilde && LA33_0<=RULE_QUOTED_ID)||(LA33_0>=RULE_ID && LA33_0<=RULE_INT)) ) {
6431 alt32=1; 6920 alt33=1;
6432 } 6921 }
6433 switch (alt32) { 6922 switch (alt33) {
6434 case 1 : 6923 case 1 :
6435 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6924 // InternalSolverLanguageParser.g:2774:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
6436 { 6925 {
6437 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) 6926 // InternalSolverLanguageParser.g:2774:4: ( (lv_arguments_2_0= ruleArgument ) )
6438 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) 6927 // InternalSolverLanguageParser.g:2775:5: (lv_arguments_2_0= ruleArgument )
6439 { 6928 {
6440 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) 6929 // InternalSolverLanguageParser.g:2775:5: (lv_arguments_2_0= ruleArgument )
6441 // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument 6930 // InternalSolverLanguageParser.g:2776:6: lv_arguments_2_0= ruleArgument
6442 { 6931 {
6443 6932
6444 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); 6933 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
6445 6934
6446 pushFollow(FOLLOW_41); 6935 pushFollow(FOLLOW_43);
6447 lv_arguments_2_0=ruleArgument(); 6936 lv_arguments_2_0=ruleArgument();
6448 6937
6449 state._fsp--; 6938 state._fsp--;
@@ -6465,35 +6954,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6465 6954
6466 } 6955 }
6467 6956
6468 // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6957 // InternalSolverLanguageParser.g:2793:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
6469 loop31: 6958 loop32:
6470 do { 6959 do {
6471 int alt31=2; 6960 int alt32=2;
6472 int LA31_0 = input.LA(1); 6961 int LA32_0 = input.LA(1);
6473 6962
6474 if ( (LA31_0==Comma) ) { 6963 if ( (LA32_0==Comma) ) {
6475 alt31=1; 6964 alt32=1;
6476 } 6965 }
6477 6966
6478 6967
6479 switch (alt31) { 6968 switch (alt32) {
6480 case 1 : 6969 case 1 :
6481 // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) 6970 // InternalSolverLanguageParser.g:2794:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) )
6482 { 6971 {
6483 otherlv_3=(Token)match(input,Comma,FOLLOW_42); 6972 otherlv_3=(Token)match(input,Comma,FOLLOW_44);
6484 6973
6485 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); 6974 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
6486 6975
6487 // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) ) 6976 // InternalSolverLanguageParser.g:2798:5: ( (lv_arguments_4_0= ruleArgument ) )
6488 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) 6977 // InternalSolverLanguageParser.g:2799:6: (lv_arguments_4_0= ruleArgument )
6489 { 6978 {
6490 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) 6979 // InternalSolverLanguageParser.g:2799:6: (lv_arguments_4_0= ruleArgument )
6491 // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument 6980 // InternalSolverLanguageParser.g:2800:7: lv_arguments_4_0= ruleArgument
6492 { 6981 {
6493 6982
6494 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); 6983 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
6495 6984
6496 pushFollow(FOLLOW_41); 6985 pushFollow(FOLLOW_43);
6497 lv_arguments_4_0=ruleArgument(); 6986 lv_arguments_4_0=ruleArgument();
6498 6987
6499 state._fsp--; 6988 state._fsp--;
@@ -6520,7 +7009,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6520 break; 7009 break;
6521 7010
6522 default : 7011 default :
6523 break loop31; 7012 break loop32;
6524 } 7013 }
6525 } while (true); 7014 } while (true);
6526 7015
@@ -6557,7 +7046,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6557 7046
6558 7047
6559 // $ANTLR start "entryRuleArgument" 7048 // $ANTLR start "entryRuleArgument"
6560 // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 7049 // InternalSolverLanguageParser.g:2827:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
6561 public final EObject entryRuleArgument() throws RecognitionException { 7050 public final EObject entryRuleArgument() throws RecognitionException {
6562 EObject current = null; 7051 EObject current = null;
6563 7052
@@ -6565,8 +7054,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6565 7054
6566 7055
6567 try { 7056 try {
6568 // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF ) 7057 // InternalSolverLanguageParser.g:2827:49: (iv_ruleArgument= ruleArgument EOF )
6569 // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF 7058 // InternalSolverLanguageParser.g:2828:2: iv_ruleArgument= ruleArgument EOF
6570 { 7059 {
6571 newCompositeNode(grammarAccess.getArgumentRule()); 7060 newCompositeNode(grammarAccess.getArgumentRule());
6572 pushFollow(FOLLOW_1); 7061 pushFollow(FOLLOW_1);
@@ -6593,7 +7082,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6593 7082
6594 7083
6595 // $ANTLR start "ruleArgument" 7084 // $ANTLR start "ruleArgument"
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 ) ; 7085 // InternalSolverLanguageParser.g:2834:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ;
6597 public final EObject ruleArgument() throws RecognitionException { 7086 public final EObject ruleArgument() throws RecognitionException {
6598 EObject current = null; 7087 EObject current = null;
6599 7088
@@ -6601,7 +7090,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6601 7090
6602 EObject this_StarArgument_1 = null; 7091 EObject this_StarArgument_1 = null;
6603 7092
6604 EObject this_TypedArgument_2 = null; 7093 EObject this_TypedVariableArgument_2 = null;
6605 7094
6606 EObject this_TypedStarArgument_3 = null; 7095 EObject this_TypedStarArgument_3 = null;
6607 7096
@@ -6610,15 +7099,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6610 enterRule(); 7099 enterRule();
6611 7100
6612 try { 7101 try {
6613 // InternalSolverLanguageParser.g:2663:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) 7102 // InternalSolverLanguageParser.g:2840:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | 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 ) 7103 // InternalSolverLanguageParser.g:2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
6615 { 7104 {
6616 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 7105 // InternalSolverLanguageParser.g:2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
6617 int alt33=4; 7106 int alt34=4;
6618 alt33 = dfa33.predict(input); 7107 alt34 = dfa34.predict(input);
6619 switch (alt33) { 7108 switch (alt34) {
6620 case 1 : 7109 case 1 :
6621 // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument 7110 // InternalSolverLanguageParser.g:2842:3: this_ExpressionArgument_0= ruleExpressionArgument
6622 { 7111 {
6623 7112
6624 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); 7113 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
@@ -6636,7 +7125,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6636 } 7125 }
6637 break; 7126 break;
6638 case 2 : 7127 case 2 :
6639 // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument 7128 // InternalSolverLanguageParser.g:2851:3: this_StarArgument_1= ruleStarArgument
6640 { 7129 {
6641 7130
6642 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); 7131 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
@@ -6654,25 +7143,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6654 } 7143 }
6655 break; 7144 break;
6656 case 3 : 7145 case 3 :
6657 // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument 7146 // InternalSolverLanguageParser.g:2860:3: this_TypedVariableArgument_2= ruleTypedVariableArgument
6658 { 7147 {
6659 7148
6660 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 7149 newCompositeNode(grammarAccess.getArgumentAccess().getTypedVariableArgumentParserRuleCall_2());
6661 7150
6662 pushFollow(FOLLOW_2); 7151 pushFollow(FOLLOW_2);
6663 this_TypedArgument_2=ruleTypedArgument(); 7152 this_TypedVariableArgument_2=ruleTypedVariableArgument();
6664 7153
6665 state._fsp--; 7154 state._fsp--;
6666 7155
6667 7156
6668 current = this_TypedArgument_2; 7157 current = this_TypedVariableArgument_2;
6669 afterParserOrEnumRuleCall(); 7158 afterParserOrEnumRuleCall();
6670 7159
6671 7160
6672 } 7161 }
6673 break; 7162 break;
6674 case 4 : 7163 case 4 :
6675 // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument 7164 // InternalSolverLanguageParser.g:2869:3: this_TypedStarArgument_3= ruleTypedStarArgument
6676 { 7165 {
6677 7166
6678 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); 7167 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
@@ -6712,7 +7201,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6712 7201
6713 7202
6714 // $ANTLR start "entryRuleExpressionArgument" 7203 // $ANTLR start "entryRuleExpressionArgument"
6715 // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; 7204 // InternalSolverLanguageParser.g:2881:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ;
6716 public final EObject entryRuleExpressionArgument() throws RecognitionException { 7205 public final EObject entryRuleExpressionArgument() throws RecognitionException {
6717 EObject current = null; 7206 EObject current = null;
6718 7207
@@ -6720,8 +7209,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6720 7209
6721 7210
6722 try { 7211 try {
6723 // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) 7212 // InternalSolverLanguageParser.g:2881:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF )
6724 // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF 7213 // InternalSolverLanguageParser.g:2882:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF
6725 { 7214 {
6726 newCompositeNode(grammarAccess.getExpressionArgumentRule()); 7215 newCompositeNode(grammarAccess.getExpressionArgumentRule());
6727 pushFollow(FOLLOW_1); 7216 pushFollow(FOLLOW_1);
@@ -6748,31 +7237,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6748 7237
6749 7238
6750 // $ANTLR start "ruleExpressionArgument" 7239 // $ANTLR start "ruleExpressionArgument"
6751 // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; 7240 // InternalSolverLanguageParser.g:2888:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_expression_0_0= ruleComparisonExpression ) ) ;
6752 public final EObject ruleExpressionArgument() throws RecognitionException { 7241 public final EObject ruleExpressionArgument() throws RecognitionException {
6753 EObject current = null; 7242 EObject current = null;
6754 7243
6755 EObject lv_body_0_0 = null; 7244 EObject lv_expression_0_0 = null;
6756 7245
6757 7246
6758 7247
6759 enterRule(); 7248 enterRule();
6760 7249
6761 try { 7250 try {
6762 // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) 7251 // InternalSolverLanguageParser.g:2894:2: ( ( (lv_expression_0_0= ruleComparisonExpression ) ) )
6763 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 7252 // InternalSolverLanguageParser.g:2895:2: ( (lv_expression_0_0= ruleComparisonExpression ) )
6764 { 7253 {
6765 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 7254 // InternalSolverLanguageParser.g:2895:2: ( (lv_expression_0_0= ruleComparisonExpression ) )
6766 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) 7255 // InternalSolverLanguageParser.g:2896:3: (lv_expression_0_0= ruleComparisonExpression )
6767 { 7256 {
6768 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) 7257 // InternalSolverLanguageParser.g:2896:3: (lv_expression_0_0= ruleComparisonExpression )
6769 // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression 7258 // InternalSolverLanguageParser.g:2897:4: lv_expression_0_0= ruleComparisonExpression
6770 { 7259 {
6771 7260
6772 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 7261 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0());
6773 7262
6774 pushFollow(FOLLOW_2); 7263 pushFollow(FOLLOW_2);
6775 lv_body_0_0=ruleComparisonExpression(); 7264 lv_expression_0_0=ruleComparisonExpression();
6776 7265
6777 state._fsp--; 7266 state._fsp--;
6778 7267
@@ -6782,8 +7271,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6782 } 7271 }
6783 set( 7272 set(
6784 current, 7273 current,
6785 "body", 7274 "expression",
6786 lv_body_0_0, 7275 lv_expression_0_0,
6787 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); 7276 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
6788 afterParserOrEnumRuleCall(); 7277 afterParserOrEnumRuleCall();
6789 7278
@@ -6813,7 +7302,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6813 7302
6814 7303
6815 // $ANTLR start "entryRuleStarArgument" 7304 // $ANTLR start "entryRuleStarArgument"
6816 // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; 7305 // InternalSolverLanguageParser.g:2917:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ;
6817 public final EObject entryRuleStarArgument() throws RecognitionException { 7306 public final EObject entryRuleStarArgument() throws RecognitionException {
6818 EObject current = null; 7307 EObject current = null;
6819 7308
@@ -6821,8 +7310,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6821 7310
6822 7311
6823 try { 7312 try {
6824 // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF ) 7313 // InternalSolverLanguageParser.g:2917:53: (iv_ruleStarArgument= ruleStarArgument EOF )
6825 // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF 7314 // InternalSolverLanguageParser.g:2918:2: iv_ruleStarArgument= ruleStarArgument EOF
6826 { 7315 {
6827 newCompositeNode(grammarAccess.getStarArgumentRule()); 7316 newCompositeNode(grammarAccess.getStarArgumentRule());
6828 pushFollow(FOLLOW_1); 7317 pushFollow(FOLLOW_1);
@@ -6849,7 +7338,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6849 7338
6850 7339
6851 // $ANTLR start "ruleStarArgument" 7340 // $ANTLR start "ruleStarArgument"
6852 // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; 7341 // InternalSolverLanguageParser.g:2924:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ;
6853 public final EObject ruleStarArgument() throws RecognitionException { 7342 public final EObject ruleStarArgument() throws RecognitionException {
6854 EObject current = null; 7343 EObject current = null;
6855 7344
@@ -6859,14 +7348,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6859 enterRule(); 7348 enterRule();
6860 7349
6861 try { 7350 try {
6862 // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) ) 7351 // InternalSolverLanguageParser.g:2930:2: ( ( () otherlv_1= Asterisk ) )
6863 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) 7352 // InternalSolverLanguageParser.g:2931:2: ( () otherlv_1= Asterisk )
6864 { 7353 {
6865 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) 7354 // InternalSolverLanguageParser.g:2931:2: ( () otherlv_1= Asterisk )
6866 // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk 7355 // InternalSolverLanguageParser.g:2932:3: () otherlv_1= Asterisk
6867 { 7356 {
6868 // InternalSolverLanguageParser.g:2755:3: () 7357 // InternalSolverLanguageParser.g:2932:3: ()
6869 // InternalSolverLanguageParser.g:2756:4: 7358 // InternalSolverLanguageParser.g:2933:4:
6870 { 7359 {
6871 7360
6872 current = forceCreateModelElement( 7361 current = forceCreateModelElement(
@@ -6902,25 +7391,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6902 // $ANTLR end "ruleStarArgument" 7391 // $ANTLR end "ruleStarArgument"
6903 7392
6904 7393
6905 // $ANTLR start "entryRuleTypedArgument" 7394 // $ANTLR start "entryRuleTypedVariableArgument"
6906 // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; 7395 // InternalSolverLanguageParser.g:2947:1: entryRuleTypedVariableArgument returns [EObject current=null] : iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF ;
6907 public final EObject entryRuleTypedArgument() throws RecognitionException { 7396 public final EObject entryRuleTypedVariableArgument() throws RecognitionException {
6908 EObject current = null; 7397 EObject current = null;
6909 7398
6910 EObject iv_ruleTypedArgument = null; 7399 EObject iv_ruleTypedVariableArgument = null;
6911 7400
6912 7401
6913 try { 7402 try {
6914 // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) 7403 // InternalSolverLanguageParser.g:2947:62: (iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF )
6915 // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF 7404 // InternalSolverLanguageParser.g:2948:2: iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF
6916 { 7405 {
6917 newCompositeNode(grammarAccess.getTypedArgumentRule()); 7406 newCompositeNode(grammarAccess.getTypedVariableArgumentRule());
6918 pushFollow(FOLLOW_1); 7407 pushFollow(FOLLOW_1);
6919 iv_ruleTypedArgument=ruleTypedArgument(); 7408 iv_ruleTypedVariableArgument=ruleTypedVariableArgument();
6920 7409
6921 state._fsp--; 7410 state._fsp--;
6922 7411
6923 current =iv_ruleTypedArgument; 7412 current =iv_ruleTypedVariableArgument;
6924 match(input,EOF,FOLLOW_2); 7413 match(input,EOF,FOLLOW_2);
6925 7414
6926 } 7415 }
@@ -6935,44 +7424,51 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6935 } 7424 }
6936 return current; 7425 return current;
6937 } 7426 }
6938 // $ANTLR end "entryRuleTypedArgument" 7427 // $ANTLR end "entryRuleTypedVariableArgument"
6939 7428
6940 7429
6941 // $ANTLR start "ruleTypedArgument" 7430 // $ANTLR start "ruleTypedVariableArgument"
6942 // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; 7431 // InternalSolverLanguageParser.g:2954:1: ruleTypedVariableArgument returns [EObject current=null] : ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) ;
6943 public final EObject ruleTypedArgument() throws RecognitionException { 7432 public final EObject ruleTypedVariableArgument() throws RecognitionException {
6944 EObject current = null; 7433 EObject current = null;
6945 7434
7435 Token lv_name_1_0=null;
7436 EObject lv_typeReference_0_0 = null;
7437
7438
6946 7439
6947 enterRule(); 7440 enterRule();
6948 7441
6949 try { 7442 try {
6950 // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) 7443 // InternalSolverLanguageParser.g:2960:2: ( ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) )
6951 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 7444 // InternalSolverLanguageParser.g:2961:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) )
6952 { 7445 {
6953 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 7446 // InternalSolverLanguageParser.g:2961:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) )
6954 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) 7447 // InternalSolverLanguageParser.g:2962:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) )
6955 { 7448 {
6956 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) 7449 // InternalSolverLanguageParser.g:2962:3: ( (lv_typeReference_0_0= ruleTypeReference ) )
6957 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) 7450 // InternalSolverLanguageParser.g:2963:4: (lv_typeReference_0_0= ruleTypeReference )
6958 { 7451 {
6959 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) 7452 // InternalSolverLanguageParser.g:2963:4: (lv_typeReference_0_0= ruleTypeReference )
6960 // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName 7453 // InternalSolverLanguageParser.g:2964:5: lv_typeReference_0_0= ruleTypeReference
6961 { 7454 {
6962 7455
6963 if (current==null) { 7456 newCompositeNode(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0());
6964 current = createModelElement(grammarAccess.getTypedArgumentRule());
6965 }
6966
6967
6968 newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
6969 7457
6970 pushFollow(FOLLOW_8); 7458 pushFollow(FOLLOW_28);
6971 ruleQualifiedName(); 7459 lv_typeReference_0_0=ruleTypeReference();
6972 7460
6973 state._fsp--; 7461 state._fsp--;
6974 7462
6975 7463
7464 if (current==null) {
7465 current = createModelElementForParent(grammarAccess.getTypedVariableArgumentRule());
7466 }
7467 set(
7468 current,
7469 "typeReference",
7470 lv_typeReference_0_0,
7471 "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
6976 afterParserOrEnumRuleCall(); 7472 afterParserOrEnumRuleCall();
6977 7473
6978 7474
@@ -6981,27 +7477,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6981 7477
6982 } 7478 }
6983 7479
6984 // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) ) 7480 // InternalSolverLanguageParser.g:2981:3: ( (lv_name_1_0= RULE_ID ) )
6985 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) 7481 // InternalSolverLanguageParser.g:2982:4: (lv_name_1_0= RULE_ID )
6986 { 7482 {
6987 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) 7483 // InternalSolverLanguageParser.g:2982:4: (lv_name_1_0= RULE_ID )
6988 // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName 7484 // InternalSolverLanguageParser.g:2983:5: lv_name_1_0= RULE_ID
6989 { 7485 {
7486 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
6990 7487
6991 if (current==null) { 7488 newLeafNode(lv_name_1_0, grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0());
6992 current = createModelElement(grammarAccess.getTypedArgumentRule());
6993 }
6994
6995
6996 newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
6997 7489
6998 pushFollow(FOLLOW_2);
6999 ruleQualifiedName();
7000 7490
7001 state._fsp--; 7491 if (current==null) {
7002 7492 current = createModelElement(grammarAccess.getTypedVariableArgumentRule());
7003 7493 }
7004 afterParserOrEnumRuleCall(); 7494 setWithLastConsumed(
7495 current,
7496 "name",
7497 lv_name_1_0,
7498 "org.eclipse.xtext.common.Terminals.ID");
7005 7499
7006 7500
7007 } 7501 }
@@ -7028,11 +7522,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7028 } 7522 }
7029 return current; 7523 return current;
7030 } 7524 }
7031 // $ANTLR end "ruleTypedArgument" 7525 // $ANTLR end "ruleTypedVariableArgument"
7032 7526
7033 7527
7034 // $ANTLR start "entryRuleTypedStarArgument" 7528 // $ANTLR start "entryRuleTypedStarArgument"
7035 // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; 7529 // InternalSolverLanguageParser.g:3003:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ;
7036 public final EObject entryRuleTypedStarArgument() throws RecognitionException { 7530 public final EObject entryRuleTypedStarArgument() throws RecognitionException {
7037 EObject current = null; 7531 EObject current = null;
7038 7532
@@ -7040,8 +7534,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7040 7534
7041 7535
7042 try { 7536 try {
7043 // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) 7537 // InternalSolverLanguageParser.g:3003:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF )
7044 // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF 7538 // InternalSolverLanguageParser.g:3004:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF
7045 { 7539 {
7046 newCompositeNode(grammarAccess.getTypedStarArgumentRule()); 7540 newCompositeNode(grammarAccess.getTypedStarArgumentRule());
7047 pushFollow(FOLLOW_1); 7541 pushFollow(FOLLOW_1);
@@ -7068,42 +7562,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7068 7562
7069 7563
7070 // $ANTLR start "ruleTypedStarArgument" 7564 // $ANTLR start "ruleTypedStarArgument"
7071 // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; 7565 // InternalSolverLanguageParser.g:3010:1: ruleTypedStarArgument returns [EObject current=null] : ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) ;
7072 public final EObject ruleTypedStarArgument() throws RecognitionException { 7566 public final EObject ruleTypedStarArgument() throws RecognitionException {
7073 EObject current = null; 7567 EObject current = null;
7074 7568
7075 Token otherlv_1=null; 7569 Token otherlv_1=null;
7570 EObject lv_typeReference_0_0 = null;
7571
7076 7572
7077 7573
7078 enterRule(); 7574 enterRule();
7079 7575
7080 try { 7576 try {
7081 // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) 7577 // InternalSolverLanguageParser.g:3016:2: ( ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) )
7082 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7578 // InternalSolverLanguageParser.g:3017:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk )
7083 { 7579 {
7084 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7580 // InternalSolverLanguageParser.g:3017:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk )
7085 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk 7581 // InternalSolverLanguageParser.g:3018:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk
7086 { 7582 {
7087 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) 7583 // InternalSolverLanguageParser.g:3018:3: ( (lv_typeReference_0_0= ruleTypeReference ) )
7088 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) 7584 // InternalSolverLanguageParser.g:3019:4: (lv_typeReference_0_0= ruleTypeReference )
7089 { 7585 {
7090 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) 7586 // InternalSolverLanguageParser.g:3019:4: (lv_typeReference_0_0= ruleTypeReference )
7091 // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName 7587 // InternalSolverLanguageParser.g:3020:5: lv_typeReference_0_0= ruleTypeReference
7092 { 7588 {
7093 7589
7094 if (current==null) { 7590 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0());
7095 current = createModelElement(grammarAccess.getTypedStarArgumentRule());
7096 }
7097
7098
7099 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
7100 7591
7101 pushFollow(FOLLOW_43); 7592 pushFollow(FOLLOW_45);
7102 ruleQualifiedName(); 7593 lv_typeReference_0_0=ruleTypeReference();
7103 7594
7104 state._fsp--; 7595 state._fsp--;
7105 7596
7106 7597
7598 if (current==null) {
7599 current = createModelElementForParent(grammarAccess.getTypedStarArgumentRule());
7600 }
7601 set(
7602 current,
7603 "typeReference",
7604 lv_typeReference_0_0,
7605 "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
7107 afterParserOrEnumRuleCall(); 7606 afterParserOrEnumRuleCall();
7108 7607
7109 7608
@@ -7139,7 +7638,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7139 7638
7140 7639
7141 // $ANTLR start "entryRuleReference" 7640 // $ANTLR start "entryRuleReference"
7142 // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; 7641 // InternalSolverLanguageParser.g:3045:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ;
7143 public final EObject entryRuleReference() throws RecognitionException { 7642 public final EObject entryRuleReference() throws RecognitionException {
7144 EObject current = null; 7643 EObject current = null;
7145 7644
@@ -7147,8 +7646,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7147 7646
7148 7647
7149 try { 7648 try {
7150 // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF ) 7649 // InternalSolverLanguageParser.g:3045:50: (iv_ruleReference= ruleReference EOF )
7151 // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF 7650 // InternalSolverLanguageParser.g:3046:2: iv_ruleReference= ruleReference EOF
7152 { 7651 {
7153 newCompositeNode(grammarAccess.getReferenceRule()); 7652 newCompositeNode(grammarAccess.getReferenceRule());
7154 pushFollow(FOLLOW_1); 7653 pushFollow(FOLLOW_1);
@@ -7175,39 +7674,329 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7175 7674
7176 7675
7177 // $ANTLR start "ruleReference" 7676 // $ANTLR start "ruleReference"
7178 // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; 7677 // InternalSolverLanguageParser.g:3052:1: ruleReference returns [EObject current=null] : ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) ;
7179 public final EObject ruleReference() throws RecognitionException { 7678 public final EObject ruleReference() throws RecognitionException {
7180 EObject current = null; 7679 EObject current = null;
7181 7680
7681 Token otherlv_1=null;
7682 EObject lv_components_0_0 = null;
7683
7684 EObject lv_components_2_0 = null;
7685
7686
7182 7687
7183 enterRule(); 7688 enterRule();
7184 7689
7185 try { 7690 try {
7186 // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) ) 7691 // InternalSolverLanguageParser.g:3058:2: ( ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) )
7187 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) 7692 // InternalSolverLanguageParser.g:3059:2: ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* )
7188 { 7693 {
7189 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) 7694 // InternalSolverLanguageParser.g:3059:2: ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* )
7190 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) 7695 // InternalSolverLanguageParser.g:3060:3: ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )*
7191 { 7696 {
7192 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) 7697 // InternalSolverLanguageParser.g:3060:3: ( (lv_components_0_0= rulePathComponent ) )
7193 // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName 7698 // InternalSolverLanguageParser.g:3061:4: (lv_components_0_0= rulePathComponent )
7699 {
7700 // InternalSolverLanguageParser.g:3061:4: (lv_components_0_0= rulePathComponent )
7701 // InternalSolverLanguageParser.g:3062:5: lv_components_0_0= rulePathComponent
7194 { 7702 {
7195 7703
7196 if (current==null) { 7704 newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_0_0());
7197 current = createModelElement(grammarAccess.getReferenceRule()); 7705
7198 } 7706 pushFollow(FOLLOW_46);
7199 7707 lv_components_0_0=rulePathComponent();
7200 7708
7201 newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); 7709 state._fsp--;
7202 7710
7203 pushFollow(FOLLOW_2); 7711
7712 if (current==null) {
7713 current = createModelElementForParent(grammarAccess.getReferenceRule());
7714 }
7715 add(
7716 current,
7717 "components",
7718 lv_components_0_0,
7719 "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
7720 afterParserOrEnumRuleCall();
7721
7722
7723 }
7724
7725
7726 }
7727
7728 // InternalSolverLanguageParser.g:3079:3: (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )*
7729 loop35:
7730 do {
7731 int alt35=2;
7732 int LA35_0 = input.LA(1);
7733
7734 if ( (LA35_0==FullStop) ) {
7735 alt35=1;
7736 }
7737
7738
7739 switch (alt35) {
7740 case 1 :
7741 // InternalSolverLanguageParser.g:3080:4: otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) )
7742 {
7743 otherlv_1=(Token)match(input,FullStop,FOLLOW_12);
7744
7745 newLeafNode(otherlv_1, grammarAccess.getReferenceAccess().getFullStopKeyword_1_0());
7746
7747 // InternalSolverLanguageParser.g:3084:4: ( (lv_components_2_0= rulePathComponent ) )
7748 // InternalSolverLanguageParser.g:3085:5: (lv_components_2_0= rulePathComponent )
7749 {
7750 // InternalSolverLanguageParser.g:3085:5: (lv_components_2_0= rulePathComponent )
7751 // InternalSolverLanguageParser.g:3086:6: lv_components_2_0= rulePathComponent
7752 {
7753
7754 newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_1_1_0());
7755
7756 pushFollow(FOLLOW_46);
7757 lv_components_2_0=rulePathComponent();
7758
7759 state._fsp--;
7760
7761
7762 if (current==null) {
7763 current = createModelElementForParent(grammarAccess.getReferenceRule());
7764 }
7765 add(
7766 current,
7767 "components",
7768 lv_components_2_0,
7769 "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
7770 afterParserOrEnumRuleCall();
7771
7772
7773 }
7774
7775
7776 }
7777
7778
7779 }
7780 break;
7781
7782 default :
7783 break loop35;
7784 }
7785 } while (true);
7786
7787
7788 }
7789
7790
7791 }
7792
7793
7794 leaveRule();
7795
7796 }
7797
7798 catch (RecognitionException re) {
7799 recover(input,re);
7800 appendSkippedTokens();
7801 }
7802 finally {
7803 }
7804 return current;
7805 }
7806 // $ANTLR end "ruleReference"
7807
7808
7809 // $ANTLR start "entryRulePathComponent"
7810 // InternalSolverLanguageParser.g:3108:1: entryRulePathComponent returns [EObject current=null] : iv_rulePathComponent= rulePathComponent EOF ;
7811 public final EObject entryRulePathComponent() throws RecognitionException {
7812 EObject current = null;
7813
7814 EObject iv_rulePathComponent = null;
7815
7816
7817 try {
7818 // InternalSolverLanguageParser.g:3108:54: (iv_rulePathComponent= rulePathComponent EOF )
7819 // InternalSolverLanguageParser.g:3109:2: iv_rulePathComponent= rulePathComponent EOF
7820 {
7821 newCompositeNode(grammarAccess.getPathComponentRule());
7822 pushFollow(FOLLOW_1);
7823 iv_rulePathComponent=rulePathComponent();
7824
7825 state._fsp--;
7826
7827 current =iv_rulePathComponent;
7828 match(input,EOF,FOLLOW_2);
7829
7830 }
7831
7832 }
7833
7834 catch (RecognitionException re) {
7835 recover(input,re);
7836 appendSkippedTokens();
7837 }
7838 finally {
7839 }
7840 return current;
7841 }
7842 // $ANTLR end "entryRulePathComponent"
7843
7844
7845 // $ANTLR start "rulePathComponent"
7846 // InternalSolverLanguageParser.g:3115:1: rulePathComponent returns [EObject current=null] : ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) ;
7847 public final EObject rulePathComponent() throws RecognitionException {
7848 EObject current = null;
7849
7850 Token lv_inverse_0_0=null;
7851 Token lv_transitiveClosure_2_0=null;
7852 Token lv_reflexiveTransitiveClosure_3_0=null;
7853
7854
7855 enterRule();
7856
7857 try {
7858 // InternalSolverLanguageParser.g:3121:2: ( ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) )
7859 // InternalSolverLanguageParser.g:3122:2: ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? )
7860 {
7861 // InternalSolverLanguageParser.g:3122:2: ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? )
7862 // InternalSolverLanguageParser.g:3123:3: ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )?
7863 {
7864 // InternalSolverLanguageParser.g:3123:3: ( (lv_inverse_0_0= Tilde ) )?
7865 int alt36=2;
7866 int LA36_0 = input.LA(1);
7867
7868 if ( (LA36_0==Tilde) ) {
7869 alt36=1;
7870 }
7871 switch (alt36) {
7872 case 1 :
7873 // InternalSolverLanguageParser.g:3124:4: (lv_inverse_0_0= Tilde )
7874 {
7875 // InternalSolverLanguageParser.g:3124:4: (lv_inverse_0_0= Tilde )
7876 // InternalSolverLanguageParser.g:3125:5: lv_inverse_0_0= Tilde
7877 {
7878 lv_inverse_0_0=(Token)match(input,Tilde,FOLLOW_3);
7879
7880 newLeafNode(lv_inverse_0_0, grammarAccess.getPathComponentAccess().getInverseTildeKeyword_0_0());
7881
7882
7883 if (current==null) {
7884 current = createModelElement(grammarAccess.getPathComponentRule());
7885 }
7886 setWithLastConsumed(current, "inverse", true, "~");
7887
7888
7889 }
7890
7891
7892 }
7893 break;
7894
7895 }
7896
7897 // InternalSolverLanguageParser.g:3137:3: ( ( ruleQualifiedName ) )
7898 // InternalSolverLanguageParser.g:3138:4: ( ruleQualifiedName )
7899 {
7900 // InternalSolverLanguageParser.g:3138:4: ( ruleQualifiedName )
7901 // InternalSolverLanguageParser.g:3139:5: ruleQualifiedName
7902 {
7903
7904 if (current==null) {
7905 current = createModelElement(grammarAccess.getPathComponentRule());
7906 }
7907
7908
7909 newCompositeNode(grammarAccess.getPathComponentAccess().getSymbolSymbolCrossReference_1_0());
7910
7911 pushFollow(FOLLOW_47);
7204 ruleQualifiedName(); 7912 ruleQualifiedName();
7205 7913
7206 state._fsp--; 7914 state._fsp--;
7207 7915
7208 7916
7209 afterParserOrEnumRuleCall(); 7917 afterParserOrEnumRuleCall();
7210 7918
7919
7920 }
7921
7922
7923 }
7924
7925 // InternalSolverLanguageParser.g:3153:3: ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )?
7926 int alt37=3;
7927 int LA37_0 = input.LA(1);
7928
7929 if ( (LA37_0==RULE_TRANSITIVE_CLOSURE) ) {
7930 alt37=1;
7931 }
7932 else if ( (LA37_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) {
7933 alt37=2;
7934 }
7935 switch (alt37) {
7936 case 1 :
7937 // InternalSolverLanguageParser.g:3154:4: ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) )
7938 {
7939 // InternalSolverLanguageParser.g:3154:4: ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) )
7940 // InternalSolverLanguageParser.g:3155:5: (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE )
7941 {
7942 // InternalSolverLanguageParser.g:3155:5: (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE )
7943 // InternalSolverLanguageParser.g:3156:6: lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE
7944 {
7945 lv_transitiveClosure_2_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_2);
7946
7947 newLeafNode(lv_transitiveClosure_2_0, grammarAccess.getPathComponentAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0());
7948
7949
7950 if (current==null) {
7951 current = createModelElement(grammarAccess.getPathComponentRule());
7952 }
7953 setWithLastConsumed(
7954 current,
7955 "transitiveClosure",
7956 true,
7957 "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
7958
7959
7960 }
7961
7962
7963 }
7964
7965
7966 }
7967 break;
7968 case 2 :
7969 // InternalSolverLanguageParser.g:3173:4: ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
7970 {
7971 // InternalSolverLanguageParser.g:3173:4: ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
7972 // InternalSolverLanguageParser.g:3174:5: (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
7973 {
7974 // InternalSolverLanguageParser.g:3174:5: (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
7975 // InternalSolverLanguageParser.g:3175:6: lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE
7976 {
7977 lv_reflexiveTransitiveClosure_3_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_2);
7978
7979 newLeafNode(lv_reflexiveTransitiveClosure_3_0, grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0());
7980
7981
7982 if (current==null) {
7983 current = createModelElement(grammarAccess.getPathComponentRule());
7984 }
7985 setWithLastConsumed(
7986 current,
7987 "reflexiveTransitiveClosure",
7988 true,
7989 "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
7990
7991
7992 }
7993
7994
7995 }
7996
7997
7998 }
7999 break;
7211 8000
7212 } 8001 }
7213 8002
@@ -7230,11 +8019,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7230 } 8019 }
7231 return current; 8020 return current;
7232 } 8021 }
7233 // $ANTLR end "ruleReference" 8022 // $ANTLR end "rulePathComponent"
7234 8023
7235 8024
7236 // $ANTLR start "entryRuleInterval" 8025 // $ANTLR start "entryRuleInterval"
7237 // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; 8026 // InternalSolverLanguageParser.g:3196:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
7238 public final EObject entryRuleInterval() throws RecognitionException { 8027 public final EObject entryRuleInterval() throws RecognitionException {
7239 EObject current = null; 8028 EObject current = null;
7240 8029
@@ -7242,8 +8031,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7242 8031
7243 8032
7244 try { 8033 try {
7245 // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF ) 8034 // InternalSolverLanguageParser.g:3196:49: (iv_ruleInterval= ruleInterval EOF )
7246 // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF 8035 // InternalSolverLanguageParser.g:3197:2: iv_ruleInterval= ruleInterval EOF
7247 { 8036 {
7248 newCompositeNode(grammarAccess.getIntervalRule()); 8037 newCompositeNode(grammarAccess.getIntervalRule());
7249 pushFollow(FOLLOW_1); 8038 pushFollow(FOLLOW_1);
@@ -7270,7 +8059,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7270 8059
7271 8060
7272 // $ANTLR start "ruleInterval" 8061 // $ANTLR start "ruleInterval"
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 ) ; 8062 // InternalSolverLanguageParser.g:3203:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket ) ;
7274 public final EObject ruleInterval() throws RecognitionException { 8063 public final EObject ruleInterval() throws RecognitionException {
7275 EObject current = null; 8064 EObject current = null;
7276 8065
@@ -7286,27 +8075,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7286 enterRule(); 8075 enterRule();
7287 8076
7288 try { 8077 try {
7289 // InternalSolverLanguageParser.g:2906:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) 8078 // InternalSolverLanguageParser.g:3209:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) 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 ) 8079 // InternalSolverLanguageParser.g:3210:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket )
7291 { 8080 {
7292 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 8081 // InternalSolverLanguageParser.g:3210:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) 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 8082 // InternalSolverLanguageParser.g:3211:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket
7294 { 8083 {
7295 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); 8084 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_10);
7296 8085
7297 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); 8086 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
7298 8087
7299 // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) ) 8088 // InternalSolverLanguageParser.g:3215:3: ( (lv_lowerBound_1_0= ruleAdditiveExpression ) )
7300 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) 8089 // InternalSolverLanguageParser.g:3216:4: (lv_lowerBound_1_0= ruleAdditiveExpression )
7301 { 8090 {
7302 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) 8091 // InternalSolverLanguageParser.g:3216:4: (lv_lowerBound_1_0= ruleAdditiveExpression )
7303 // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression 8092 // InternalSolverLanguageParser.g:3217:5: lv_lowerBound_1_0= ruleAdditiveExpression
7304 { 8093 {
7305 8094
7306 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 8095 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0());
7307 8096
7308 pushFollow(FOLLOW_44); 8097 pushFollow(FOLLOW_48);
7309 lv_lowerBound_1_0=ruleExpression(); 8098 lv_lowerBound_1_0=ruleAdditiveExpression();
7310 8099
7311 state._fsp--; 8100 state._fsp--;
7312 8101
@@ -7318,7 +8107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7318 current, 8107 current,
7319 "lowerBound", 8108 "lowerBound",
7320 lv_lowerBound_1_0, 8109 lv_lowerBound_1_0,
7321 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 8110 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
7322 afterParserOrEnumRuleCall(); 8111 afterParserOrEnumRuleCall();
7323 8112
7324 8113
@@ -7327,21 +8116,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7327 8116
7328 } 8117 }
7329 8118
7330 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_6); 8119 otherlv_2=(Token)match(input,Comma,FOLLOW_10);
7331 8120
7332 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 8121 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getCommaKeyword_2());
7333 8122
7334 // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) ) 8123 // InternalSolverLanguageParser.g:3238:3: ( (lv_upperBound_3_0= ruleAdditiveExpression ) )
7335 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) 8124 // InternalSolverLanguageParser.g:3239:4: (lv_upperBound_3_0= ruleAdditiveExpression )
7336 { 8125 {
7337 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) 8126 // InternalSolverLanguageParser.g:3239:4: (lv_upperBound_3_0= ruleAdditiveExpression )
7338 // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression 8127 // InternalSolverLanguageParser.g:3240:5: lv_upperBound_3_0= ruleAdditiveExpression
7339 { 8128 {
7340 8129
7341 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 8130 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0());
7342 8131
7343 pushFollow(FOLLOW_45); 8132 pushFollow(FOLLOW_49);
7344 lv_upperBound_3_0=ruleExpression(); 8133 lv_upperBound_3_0=ruleAdditiveExpression();
7345 8134
7346 state._fsp--; 8135 state._fsp--;
7347 8136
@@ -7353,7 +8142,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7353 current, 8142 current,
7354 "upperBound", 8143 "upperBound",
7355 lv_upperBound_3_0, 8144 lv_upperBound_3_0,
7356 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 8145 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
7357 afterParserOrEnumRuleCall(); 8146 afterParserOrEnumRuleCall();
7358 8147
7359 8148
@@ -7389,7 +8178,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7389 8178
7390 8179
7391 // $ANTLR start "entryRuleLiteral" 8180 // $ANTLR start "entryRuleLiteral"
7392 // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 8181 // InternalSolverLanguageParser.g:3265:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
7393 public final EObject entryRuleLiteral() throws RecognitionException { 8182 public final EObject entryRuleLiteral() throws RecognitionException {
7394 EObject current = null; 8183 EObject current = null;
7395 8184
@@ -7397,8 +8186,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7397 8186
7398 8187
7399 try { 8188 try {
7400 // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF ) 8189 // InternalSolverLanguageParser.g:3265:48: (iv_ruleLiteral= ruleLiteral EOF )
7401 // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF 8190 // InternalSolverLanguageParser.g:3266:2: iv_ruleLiteral= ruleLiteral EOF
7402 { 8191 {
7403 newCompositeNode(grammarAccess.getLiteralRule()); 8192 newCompositeNode(grammarAccess.getLiteralRule());
7404 pushFollow(FOLLOW_1); 8193 pushFollow(FOLLOW_1);
@@ -7425,69 +8214,84 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7425 8214
7426 8215
7427 // $ANTLR start "ruleLiteral" 8216 // $ANTLR start "ruleLiteral"
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 ) ; 8217 // InternalSolverLanguageParser.g:3272:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral ) ;
7429 public final EObject ruleLiteral() throws RecognitionException { 8218 public final EObject ruleLiteral() throws RecognitionException {
7430 EObject current = null; 8219 EObject current = null;
7431 8220
7432 EObject this_LogicLiteral_0 = null; 8221 EObject this_LogicLiteral_0 = null;
7433 8222
7434 EObject this_NumericLiteral_1 = null; 8223 EObject this_IntLiteral_1 = null;
7435 8224
7436 EObject this_InfinityLiteral_2 = null; 8225 EObject this_RealLiteral_2 = null;
7437 8226
7438 EObject this_EmptyIntervalLiteral_3 = null; 8227 EObject this_InfinityLiteral_3 = null;
7439 8228
7440 EObject this_StringLiteral_4 = null; 8229 EObject this_EmptyLiteral_4 = null;
8230
8231 EObject this_StringLiteral_5 = null;
7441 8232
7442 8233
7443 8234
7444 enterRule(); 8235 enterRule();
7445 8236
7446 try { 8237 try {
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 ) ) 8238 // InternalSolverLanguageParser.g:3278:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= 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 ) 8239 // InternalSolverLanguageParser.g:3279:2: (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral )
7449 { 8240 {
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 ) 8241 // InternalSolverLanguageParser.g:3279:2: (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral )
7451 int alt34=5; 8242 int alt38=6;
7452 switch ( input.LA(1) ) { 8243 switch ( input.LA(1) ) {
7453 case Unknown: 8244 case Unknown:
7454 case Error: 8245 case Error:
7455 case False: 8246 case False:
7456 case True: 8247 case True:
7457 { 8248 {
7458 alt34=1; 8249 alt38=1;
7459 } 8250 }
7460 break; 8251 break;
7461 case RULE_INT: 8252 case RULE_INT:
7462 { 8253 {
7463 alt34=2; 8254 int LA38_2 = input.LA(2);
8255
8256 if ( (LA38_2==EOF||LA38_2==Else||LA38_2==Then||(LA38_2>=ExclamationMarkEqualsSign && LA38_2<=ColonHyphenMinus)||(LA38_2>=ColonEqualsSign && LA38_2<=As)||LA38_2==In||(LA38_2>=RightParenthesis && LA38_2<=HyphenMinus)||(LA38_2>=Solidus && LA38_2<=LessThanSign)||LA38_2==GreaterThanSign||(LA38_2>=RightSquareBracket && LA38_2<=CircumflexAccent)||(LA38_2>=VerticalLine && LA38_2<=RightCurlyBracket)||LA38_2==RULE_FULL_STOP) ) {
8257 alt38=2;
8258 }
8259 else if ( (LA38_2==FullStop) ) {
8260 alt38=3;
8261 }
8262 else {
8263 NoViableAltException nvae =
8264 new NoViableAltException("", 38, 2, input);
8265
8266 throw nvae;
8267 }
7464 } 8268 }
7465 break; 8269 break;
7466 case Inf: 8270 case Inf:
7467 { 8271 {
7468 alt34=3; 8272 alt38=4;
7469 } 8273 }
7470 break; 8274 break;
7471 case Empty: 8275 case Empty:
7472 { 8276 {
7473 alt34=4; 8277 alt38=5;
7474 } 8278 }
7475 break; 8279 break;
7476 case RULE_STRING: 8280 case RULE_STRING:
7477 { 8281 {
7478 alt34=5; 8282 alt38=6;
7479 } 8283 }
7480 break; 8284 break;
7481 default: 8285 default:
7482 NoViableAltException nvae = 8286 NoViableAltException nvae =
7483 new NoViableAltException("", 34, 0, input); 8287 new NoViableAltException("", 38, 0, input);
7484 8288
7485 throw nvae; 8289 throw nvae;
7486 } 8290 }
7487 8291
7488 switch (alt34) { 8292 switch (alt38) {
7489 case 1 : 8293 case 1 :
7490 // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral 8294 // InternalSolverLanguageParser.g:3280:3: this_LogicLiteral_0= ruleLogicLiteral
7491 { 8295 {
7492 8296
7493 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); 8297 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
@@ -7505,72 +8309,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7505 } 8309 }
7506 break; 8310 break;
7507 case 2 : 8311 case 2 :
7508 // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral 8312 // InternalSolverLanguageParser.g:3289:3: this_IntLiteral_1= ruleIntLiteral
7509 { 8313 {
7510 8314
7511 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 8315 newCompositeNode(grammarAccess.getLiteralAccess().getIntLiteralParserRuleCall_1());
7512 8316
7513 pushFollow(FOLLOW_2); 8317 pushFollow(FOLLOW_2);
7514 this_NumericLiteral_1=ruleNumericLiteral(); 8318 this_IntLiteral_1=ruleIntLiteral();
7515 8319
7516 state._fsp--; 8320 state._fsp--;
7517 8321
7518 8322
7519 current = this_NumericLiteral_1; 8323 current = this_IntLiteral_1;
7520 afterParserOrEnumRuleCall(); 8324 afterParserOrEnumRuleCall();
7521 8325
7522 8326
7523 } 8327 }
7524 break; 8328 break;
7525 case 3 : 8329 case 3 :
7526 // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral 8330 // InternalSolverLanguageParser.g:3298:3: this_RealLiteral_2= ruleRealLiteral
7527 { 8331 {
7528 8332
7529 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 8333 newCompositeNode(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_2());
7530 8334
7531 pushFollow(FOLLOW_2); 8335 pushFollow(FOLLOW_2);
7532 this_InfinityLiteral_2=ruleInfinityLiteral(); 8336 this_RealLiteral_2=ruleRealLiteral();
7533 8337
7534 state._fsp--; 8338 state._fsp--;
7535 8339
7536 8340
7537 current = this_InfinityLiteral_2; 8341 current = this_RealLiteral_2;
7538 afterParserOrEnumRuleCall(); 8342 afterParserOrEnumRuleCall();
7539 8343
7540 8344
7541 } 8345 }
7542 break; 8346 break;
7543 case 4 : 8347 case 4 :
7544 // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral 8348 // InternalSolverLanguageParser.g:3307:3: this_InfinityLiteral_3= ruleInfinityLiteral
7545 { 8349 {
7546 8350
7547 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 8351 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_3());
7548 8352
7549 pushFollow(FOLLOW_2); 8353 pushFollow(FOLLOW_2);
7550 this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral(); 8354 this_InfinityLiteral_3=ruleInfinityLiteral();
7551 8355
7552 state._fsp--; 8356 state._fsp--;
7553 8357
7554 8358
7555 current = this_EmptyIntervalLiteral_3; 8359 current = this_InfinityLiteral_3;
7556 afterParserOrEnumRuleCall(); 8360 afterParserOrEnumRuleCall();
7557 8361
7558 8362
7559 } 8363 }
7560 break; 8364 break;
7561 case 5 : 8365 case 5 :
7562 // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral 8366 // InternalSolverLanguageParser.g:3316:3: this_EmptyLiteral_4= ruleEmptyLiteral
7563 { 8367 {
7564 8368
7565 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 8369 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyLiteralParserRuleCall_4());
7566 8370
7567 pushFollow(FOLLOW_2); 8371 pushFollow(FOLLOW_2);
7568 this_StringLiteral_4=ruleStringLiteral(); 8372 this_EmptyLiteral_4=ruleEmptyLiteral();
7569 8373
7570 state._fsp--; 8374 state._fsp--;
7571 8375
7572 8376
7573 current = this_StringLiteral_4; 8377 current = this_EmptyLiteral_4;
8378 afterParserOrEnumRuleCall();
8379
8380
8381 }
8382 break;
8383 case 6 :
8384 // InternalSolverLanguageParser.g:3325:3: this_StringLiteral_5= ruleStringLiteral
8385 {
8386
8387 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_5());
8388
8389 pushFollow(FOLLOW_2);
8390 this_StringLiteral_5=ruleStringLiteral();
8391
8392 state._fsp--;
8393
8394
8395 current = this_StringLiteral_5;
7574 afterParserOrEnumRuleCall(); 8396 afterParserOrEnumRuleCall();
7575 8397
7576 8398
@@ -7599,7 +8421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7599 8421
7600 8422
7601 // $ANTLR start "entryRuleLogicLiteral" 8423 // $ANTLR start "entryRuleLogicLiteral"
7602 // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; 8424 // InternalSolverLanguageParser.g:3337:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ;
7603 public final EObject entryRuleLogicLiteral() throws RecognitionException { 8425 public final EObject entryRuleLogicLiteral() throws RecognitionException {
7604 EObject current = null; 8426 EObject current = null;
7605 8427
@@ -7607,8 +8429,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7607 8429
7608 8430
7609 try { 8431 try {
7610 // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) 8432 // InternalSolverLanguageParser.g:3337:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF )
7611 // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF 8433 // InternalSolverLanguageParser.g:3338:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF
7612 { 8434 {
7613 newCompositeNode(grammarAccess.getLogicLiteralRule()); 8435 newCompositeNode(grammarAccess.getLogicLiteralRule());
7614 pushFollow(FOLLOW_1); 8436 pushFollow(FOLLOW_1);
@@ -7635,7 +8457,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7635 8457
7636 8458
7637 // $ANTLR start "ruleLogicLiteral" 8459 // $ANTLR start "ruleLogicLiteral"
7638 // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; 8460 // InternalSolverLanguageParser.g:3344:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ;
7639 public final EObject ruleLogicLiteral() throws RecognitionException { 8461 public final EObject ruleLogicLiteral() throws RecognitionException {
7640 EObject current = null; 8462 EObject current = null;
7641 8463
@@ -7646,14 +8468,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7646 enterRule(); 8468 enterRule();
7647 8469
7648 try { 8470 try {
7649 // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) 8471 // InternalSolverLanguageParser.g:3350:2: ( ( (lv_value_0_0= ruleLogicValue ) ) )
7650 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) ) 8472 // InternalSolverLanguageParser.g:3351:2: ( (lv_value_0_0= ruleLogicValue ) )
7651 { 8473 {
7652 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) ) 8474 // InternalSolverLanguageParser.g:3351:2: ( (lv_value_0_0= ruleLogicValue ) )
7653 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue ) 8475 // InternalSolverLanguageParser.g:3352:3: (lv_value_0_0= ruleLogicValue )
7654 { 8476 {
7655 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue ) 8477 // InternalSolverLanguageParser.g:3352:3: (lv_value_0_0= ruleLogicValue )
7656 // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue 8478 // InternalSolverLanguageParser.g:3353:4: lv_value_0_0= ruleLogicValue
7657 { 8479 {
7658 8480
7659 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); 8481 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
@@ -7699,25 +8521,120 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7699 // $ANTLR end "ruleLogicLiteral" 8521 // $ANTLR end "ruleLogicLiteral"
7700 8522
7701 8523
7702 // $ANTLR start "entryRuleNumericLiteral" 8524 // $ANTLR start "entryRuleIntLiteral"
7703 // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; 8525 // InternalSolverLanguageParser.g:3373:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
7704 public final EObject entryRuleNumericLiteral() throws RecognitionException { 8526 public final EObject entryRuleIntLiteral() throws RecognitionException {
8527 EObject current = null;
8528
8529 EObject iv_ruleIntLiteral = null;
8530
8531
8532 try {
8533 // InternalSolverLanguageParser.g:3373:51: (iv_ruleIntLiteral= ruleIntLiteral EOF )
8534 // InternalSolverLanguageParser.g:3374:2: iv_ruleIntLiteral= ruleIntLiteral EOF
8535 {
8536 newCompositeNode(grammarAccess.getIntLiteralRule());
8537 pushFollow(FOLLOW_1);
8538 iv_ruleIntLiteral=ruleIntLiteral();
8539
8540 state._fsp--;
8541
8542 current =iv_ruleIntLiteral;
8543 match(input,EOF,FOLLOW_2);
8544
8545 }
8546
8547 }
8548
8549 catch (RecognitionException re) {
8550 recover(input,re);
8551 appendSkippedTokens();
8552 }
8553 finally {
8554 }
8555 return current;
8556 }
8557 // $ANTLR end "entryRuleIntLiteral"
8558
8559
8560 // $ANTLR start "ruleIntLiteral"
8561 // InternalSolverLanguageParser.g:3380:1: ruleIntLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ;
8562 public final EObject ruleIntLiteral() throws RecognitionException {
8563 EObject current = null;
8564
8565 Token lv_value_0_0=null;
8566
8567
8568 enterRule();
8569
8570 try {
8571 // InternalSolverLanguageParser.g:3386:2: ( ( (lv_value_0_0= RULE_INT ) ) )
8572 // InternalSolverLanguageParser.g:3387:2: ( (lv_value_0_0= RULE_INT ) )
8573 {
8574 // InternalSolverLanguageParser.g:3387:2: ( (lv_value_0_0= RULE_INT ) )
8575 // InternalSolverLanguageParser.g:3388:3: (lv_value_0_0= RULE_INT )
8576 {
8577 // InternalSolverLanguageParser.g:3388:3: (lv_value_0_0= RULE_INT )
8578 // InternalSolverLanguageParser.g:3389:4: lv_value_0_0= RULE_INT
8579 {
8580 lv_value_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
8581
8582 newLeafNode(lv_value_0_0, grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0());
8583
8584
8585 if (current==null) {
8586 current = createModelElement(grammarAccess.getIntLiteralRule());
8587 }
8588 setWithLastConsumed(
8589 current,
8590 "value",
8591 lv_value_0_0,
8592 "org.eclipse.xtext.common.Terminals.INT");
8593
8594
8595 }
8596
8597
8598 }
8599
8600
8601 }
8602
8603
8604 leaveRule();
8605
8606 }
8607
8608 catch (RecognitionException re) {
8609 recover(input,re);
8610 appendSkippedTokens();
8611 }
8612 finally {
8613 }
8614 return current;
8615 }
8616 // $ANTLR end "ruleIntLiteral"
8617
8618
8619 // $ANTLR start "entryRuleRealLiteral"
8620 // InternalSolverLanguageParser.g:3408:1: entryRuleRealLiteral returns [EObject current=null] : iv_ruleRealLiteral= ruleRealLiteral EOF ;
8621 public final EObject entryRuleRealLiteral() throws RecognitionException {
7705 EObject current = null; 8622 EObject current = null;
7706 8623
7707 EObject iv_ruleNumericLiteral = null; 8624 EObject iv_ruleRealLiteral = null;
7708 8625
7709 8626
7710 try { 8627 try {
7711 // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) 8628 // InternalSolverLanguageParser.g:3408:52: (iv_ruleRealLiteral= ruleRealLiteral EOF )
7712 // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF 8629 // InternalSolverLanguageParser.g:3409:2: iv_ruleRealLiteral= ruleRealLiteral EOF
7713 { 8630 {
7714 newCompositeNode(grammarAccess.getNumericLiteralRule()); 8631 newCompositeNode(grammarAccess.getRealLiteralRule());
7715 pushFollow(FOLLOW_1); 8632 pushFollow(FOLLOW_1);
7716 iv_ruleNumericLiteral=ruleNumericLiteral(); 8633 iv_ruleRealLiteral=ruleRealLiteral();
7717 8634
7718 state._fsp--; 8635 state._fsp--;
7719 8636
7720 current =iv_ruleNumericLiteral; 8637 current =iv_ruleRealLiteral;
7721 match(input,EOF,FOLLOW_2); 8638 match(input,EOF,FOLLOW_2);
7722 8639
7723 } 8640 }
@@ -7732,12 +8649,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7732 } 8649 }
7733 return current; 8650 return current;
7734 } 8651 }
7735 // $ANTLR end "entryRuleNumericLiteral" 8652 // $ANTLR end "entryRuleRealLiteral"
7736 8653
7737 8654
7738 // $ANTLR start "ruleNumericLiteral" 8655 // $ANTLR start "ruleRealLiteral"
7739 // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; 8656 // InternalSolverLanguageParser.g:3415:1: ruleRealLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ;
7740 public final EObject ruleNumericLiteral() throws RecognitionException { 8657 public final EObject ruleRealLiteral() throws RecognitionException {
7741 EObject current = null; 8658 EObject current = null;
7742 8659
7743 AntlrDatatypeRuleToken lv_value_0_0 = null; 8660 AntlrDatatypeRuleToken lv_value_0_0 = null;
@@ -7747,17 +8664,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7747 enterRule(); 8664 enterRule();
7748 8665
7749 try { 8666 try {
7750 // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) ) 8667 // InternalSolverLanguageParser.g:3421:2: ( ( (lv_value_0_0= ruleReal ) ) )
7751 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) ) 8668 // InternalSolverLanguageParser.g:3422:2: ( (lv_value_0_0= ruleReal ) )
7752 { 8669 {
7753 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) ) 8670 // InternalSolverLanguageParser.g:3422:2: ( (lv_value_0_0= ruleReal ) )
7754 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal ) 8671 // InternalSolverLanguageParser.g:3423:3: (lv_value_0_0= ruleReal )
7755 { 8672 {
7756 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal ) 8673 // InternalSolverLanguageParser.g:3423:3: (lv_value_0_0= ruleReal )
7757 // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal 8674 // InternalSolverLanguageParser.g:3424:4: lv_value_0_0= ruleReal
7758 { 8675 {
7759 8676
7760 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 8677 newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0());
7761 8678
7762 pushFollow(FOLLOW_2); 8679 pushFollow(FOLLOW_2);
7763 lv_value_0_0=ruleReal(); 8680 lv_value_0_0=ruleReal();
@@ -7766,7 +8683,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7766 8683
7767 8684
7768 if (current==null) { 8685 if (current==null) {
7769 current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); 8686 current = createModelElementForParent(grammarAccess.getRealLiteralRule());
7770 } 8687 }
7771 set( 8688 set(
7772 current, 8689 current,
@@ -7797,11 +8714,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7797 } 8714 }
7798 return current; 8715 return current;
7799 } 8716 }
7800 // $ANTLR end "ruleNumericLiteral" 8717 // $ANTLR end "ruleRealLiteral"
7801 8718
7802 8719
7803 // $ANTLR start "entryRuleInfinityLiteral" 8720 // $ANTLR start "entryRuleInfinityLiteral"
7804 // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; 8721 // InternalSolverLanguageParser.g:3444:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ;
7805 public final EObject entryRuleInfinityLiteral() throws RecognitionException { 8722 public final EObject entryRuleInfinityLiteral() throws RecognitionException {
7806 EObject current = null; 8723 EObject current = null;
7807 8724
@@ -7809,8 +8726,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7809 8726
7810 8727
7811 try { 8728 try {
7812 // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) 8729 // InternalSolverLanguageParser.g:3444:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF )
7813 // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF 8730 // InternalSolverLanguageParser.g:3445:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF
7814 { 8731 {
7815 newCompositeNode(grammarAccess.getInfinityLiteralRule()); 8732 newCompositeNode(grammarAccess.getInfinityLiteralRule());
7816 pushFollow(FOLLOW_1); 8733 pushFollow(FOLLOW_1);
@@ -7837,7 +8754,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7837 8754
7838 8755
7839 // $ANTLR start "ruleInfinityLiteral" 8756 // $ANTLR start "ruleInfinityLiteral"
7840 // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; 8757 // InternalSolverLanguageParser.g:3451:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ;
7841 public final EObject ruleInfinityLiteral() throws RecognitionException { 8758 public final EObject ruleInfinityLiteral() throws RecognitionException {
7842 EObject current = null; 8759 EObject current = null;
7843 8760
@@ -7847,14 +8764,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7847 enterRule(); 8764 enterRule();
7848 8765
7849 try { 8766 try {
7850 // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) ) 8767 // InternalSolverLanguageParser.g:3457:2: ( ( () otherlv_1= Inf ) )
7851 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) 8768 // InternalSolverLanguageParser.g:3458:2: ( () otherlv_1= Inf )
7852 { 8769 {
7853 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) 8770 // InternalSolverLanguageParser.g:3458:2: ( () otherlv_1= Inf )
7854 // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf 8771 // InternalSolverLanguageParser.g:3459:3: () otherlv_1= Inf
7855 { 8772 {
7856 // InternalSolverLanguageParser.g:3112:3: () 8773 // InternalSolverLanguageParser.g:3459:3: ()
7857 // InternalSolverLanguageParser.g:3113:4: 8774 // InternalSolverLanguageParser.g:3460:4:
7858 { 8775 {
7859 8776
7860 current = forceCreateModelElement( 8777 current = forceCreateModelElement(
@@ -7890,25 +8807,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7890 // $ANTLR end "ruleInfinityLiteral" 8807 // $ANTLR end "ruleInfinityLiteral"
7891 8808
7892 8809
7893 // $ANTLR start "entryRuleEmptyIntervalLiteral" 8810 // $ANTLR start "entryRuleEmptyLiteral"
7894 // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; 8811 // InternalSolverLanguageParser.g:3474:1: entryRuleEmptyLiteral returns [EObject current=null] : iv_ruleEmptyLiteral= ruleEmptyLiteral EOF ;
7895 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { 8812 public final EObject entryRuleEmptyLiteral() throws RecognitionException {
7896 EObject current = null; 8813 EObject current = null;
7897 8814
7898 EObject iv_ruleEmptyIntervalLiteral = null; 8815 EObject iv_ruleEmptyLiteral = null;
7899 8816
7900 8817
7901 try { 8818 try {
7902 // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) 8819 // InternalSolverLanguageParser.g:3474:53: (iv_ruleEmptyLiteral= ruleEmptyLiteral EOF )
7903 // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF 8820 // InternalSolverLanguageParser.g:3475:2: iv_ruleEmptyLiteral= ruleEmptyLiteral EOF
7904 { 8821 {
7905 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); 8822 newCompositeNode(grammarAccess.getEmptyLiteralRule());
7906 pushFollow(FOLLOW_1); 8823 pushFollow(FOLLOW_1);
7907 iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral(); 8824 iv_ruleEmptyLiteral=ruleEmptyLiteral();
7908 8825
7909 state._fsp--; 8826 state._fsp--;
7910 8827
7911 current =iv_ruleEmptyIntervalLiteral; 8828 current =iv_ruleEmptyLiteral;
7912 match(input,EOF,FOLLOW_2); 8829 match(input,EOF,FOLLOW_2);
7913 8830
7914 } 8831 }
@@ -7923,12 +8840,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7923 } 8840 }
7924 return current; 8841 return current;
7925 } 8842 }
7926 // $ANTLR end "entryRuleEmptyIntervalLiteral" 8843 // $ANTLR end "entryRuleEmptyLiteral"
7927 8844
7928 8845
7929 // $ANTLR start "ruleEmptyIntervalLiteral" 8846 // $ANTLR start "ruleEmptyLiteral"
7930 // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; 8847 // InternalSolverLanguageParser.g:3481:1: ruleEmptyLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ;
7931 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { 8848 public final EObject ruleEmptyLiteral() throws RecognitionException {
7932 EObject current = null; 8849 EObject current = null;
7933 8850
7934 Token otherlv_1=null; 8851 Token otherlv_1=null;
@@ -7937,18 +8854,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7937 enterRule(); 8854 enterRule();
7938 8855
7939 try { 8856 try {
7940 // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) ) 8857 // InternalSolverLanguageParser.g:3487:2: ( ( () otherlv_1= Empty ) )
7941 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) 8858 // InternalSolverLanguageParser.g:3488:2: ( () otherlv_1= Empty )
7942 { 8859 {
7943 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) 8860 // InternalSolverLanguageParser.g:3488:2: ( () otherlv_1= Empty )
7944 // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty 8861 // InternalSolverLanguageParser.g:3489:3: () otherlv_1= Empty
7945 { 8862 {
7946 // InternalSolverLanguageParser.g:3142:3: () 8863 // InternalSolverLanguageParser.g:3489:3: ()
7947 // InternalSolverLanguageParser.g:3143:4: 8864 // InternalSolverLanguageParser.g:3490:4:
7948 { 8865 {
7949 8866
7950 current = forceCreateModelElement( 8867 current = forceCreateModelElement(
7951 grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), 8868 grammarAccess.getEmptyLiteralAccess().getEmptyLiteralAction_0(),
7952 current); 8869 current);
7953 8870
7954 8871
@@ -7956,7 +8873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7956 8873
7957 otherlv_1=(Token)match(input,Empty,FOLLOW_2); 8874 otherlv_1=(Token)match(input,Empty,FOLLOW_2);
7958 8875
7959 newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); 8876 newLeafNode(otherlv_1, grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1());
7960 8877
7961 8878
7962 } 8879 }
@@ -7977,11 +8894,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7977 } 8894 }
7978 return current; 8895 return current;
7979 } 8896 }
7980 // $ANTLR end "ruleEmptyIntervalLiteral" 8897 // $ANTLR end "ruleEmptyLiteral"
7981 8898
7982 8899
7983 // $ANTLR start "entryRuleStringLiteral" 8900 // $ANTLR start "entryRuleStringLiteral"
7984 // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; 8901 // InternalSolverLanguageParser.g:3504:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
7985 public final EObject entryRuleStringLiteral() throws RecognitionException { 8902 public final EObject entryRuleStringLiteral() throws RecognitionException {
7986 EObject current = null; 8903 EObject current = null;
7987 8904
@@ -7989,8 +8906,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7989 8906
7990 8907
7991 try { 8908 try {
7992 // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) 8909 // InternalSolverLanguageParser.g:3504:54: (iv_ruleStringLiteral= ruleStringLiteral EOF )
7993 // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF 8910 // InternalSolverLanguageParser.g:3505:2: iv_ruleStringLiteral= ruleStringLiteral EOF
7994 { 8911 {
7995 newCompositeNode(grammarAccess.getStringLiteralRule()); 8912 newCompositeNode(grammarAccess.getStringLiteralRule());
7996 pushFollow(FOLLOW_1); 8913 pushFollow(FOLLOW_1);
@@ -8017,7 +8934,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8017 8934
8018 8935
8019 // $ANTLR start "ruleStringLiteral" 8936 // $ANTLR start "ruleStringLiteral"
8020 // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 8937 // InternalSolverLanguageParser.g:3511:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
8021 public final EObject ruleStringLiteral() throws RecognitionException { 8938 public final EObject ruleStringLiteral() throws RecognitionException {
8022 EObject current = null; 8939 EObject current = null;
8023 8940
@@ -8027,14 +8944,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8027 enterRule(); 8944 enterRule();
8028 8945
8029 try { 8946 try {
8030 // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 8947 // InternalSolverLanguageParser.g:3517:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
8031 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) ) 8948 // InternalSolverLanguageParser.g:3518:2: ( (lv_value_0_0= RULE_STRING ) )
8032 { 8949 {
8033 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) ) 8950 // InternalSolverLanguageParser.g:3518:2: ( (lv_value_0_0= RULE_STRING ) )
8034 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING ) 8951 // InternalSolverLanguageParser.g:3519:3: (lv_value_0_0= RULE_STRING )
8035 { 8952 {
8036 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING ) 8953 // InternalSolverLanguageParser.g:3519:3: (lv_value_0_0= RULE_STRING )
8037 // InternalSolverLanguageParser.g:3173:4: lv_value_0_0= RULE_STRING 8954 // InternalSolverLanguageParser.g:3520:4: lv_value_0_0= RULE_STRING
8038 { 8955 {
8039 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 8956 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
8040 8957
@@ -8075,25 +8992,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8075 // $ANTLR end "ruleStringLiteral" 8992 // $ANTLR end "ruleStringLiteral"
8076 8993
8077 8994
8078 // $ANTLR start "entryRuleClassDefinition" 8995 // $ANTLR start "entryRuleClassDeclaration"
8079 // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; 8996 // InternalSolverLanguageParser.g:3539:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
8080 public final EObject entryRuleClassDefinition() throws RecognitionException { 8997 public final EObject entryRuleClassDeclaration() throws RecognitionException {
8081 EObject current = null; 8998 EObject current = null;
8082 8999
8083 EObject iv_ruleClassDefinition = null; 9000 EObject iv_ruleClassDeclaration = null;
8084 9001
8085 9002
8086 try { 9003 try {
8087 // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) 9004 // InternalSolverLanguageParser.g:3539:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
8088 // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF 9005 // InternalSolverLanguageParser.g:3540:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
8089 { 9006 {
8090 newCompositeNode(grammarAccess.getClassDefinitionRule()); 9007 newCompositeNode(grammarAccess.getClassDeclarationRule());
8091 pushFollow(FOLLOW_1); 9008 pushFollow(FOLLOW_1);
8092 iv_ruleClassDefinition=ruleClassDefinition(); 9009 iv_ruleClassDeclaration=ruleClassDeclaration();
8093 9010
8094 state._fsp--; 9011 state._fsp--;
8095 9012
8096 current =iv_ruleClassDefinition; 9013 current =iv_ruleClassDeclaration;
8097 match(input,EOF,FOLLOW_2); 9014 match(input,EOF,FOLLOW_2);
8098 9015
8099 } 9016 }
@@ -8108,89 +9025,219 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8108 } 9025 }
8109 return current; 9026 return current;
8110 } 9027 }
8111 // $ANTLR end "entryRuleClassDefinition" 9028 // $ANTLR end "entryRuleClassDeclaration"
8112 9029
8113 9030
8114 // $ANTLR start "ruleClassDefinition" 9031 // $ANTLR start "ruleClassDeclaration"
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 ) ; 9032 // InternalSolverLanguageParser.g:3546:1: ruleClassDeclaration returns [EObject current=null] : ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) ;
8116 public final EObject ruleClassDefinition() throws RecognitionException { 9033 public final EObject ruleClassDeclaration() throws RecognitionException {
8117 EObject current = null; 9034 EObject current = null;
8118 9035
8119 Token lv_abstract_0_0=null; 9036 Token lv_abstract_1_0=null;
8120 Token otherlv_1=null; 9037 Token lv_root_2_0=null;
8121 Token lv_name_2_0=null;
8122 Token otherlv_3=null; 9038 Token otherlv_3=null;
9039 Token lv_name_4_0=null;
8123 Token otherlv_5=null; 9040 Token otherlv_5=null;
8124 Token otherlv_7=null; 9041 Token otherlv_7=null;
8125 Token otherlv_9=null; 9042 Token otherlv_9=null;
8126 EObject lv_members_8_0 = null; 9043 Token otherlv_11=null;
9044 Token this_FULL_STOP_12=null;
9045 EObject lv_fields_10_0 = null;
8127 9046
8128 9047
8129 9048
8130 enterRule(); 9049 enterRule();
8131 9050
8132 try { 9051 try {
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 ) ) 9052 // InternalSolverLanguageParser.g:3552:2: ( ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) )
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 ) 9053 // InternalSolverLanguageParser.g:3553:2: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) )
9054 {
9055 // InternalSolverLanguageParser.g:3553:2: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) )
9056 // InternalSolverLanguageParser.g:3554:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP )
9057 {
9058 // InternalSolverLanguageParser.g:3554:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) )
9059 // InternalSolverLanguageParser.g:3555:4: ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) )
8135 { 9060 {
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 ) 9061 // InternalSolverLanguageParser.g:3555:4: ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) )
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 9062 // InternalSolverLanguageParser.g:3556:5: ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* )
8138 { 9063 {
8139 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? 9064
8140 int alt35=2; 9065 getUnorderedGroupHelper().enter(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
8141 int LA35_0 = input.LA(1); 9066
9067 // InternalSolverLanguageParser.g:3559:5: ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* )
9068 // InternalSolverLanguageParser.g:3560:6: ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )*
9069 {
9070 // InternalSolverLanguageParser.g:3560:6: ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )*
9071 loop39:
9072 do {
9073 int alt39=3;
9074 int LA39_0 = input.LA(1);
8142 9075
8143 if ( (LA35_0==Abstract) ) { 9076 if ( LA39_0 == Abstract && getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0) ) {
8144 alt35=1; 9077 alt39=1;
8145 } 9078 }
8146 switch (alt35) { 9079 else if ( LA39_0 == Root && getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1) ) {
8147 case 1 : 9080 alt39=2;
8148 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract ) 9081 }
8149 {
8150 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
8151 // InternalSolverLanguageParser.g:3209:5: lv_abstract_0_0= Abstract
8152 {
8153 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_46);
8154 9082
8155 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
8156
8157 9083
8158 if (current==null) { 9084 switch (alt39) {
8159 current = createModelElement(grammarAccess.getClassDefinitionRule()); 9085 case 1 :
8160 } 9086 // InternalSolverLanguageParser.g:3561:4: ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) )
8161 setWithLastConsumed(current, "abstract", true, "abstract"); 9087 {
8162 9088 // InternalSolverLanguageParser.g:3561:4: ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) )
9089 // InternalSolverLanguageParser.g:3562:5: {...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) )
9090 {
9091 if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0) ) {
9092 throw new FailedPredicateException(input, "ruleClassDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0)");
9093 }
9094 // InternalSolverLanguageParser.g:3562:113: ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) )
9095 // InternalSolverLanguageParser.g:3563:6: ({...}? => ( (lv_abstract_1_0= Abstract ) ) )
9096 {
8163 9097
8164 } 9098 getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0);
9099
9100 // InternalSolverLanguageParser.g:3566:9: ({...}? => ( (lv_abstract_1_0= Abstract ) ) )
9101 // InternalSolverLanguageParser.g:3566:10: {...}? => ( (lv_abstract_1_0= Abstract ) )
9102 {
9103 if ( !((true)) ) {
9104 throw new FailedPredicateException(input, "ruleClassDeclaration", "true");
9105 }
9106 // InternalSolverLanguageParser.g:3566:19: ( (lv_abstract_1_0= Abstract ) )
9107 // InternalSolverLanguageParser.g:3566:20: (lv_abstract_1_0= Abstract )
9108 {
9109 // InternalSolverLanguageParser.g:3566:20: (lv_abstract_1_0= Abstract )
9110 // InternalSolverLanguageParser.g:3567:10: lv_abstract_1_0= Abstract
9111 {
9112 lv_abstract_1_0=(Token)match(input,Abstract,FOLLOW_50);
8165 9113
9114 newLeafNode(lv_abstract_1_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0_0());
9115
9116
9117 if (current==null) {
9118 current = createModelElement(grammarAccess.getClassDeclarationRule());
9119 }
9120 setWithLastConsumed(current, "abstract", true, "abstract");
9121
9122
9123 }
9124
9125
9126 }
9127
9128
9129 }
9130
9131
9132 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
9133
9134
9135 }
9136
9137
9138 }
9139
9140
9141 }
9142 break;
9143 case 2 :
9144 // InternalSolverLanguageParser.g:3584:4: ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) )
9145 {
9146 // InternalSolverLanguageParser.g:3584:4: ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) )
9147 // InternalSolverLanguageParser.g:3585:5: {...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) )
9148 {
9149 if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1) ) {
9150 throw new FailedPredicateException(input, "ruleClassDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1)");
9151 }
9152 // InternalSolverLanguageParser.g:3585:113: ( ({...}? => ( (lv_root_2_0= Root ) ) ) )
9153 // InternalSolverLanguageParser.g:3586:6: ({...}? => ( (lv_root_2_0= Root ) ) )
9154 {
9155
9156 getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1);
9157
9158 // InternalSolverLanguageParser.g:3589:9: ({...}? => ( (lv_root_2_0= Root ) ) )
9159 // InternalSolverLanguageParser.g:3589:10: {...}? => ( (lv_root_2_0= Root ) )
9160 {
9161 if ( !((true)) ) {
9162 throw new FailedPredicateException(input, "ruleClassDeclaration", "true");
9163 }
9164 // InternalSolverLanguageParser.g:3589:19: ( (lv_root_2_0= Root ) )
9165 // InternalSolverLanguageParser.g:3589:20: (lv_root_2_0= Root )
9166 {
9167 // InternalSolverLanguageParser.g:3589:20: (lv_root_2_0= Root )
9168 // InternalSolverLanguageParser.g:3590:10: lv_root_2_0= Root
9169 {
9170 lv_root_2_0=(Token)match(input,Root,FOLLOW_50);
9171
9172 newLeafNode(lv_root_2_0, grammarAccess.getClassDeclarationAccess().getRootRootKeyword_0_1_0());
9173
9174
9175 if (current==null) {
9176 current = createModelElement(grammarAccess.getClassDeclarationRule());
9177 }
9178 setWithLastConsumed(current, "root", true, "root");
9179
9180
9181 }
9182
9183
9184 }
9185
9186
9187 }
9188
9189
9190 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
9191
9192
9193 }
9194
9195
9196 }
9197
9198
9199 }
9200 break;
9201
9202 default :
9203 break loop39;
9204 }
9205 } while (true);
8166 9206
8167 }
8168 break;
8169 9207
8170 } 9208 }
8171 9209
8172 otherlv_1=(Token)match(input,Class,FOLLOW_20);
8173 9210
8174 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 9211 }
9212
9213
9214 getUnorderedGroupHelper().leave(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0());
9215
9216
9217 }
9218
9219 otherlv_3=(Token)match(input,Class,FOLLOW_28);
9220
9221 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
8175 9222
8176 // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) ) 9223 // InternalSolverLanguageParser.g:3618:3: ( (lv_name_4_0= RULE_ID ) )
8177 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) 9224 // InternalSolverLanguageParser.g:3619:4: (lv_name_4_0= RULE_ID )
8178 { 9225 {
8179 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) 9226 // InternalSolverLanguageParser.g:3619:4: (lv_name_4_0= RULE_ID )
8180 // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID 9227 // InternalSolverLanguageParser.g:3620:5: lv_name_4_0= RULE_ID
8181 { 9228 {
8182 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47); 9229 lv_name_4_0=(Token)match(input,RULE_ID,FOLLOW_51);
8183 9230
8184 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 9231 newLeafNode(lv_name_4_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
8185 9232
8186 9233
8187 if (current==null) { 9234 if (current==null) {
8188 current = createModelElement(grammarAccess.getClassDefinitionRule()); 9235 current = createModelElement(grammarAccess.getClassDeclarationRule());
8189 } 9236 }
8190 setWithLastConsumed( 9237 setWithLastConsumed(
8191 current, 9238 current,
8192 "name", 9239 "name",
8193 lv_name_2_0, 9240 lv_name_4_0,
8194 "org.eclipse.xtext.common.Terminals.ID"); 9241 "org.eclipse.xtext.common.Terminals.ID");
8195 9242
8196 9243
@@ -8199,36 +9246,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8199 9246
8200 } 9247 }
8201 9248
8202 // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? 9249 // InternalSolverLanguageParser.g:3636:3: (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )?
8203 int alt37=2; 9250 int alt41=2;
8204 int LA37_0 = input.LA(1); 9251 int LA41_0 = input.LA(1);
8205 9252
8206 if ( (LA37_0==Extends) ) { 9253 if ( (LA41_0==Extends) ) {
8207 alt37=1; 9254 alt41=1;
8208 } 9255 }
8209 switch (alt37) { 9256 switch (alt41) {
8210 case 1 : 9257 case 1 :
8211 // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 9258 // InternalSolverLanguageParser.g:3637:4: otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )*
8212 { 9259 {
8213 otherlv_3=(Token)match(input,Extends,FOLLOW_8); 9260 otherlv_5=(Token)match(input,Extends,FOLLOW_3);
8214 9261
8215 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 9262 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
8216 9263
8217 // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) ) 9264 // InternalSolverLanguageParser.g:3641:4: ( ( ruleQualifiedName ) )
8218 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) 9265 // InternalSolverLanguageParser.g:3642:5: ( ruleQualifiedName )
8219 { 9266 {
8220 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) 9267 // InternalSolverLanguageParser.g:3642:5: ( ruleQualifiedName )
8221 // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName 9268 // InternalSolverLanguageParser.g:3643:6: ruleQualifiedName
8222 { 9269 {
8223 9270
8224 if (current==null) { 9271 if (current==null) {
8225 current = createModelElement(grammarAccess.getClassDefinitionRule()); 9272 current = createModelElement(grammarAccess.getClassDeclarationRule());
8226 } 9273 }
8227 9274
8228 9275
8229 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 9276 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_1_0());
8230 9277
8231 pushFollow(FOLLOW_48); 9278 pushFollow(FOLLOW_52);
8232 ruleQualifiedName(); 9279 ruleQualifiedName();
8233 9280
8234 state._fsp--; 9281 state._fsp--;
@@ -8242,40 +9289,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8242 9289
8243 } 9290 }
8244 9291
8245 // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 9292 // InternalSolverLanguageParser.g:3657:4: (otherlv_7= Comma ( ( ruleQualifiedName ) ) )*
8246 loop36: 9293 loop40:
8247 do { 9294 do {
8248 int alt36=2; 9295 int alt40=2;
8249 int LA36_0 = input.LA(1); 9296 int LA40_0 = input.LA(1);
8250 9297
8251 if ( (LA36_0==Comma) ) { 9298 if ( (LA40_0==Comma) ) {
8252 alt36=1; 9299 alt40=1;
8253 } 9300 }
8254 9301
8255 9302
8256 switch (alt36) { 9303 switch (alt40) {
8257 case 1 : 9304 case 1 :
8258 // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) 9305 // InternalSolverLanguageParser.g:3658:5: otherlv_7= Comma ( ( ruleQualifiedName ) )
8259 { 9306 {
8260 otherlv_5=(Token)match(input,Comma,FOLLOW_8); 9307 otherlv_7=(Token)match(input,Comma,FOLLOW_3);
8261 9308
8262 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 9309 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
8263 9310
8264 // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) ) 9311 // InternalSolverLanguageParser.g:3662:5: ( ( ruleQualifiedName ) )
8265 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) 9312 // InternalSolverLanguageParser.g:3663:6: ( ruleQualifiedName )
8266 { 9313 {
8267 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) 9314 // InternalSolverLanguageParser.g:3663:6: ( ruleQualifiedName )
8268 // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName 9315 // InternalSolverLanguageParser.g:3664:7: ruleQualifiedName
8269 { 9316 {
8270 9317
8271 if (current==null) { 9318 if (current==null) {
8272 current = createModelElement(grammarAccess.getClassDefinitionRule()); 9319 current = createModelElement(grammarAccess.getClassDeclarationRule());
8273 } 9320 }
8274 9321
8275 9322
8276 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 9323 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_2_1_0());
8277 9324
8278 pushFollow(FOLLOW_48); 9325 pushFollow(FOLLOW_52);
8279 ruleQualifiedName(); 9326 ruleQualifiedName();
8280 9327
8281 state._fsp--; 9328 state._fsp--;
@@ -8294,7 +9341,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8294 break; 9341 break;
8295 9342
8296 default : 9343 default :
8297 break loop36; 9344 break loop40;
8298 } 9345 }
8299 } while (true); 9346 } while (true);
8300 9347
@@ -8304,63 +9351,105 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8304 9351
8305 } 9352 }
8306 9353
8307 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49); 9354 // InternalSolverLanguageParser.g:3680:3: ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP )
9355 int alt43=2;
9356 int LA43_0 = input.LA(1);
8308 9357
8309 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); 9358 if ( (LA43_0==LeftCurlyBracket) ) {
8310 9359 alt43=1;
8311 // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )* 9360 }
8312 loop38: 9361 else if ( (LA43_0==RULE_FULL_STOP) ) {
8313 do { 9362 alt43=2;
8314 int alt38=2; 9363 }
8315 int LA38_0 = input.LA(1); 9364 else {
9365 NoViableAltException nvae =
9366 new NoViableAltException("", 43, 0, input);
8316 9367
8317 if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { 9368 throw nvae;
8318 alt38=1; 9369 }
8319 } 9370 switch (alt43) {
9371 case 1 :
9372 // InternalSolverLanguageParser.g:3681:4: (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket )
9373 {
9374 // InternalSolverLanguageParser.g:3681:4: (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket )
9375 // InternalSolverLanguageParser.g:3682:5: otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket
9376 {
9377 otherlv_9=(Token)match(input,LeftCurlyBracket,FOLLOW_53);
8320 9378
9379 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
9380
9381 // InternalSolverLanguageParser.g:3686:5: ( (lv_fields_10_0= ruleField ) )*
9382 loop42:
9383 do {
9384 int alt42=2;
9385 int LA42_0 = input.LA(1);
8321 9386
8322 switch (alt38) { 9387 if ( (LA42_0==Contains||(LA42_0>=Object && LA42_0<=Refers)||LA42_0==RULE_QUOTED_ID||LA42_0==RULE_ID) ) {
8323 case 1 : 9388 alt42=1;
8324 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition ) 9389 }
8325 {
8326 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
8327 // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition
8328 {
8329 9390
8330 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
8331
8332 pushFollow(FOLLOW_49);
8333 lv_members_8_0=ruleMemberDefinition();
8334 9391
8335 state._fsp--; 9392 switch (alt42) {
9393 case 1 :
9394 // InternalSolverLanguageParser.g:3687:6: (lv_fields_10_0= ruleField )
9395 {
9396 // InternalSolverLanguageParser.g:3687:6: (lv_fields_10_0= ruleField )
9397 // InternalSolverLanguageParser.g:3688:7: lv_fields_10_0= ruleField
9398 {
8336 9399
9400 newCompositeNode(grammarAccess.getClassDeclarationAccess().getFieldsFieldParserRuleCall_4_0_1_0());
9401
9402 pushFollow(FOLLOW_53);
9403 lv_fields_10_0=ruleField();
8337 9404
8338 if (current==null) { 9405 state._fsp--;
8339 current = createModelElementForParent(grammarAccess.getClassDefinitionRule());
8340 }
8341 add(
8342 current,
8343 "members",
8344 lv_members_8_0,
8345 "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
8346 afterParserOrEnumRuleCall();
8347
8348 9406
8349 }
8350 9407
9408 if (current==null) {
9409 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
9410 }
9411 add(
9412 current,
9413 "fields",
9414 lv_fields_10_0,
9415 "org.eclipse.viatra.solver.language.SolverLanguage.Field");
9416 afterParserOrEnumRuleCall();
9417
8351 9418
8352 } 9419 }
8353 break;
8354 9420
8355 default :
8356 break loop38;
8357 }
8358 } while (true);
8359 9421
8360 otherlv_9=(Token)match(input,RightCurlyBracket,FOLLOW_2); 9422 }
9423 break;
9424
9425 default :
9426 break loop42;
9427 }
9428 } while (true);
9429
9430 otherlv_11=(Token)match(input,RightCurlyBracket,FOLLOW_2);
9431
9432 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
9433
9434
9435 }
9436
9437
9438 }
9439 break;
9440 case 2 :
9441 // InternalSolverLanguageParser.g:3711:4: this_FULL_STOP_12= RULE_FULL_STOP
9442 {
9443 this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
9444
9445 newLeafNode(this_FULL_STOP_12, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1());
9446
9447
9448 }
9449 break;
9450
9451 }
8361 9452
8362 newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
8363
8364 9453
8365 } 9454 }
8366 9455
@@ -8380,28 +9469,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8380 } 9469 }
8381 return current; 9470 return current;
8382 } 9471 }
8383 // $ANTLR end "ruleClassDefinition" 9472 // $ANTLR end "ruleClassDeclaration"
8384 9473
8385 9474
8386 // $ANTLR start "entryRuleMemberDefinition" 9475 // $ANTLR start "entryRuleField"
8387 // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; 9476 // InternalSolverLanguageParser.g:3720:1: entryRuleField returns [EObject current=null] : iv_ruleField= ruleField EOF ;
8388 public final EObject entryRuleMemberDefinition() throws RecognitionException { 9477 public final EObject entryRuleField() throws RecognitionException {
8389 EObject current = null; 9478 EObject current = null;
8390 9479
8391 EObject iv_ruleMemberDefinition = null; 9480 EObject iv_ruleField = null;
8392 9481
8393 9482
8394 try { 9483 try {
8395 // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) 9484 // InternalSolverLanguageParser.g:3720:46: (iv_ruleField= ruleField EOF )
8396 // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF 9485 // InternalSolverLanguageParser.g:3721:2: iv_ruleField= ruleField EOF
8397 { 9486 {
8398 newCompositeNode(grammarAccess.getMemberDefinitionRule()); 9487 newCompositeNode(grammarAccess.getFieldRule());
8399 pushFollow(FOLLOW_1); 9488 pushFollow(FOLLOW_1);
8400 iv_ruleMemberDefinition=ruleMemberDefinition(); 9489 iv_ruleField=ruleField();
8401 9490
8402 state._fsp--; 9491 state._fsp--;
8403 9492
8404 current =iv_ruleMemberDefinition; 9493 current =iv_ruleField;
8405 match(input,EOF,FOLLOW_2); 9494 match(input,EOF,FOLLOW_2);
8406 9495
8407 } 9496 }
@@ -8416,55 +9505,93 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8416 } 9505 }
8417 return current; 9506 return current;
8418 } 9507 }
8419 // $ANTLR end "entryRuleMemberDefinition" 9508 // $ANTLR end "entryRuleField"
8420 9509
8421 9510
8422 // $ANTLR start "ruleMemberDefinition" 9511 // $ANTLR start "ruleField"
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 )? ) ; 9512 // InternalSolverLanguageParser.g:3727:1: ruleField returns [EObject current=null] : ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? ) ;
8424 public final EObject ruleMemberDefinition() throws RecognitionException { 9513 public final EObject ruleField() throws RecognitionException {
8425 EObject current = null; 9514 EObject current = null;
8426 9515
8427 Token lv_containment_0_0=null; 9516 Token lv_containment_0_0=null;
8428 Token lv_name_3_0=null; 9517 Token lv_crossReference_1_0=null;
8429 Token otherlv_4=null; 9518 Token lv_name_4_0=null;
8430 Token otherlv_6=null; 9519 Token otherlv_5=null;
8431 EObject lv_multiplicity_2_0 = null; 9520 Token otherlv_7=null;
9521 EObject lv_multiplicity_3_0 = null;
8432 9522
8433 9523
8434 9524
8435 enterRule(); 9525 enterRule();
8436 9526
8437 try { 9527 try {
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 )? ) ) 9528 // InternalSolverLanguageParser.g:3733:2: ( ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= 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 )? ) 9529 // InternalSolverLanguageParser.g:3734:2: ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? )
8440 { 9530 {
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 )? ) 9531 // InternalSolverLanguageParser.g:3734:2: ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= 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 )? 9532 // InternalSolverLanguageParser.g:3735:3: ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )?
8443 { 9533 {
8444 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? 9534 // InternalSolverLanguageParser.g:3735:3: ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )?
8445 int alt39=2; 9535 int alt44=3;
8446 int LA39_0 = input.LA(1); 9536 int LA44_0 = input.LA(1);
8447 9537
8448 if ( (LA39_0==Contains) ) { 9538 if ( (LA44_0==Contains) ) {
8449 alt39=1; 9539 alt44=1;
8450 } 9540 }
8451 switch (alt39) { 9541 else if ( (LA44_0==Refers) ) {
9542 alt44=2;
9543 }
9544 switch (alt44) {
8452 case 1 : 9545 case 1 :
8453 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) 9546 // InternalSolverLanguageParser.g:3736:4: ( (lv_containment_0_0= Contains ) )
9547 {
9548 // InternalSolverLanguageParser.g:3736:4: ( (lv_containment_0_0= Contains ) )
9549 // InternalSolverLanguageParser.g:3737:5: (lv_containment_0_0= Contains )
8454 { 9550 {
8455 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) 9551 // InternalSolverLanguageParser.g:3737:5: (lv_containment_0_0= Contains )
8456 // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains 9552 // InternalSolverLanguageParser.g:3738:6: lv_containment_0_0= Contains
8457 { 9553 {
8458 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); 9554 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_3);
8459 9555
8460 newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); 9556 newLeafNode(lv_containment_0_0, grammarAccess.getFieldAccess().getContainmentContainsKeyword_0_0_0());
8461 9557
9558
9559 if (current==null) {
9560 current = createModelElement(grammarAccess.getFieldRule());
9561 }
9562 setWithLastConsumed(current, "containment", true, "contains");
9563
9564
9565 }
9566
9567
9568 }
9569
9570
9571 }
9572 break;
9573 case 2 :
9574 // InternalSolverLanguageParser.g:3751:4: ( (lv_crossReference_1_0= Refers ) )
9575 {
9576 // InternalSolverLanguageParser.g:3751:4: ( (lv_crossReference_1_0= Refers ) )
9577 // InternalSolverLanguageParser.g:3752:5: (lv_crossReference_1_0= Refers )
9578 {
9579 // InternalSolverLanguageParser.g:3752:5: (lv_crossReference_1_0= Refers )
9580 // InternalSolverLanguageParser.g:3753:6: lv_crossReference_1_0= Refers
9581 {
9582 lv_crossReference_1_0=(Token)match(input,Refers,FOLLOW_3);
9583
9584 newLeafNode(lv_crossReference_1_0, grammarAccess.getFieldAccess().getCrossReferenceRefersKeyword_0_1_0());
9585
9586
9587 if (current==null) {
9588 current = createModelElement(grammarAccess.getFieldRule());
9589 }
9590 setWithLastConsumed(current, "crossReference", true, "refers");
9591
9592
9593 }
8462 9594
8463 if (current==null) {
8464 current = createModelElement(grammarAccess.getMemberDefinitionRule());
8465 }
8466 setWithLastConsumed(current, "containment", true, "contains");
8467
8468 9595
8469 } 9596 }
8470 9597
@@ -8474,21 +9601,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8474 9601
8475 } 9602 }
8476 9603
8477 // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) ) 9604 // InternalSolverLanguageParser.g:3766:3: ( ( ruleQualifiedName ) )
8478 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) 9605 // InternalSolverLanguageParser.g:3767:4: ( ruleQualifiedName )
8479 { 9606 {
8480 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) 9607 // InternalSolverLanguageParser.g:3767:4: ( ruleQualifiedName )
8481 // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName 9608 // InternalSolverLanguageParser.g:3768:5: ruleQualifiedName
8482 { 9609 {
8483 9610
8484 if (current==null) { 9611 if (current==null) {
8485 current = createModelElement(grammarAccess.getMemberDefinitionRule()); 9612 current = createModelElement(grammarAccess.getFieldRule());
8486 } 9613 }
8487 9614
8488 9615
8489 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 9616 newCompositeNode(grammarAccess.getFieldAccess().getTypeSymbolCrossReference_1_0());
8490 9617
8491 pushFollow(FOLLOW_50); 9618 pushFollow(FOLLOW_54);
8492 ruleQualifiedName(); 9619 ruleQualifiedName();
8493 9620
8494 state._fsp--; 9621 state._fsp--;
@@ -8502,36 +9629,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8502 9629
8503 } 9630 }
8504 9631
8505 // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? 9632 // InternalSolverLanguageParser.g:3782:3: ( (lv_multiplicity_3_0= ruleMultiplicity ) )?
8506 int alt40=2; 9633 int alt45=2;
8507 int LA40_0 = input.LA(1); 9634 int LA45_0 = input.LA(1);
8508 9635
8509 if ( (LA40_0==LeftSquareBracket) ) { 9636 if ( (LA45_0==LeftSquareBracket) ) {
8510 alt40=1; 9637 alt45=1;
8511 } 9638 }
8512 switch (alt40) { 9639 switch (alt45) {
8513 case 1 : 9640 case 1 :
8514 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) 9641 // InternalSolverLanguageParser.g:3783:4: (lv_multiplicity_3_0= ruleMultiplicity )
8515 { 9642 {
8516 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) 9643 // InternalSolverLanguageParser.g:3783:4: (lv_multiplicity_3_0= ruleMultiplicity )
8517 // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity 9644 // InternalSolverLanguageParser.g:3784:5: lv_multiplicity_3_0= ruleMultiplicity
8518 { 9645 {
8519 9646
8520 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 9647 newCompositeNode(grammarAccess.getFieldAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
8521 9648
8522 pushFollow(FOLLOW_20); 9649 pushFollow(FOLLOW_28);
8523 lv_multiplicity_2_0=ruleMultiplicity(); 9650 lv_multiplicity_3_0=ruleMultiplicity();
8524 9651
8525 state._fsp--; 9652 state._fsp--;
8526 9653
8527 9654
8528 if (current==null) { 9655 if (current==null) {
8529 current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); 9656 current = createModelElementForParent(grammarAccess.getFieldRule());
8530 } 9657 }
8531 set( 9658 set(
8532 current, 9659 current,
8533 "multiplicity", 9660 "multiplicity",
8534 lv_multiplicity_2_0, 9661 lv_multiplicity_3_0,
8535 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); 9662 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
8536 afterParserOrEnumRuleCall(); 9663 afterParserOrEnumRuleCall();
8537 9664
@@ -8544,24 +9671,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8544 9671
8545 } 9672 }
8546 9673
8547 // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) ) 9674 // InternalSolverLanguageParser.g:3801:3: ( (lv_name_4_0= RULE_ID ) )
8548 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) 9675 // InternalSolverLanguageParser.g:3802:4: (lv_name_4_0= RULE_ID )
8549 { 9676 {
8550 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) 9677 // InternalSolverLanguageParser.g:3802:4: (lv_name_4_0= RULE_ID )
8551 // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID 9678 // InternalSolverLanguageParser.g:3803:5: lv_name_4_0= RULE_ID
8552 { 9679 {
8553 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51); 9680 lv_name_4_0=(Token)match(input,RULE_ID,FOLLOW_55);
8554 9681
8555 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 9682 newLeafNode(lv_name_4_0, grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0());
8556 9683
8557 9684
8558 if (current==null) { 9685 if (current==null) {
8559 current = createModelElement(grammarAccess.getMemberDefinitionRule()); 9686 current = createModelElement(grammarAccess.getFieldRule());
8560 } 9687 }
8561 setWithLastConsumed( 9688 setWithLastConsumed(
8562 current, 9689 current,
8563 "name", 9690 "name",
8564 lv_name_3_0, 9691 lv_name_4_0,
8565 "org.eclipse.xtext.common.Terminals.ID"); 9692 "org.eclipse.xtext.common.Terminals.ID");
8566 9693
8567 9694
@@ -8570,36 +9697,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8570 9697
8571 } 9698 }
8572 9699
8573 // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? 9700 // InternalSolverLanguageParser.g:3819:3: (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )?
8574 int alt41=2; 9701 int alt46=2;
8575 int LA41_0 = input.LA(1); 9702 int LA46_0 = input.LA(1);
8576 9703
8577 if ( (LA41_0==Opposite) ) { 9704 if ( (LA46_0==Opposite) ) {
8578 alt41=1; 9705 alt46=1;
8579 } 9706 }
8580 switch (alt41) { 9707 switch (alt46) {
8581 case 1 : 9708 case 1 :
8582 // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) 9709 // InternalSolverLanguageParser.g:3820:4: otherlv_5= Opposite ( ( ruleQualifiedName ) )
8583 { 9710 {
8584 otherlv_4=(Token)match(input,Opposite,FOLLOW_8); 9711 otherlv_5=(Token)match(input,Opposite,FOLLOW_3);
8585 9712
8586 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 9713 newLeafNode(otherlv_5, grammarAccess.getFieldAccess().getOppositeKeyword_4_0());
8587 9714
8588 // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) ) 9715 // InternalSolverLanguageParser.g:3824:4: ( ( ruleQualifiedName ) )
8589 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) 9716 // InternalSolverLanguageParser.g:3825:5: ( ruleQualifiedName )
8590 { 9717 {
8591 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) 9718 // InternalSolverLanguageParser.g:3825:5: ( ruleQualifiedName )
8592 // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName 9719 // InternalSolverLanguageParser.g:3826:6: ruleQualifiedName
8593 { 9720 {
8594 9721
8595 if (current==null) { 9722 if (current==null) {
8596 current = createModelElement(grammarAccess.getMemberDefinitionRule()); 9723 current = createModelElement(grammarAccess.getFieldRule());
8597 } 9724 }
8598 9725
8599 9726
8600 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 9727 newCompositeNode(grammarAccess.getFieldAccess().getOppositeSymbolCrossReference_4_1_0());
8601 9728
8602 pushFollow(FOLLOW_26); 9729 pushFollow(FOLLOW_31);
8603 ruleQualifiedName(); 9730 ruleQualifiedName();
8604 9731
8605 state._fsp--; 9732 state._fsp--;
@@ -8619,20 +9746,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8619 9746
8620 } 9747 }
8621 9748
8622 // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )? 9749 // InternalSolverLanguageParser.g:3841:3: (otherlv_7= Semicolon )?
8623 int alt42=2; 9750 int alt47=2;
8624 int LA42_0 = input.LA(1); 9751 int LA47_0 = input.LA(1);
8625 9752
8626 if ( (LA42_0==Semicolon) ) { 9753 if ( (LA47_0==Semicolon) ) {
8627 alt42=1; 9754 alt47=1;
8628 } 9755 }
8629 switch (alt42) { 9756 switch (alt47) {
8630 case 1 : 9757 case 1 :
8631 // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon 9758 // InternalSolverLanguageParser.g:3842:4: otherlv_7= Semicolon
8632 { 9759 {
8633 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); 9760 otherlv_7=(Token)match(input,Semicolon,FOLLOW_2);
8634 9761
8635 newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); 9762 newLeafNode(otherlv_7, grammarAccess.getFieldAccess().getSemicolonKeyword_5());
8636 9763
8637 9764
8638 } 9765 }
@@ -8659,11 +9786,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8659 } 9786 }
8660 return current; 9787 return current;
8661 } 9788 }
8662 // $ANTLR end "ruleMemberDefinition" 9789 // $ANTLR end "ruleField"
8663 9790
8664 9791
8665 // $ANTLR start "entryRuleMultiplicity" 9792 // $ANTLR start "entryRuleMultiplicity"
8666 // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 9793 // InternalSolverLanguageParser.g:3851:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
8667 public final EObject entryRuleMultiplicity() throws RecognitionException { 9794 public final EObject entryRuleMultiplicity() throws RecognitionException {
8668 EObject current = null; 9795 EObject current = null;
8669 9796
@@ -8671,8 +9798,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8671 9798
8672 9799
8673 try { 9800 try {
8674 // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 9801 // InternalSolverLanguageParser.g:3851:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
8675 // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF 9802 // InternalSolverLanguageParser.g:3852:2: iv_ruleMultiplicity= ruleMultiplicity EOF
8676 { 9803 {
8677 newCompositeNode(grammarAccess.getMultiplicityRule()); 9804 newCompositeNode(grammarAccess.getMultiplicityRule());
8678 pushFollow(FOLLOW_1); 9805 pushFollow(FOLLOW_1);
@@ -8699,11 +9826,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8699 9826
8700 9827
8701 // $ANTLR start "ruleMultiplicity" 9828 // $ANTLR start "ruleMultiplicity"
8702 // InternalSolverLanguageParser.g:3439:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; 9829 // InternalSolverLanguageParser.g:3858:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ;
8703 public final EObject ruleMultiplicity() throws RecognitionException { 9830 public final EObject ruleMultiplicity() throws RecognitionException {
8704 EObject current = null; 9831 EObject current = null;
8705 9832
8706 EObject this_ManyMultiplicity_0 = null; 9833 EObject this_UnboundedMultiplicity_0 = null;
8707 9834
8708 EObject this_ExactMultiplicity_1 = null; 9835 EObject this_ExactMultiplicity_1 = null;
8709 9836
@@ -8714,46 +9841,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8714 enterRule(); 9841 enterRule();
8715 9842
8716 try { 9843 try {
8717 // InternalSolverLanguageParser.g:3445:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) 9844 // InternalSolverLanguageParser.g:3864:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | 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 ) 9845 // InternalSolverLanguageParser.g:3865:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
8719 { 9846 {
8720 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 9847 // InternalSolverLanguageParser.g:3865:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
8721 int alt43=3; 9848 int alt48=3;
8722 int LA43_0 = input.LA(1); 9849 int LA48_0 = input.LA(1);
8723 9850
8724 if ( (LA43_0==LeftSquareBracket) ) { 9851 if ( (LA48_0==LeftSquareBracket) ) {
8725 switch ( input.LA(2) ) { 9852 switch ( input.LA(2) ) {
8726 case RULE_INT: 9853 case RULE_INT:
8727 { 9854 {
8728 int LA43_2 = input.LA(3); 9855 int LA48_2 = input.LA(3);
8729 9856
8730 if ( (LA43_2==FullStopFullStop) ) { 9857 if ( (LA48_2==RightSquareBracket) ) {
8731 alt43=3; 9858 alt48=2;
8732 } 9859 }
8733 else if ( (LA43_2==RightSquareBracket) ) { 9860 else if ( (LA48_2==Comma) ) {
8734 alt43=2; 9861 alt48=3;
8735 } 9862 }
8736 else { 9863 else {
8737 NoViableAltException nvae = 9864 NoViableAltException nvae =
8738 new NoViableAltException("", 43, 2, input); 9865 new NoViableAltException("", 48, 2, input);
8739 9866
8740 throw nvae; 9867 throw nvae;
8741 } 9868 }
8742 } 9869 }
8743 break; 9870 break;
8744 case Asterisk: 9871 case RightSquareBracket:
8745 { 9872 {
8746 alt43=2; 9873 alt48=1;
8747 } 9874 }
8748 break; 9875 break;
8749 case RightSquareBracket: 9876 case Asterisk:
8750 { 9877 {
8751 alt43=1; 9878 alt48=2;
8752 } 9879 }
8753 break; 9880 break;
8754 default: 9881 default:
8755 NoViableAltException nvae = 9882 NoViableAltException nvae =
8756 new NoViableAltException("", 43, 1, input); 9883 new NoViableAltException("", 48, 1, input);
8757 9884
8758 throw nvae; 9885 throw nvae;
8759 } 9886 }
@@ -8761,31 +9888,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8761 } 9888 }
8762 else { 9889 else {
8763 NoViableAltException nvae = 9890 NoViableAltException nvae =
8764 new NoViableAltException("", 43, 0, input); 9891 new NoViableAltException("", 48, 0, input);
8765 9892
8766 throw nvae; 9893 throw nvae;
8767 } 9894 }
8768 switch (alt43) { 9895 switch (alt48) {
8769 case 1 : 9896 case 1 :
8770 // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity 9897 // InternalSolverLanguageParser.g:3866:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
8771 { 9898 {
8772 9899
8773 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 9900 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
8774 9901
8775 pushFollow(FOLLOW_2); 9902 pushFollow(FOLLOW_2);
8776 this_ManyMultiplicity_0=ruleManyMultiplicity(); 9903 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity();
8777 9904
8778 state._fsp--; 9905 state._fsp--;
8779 9906
8780 9907
8781 current = this_ManyMultiplicity_0; 9908 current = this_UnboundedMultiplicity_0;
8782 afterParserOrEnumRuleCall(); 9909 afterParserOrEnumRuleCall();
8783 9910
8784 9911
8785 } 9912 }
8786 break; 9913 break;
8787 case 2 : 9914 case 2 :
8788 // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity 9915 // InternalSolverLanguageParser.g:3875:3: this_ExactMultiplicity_1= ruleExactMultiplicity
8789 { 9916 {
8790 9917
8791 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 9918 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -8803,7 +9930,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8803 } 9930 }
8804 break; 9931 break;
8805 case 3 : 9932 case 3 :
8806 // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity 9933 // InternalSolverLanguageParser.g:3884:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity
8807 { 9934 {
8808 9935
8809 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); 9936 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
@@ -8842,25 +9969,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8842 // $ANTLR end "ruleMultiplicity" 9969 // $ANTLR end "ruleMultiplicity"
8843 9970
8844 9971
8845 // $ANTLR start "entryRuleManyMultiplicity" 9972 // $ANTLR start "entryRuleUnboundedMultiplicity"
8846 // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; 9973 // InternalSolverLanguageParser.g:3896:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
8847 public final EObject entryRuleManyMultiplicity() throws RecognitionException { 9974 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
8848 EObject current = null; 9975 EObject current = null;
8849 9976
8850 EObject iv_ruleManyMultiplicity = null; 9977 EObject iv_ruleUnboundedMultiplicity = null;
8851 9978
8852 9979
8853 try { 9980 try {
8854 // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) 9981 // InternalSolverLanguageParser.g:3896:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
8855 // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF 9982 // InternalSolverLanguageParser.g:3897:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
8856 { 9983 {
8857 newCompositeNode(grammarAccess.getManyMultiplicityRule()); 9984 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
8858 pushFollow(FOLLOW_1); 9985 pushFollow(FOLLOW_1);
8859 iv_ruleManyMultiplicity=ruleManyMultiplicity(); 9986 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity();
8860 9987
8861 state._fsp--; 9988 state._fsp--;
8862 9989
8863 current =iv_ruleManyMultiplicity; 9990 current =iv_ruleUnboundedMultiplicity;
8864 match(input,EOF,FOLLOW_2); 9991 match(input,EOF,FOLLOW_2);
8865 9992
8866 } 9993 }
@@ -8875,12 +10002,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8875 } 10002 }
8876 return current; 10003 return current;
8877 } 10004 }
8878 // $ANTLR end "entryRuleManyMultiplicity" 10005 // $ANTLR end "entryRuleUnboundedMultiplicity"
8879 10006
8880 10007
8881 // $ANTLR start "ruleManyMultiplicity" 10008 // $ANTLR start "ruleUnboundedMultiplicity"
8882 // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; 10009 // InternalSolverLanguageParser.g:3903:1: ruleUnboundedMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ;
8883 public final EObject ruleManyMultiplicity() throws RecognitionException { 10010 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
8884 EObject current = null; 10011 EObject current = null;
8885 10012
8886 Token otherlv_1=null; 10013 Token otherlv_1=null;
@@ -8890,30 +10017,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8890 enterRule(); 10017 enterRule();
8891 10018
8892 try { 10019 try {
8893 // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) 10020 // InternalSolverLanguageParser.g:3909:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) )
8894 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 10021 // InternalSolverLanguageParser.g:3910:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
8895 { 10022 {
8896 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 10023 // InternalSolverLanguageParser.g:3910:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
8897 // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket 10024 // InternalSolverLanguageParser.g:3911:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket
8898 { 10025 {
8899 // InternalSolverLanguageParser.g:3492:3: () 10026 // InternalSolverLanguageParser.g:3911:3: ()
8900 // InternalSolverLanguageParser.g:3493:4: 10027 // InternalSolverLanguageParser.g:3912:4:
8901 { 10028 {
8902 10029
8903 current = forceCreateModelElement( 10030 current = forceCreateModelElement(
8904 grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), 10031 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction_0(),
8905 current); 10032 current);
8906 10033
8907 10034
8908 } 10035 }
8909 10036
8910 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45); 10037 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_49);
8911 10038
8912 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 10039 newLeafNode(otherlv_1, grammarAccess.getUnboundedMultiplicityAccess().getLeftSquareBracketKeyword_1());
8913 10040
8914 otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); 10041 otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2);
8915 10042
8916 newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); 10043 newLeafNode(otherlv_2, grammarAccess.getUnboundedMultiplicityAccess().getRightSquareBracketKeyword_2());
8917 10044
8918 10045
8919 } 10046 }
@@ -8934,11 +10061,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8934 } 10061 }
8935 return current; 10062 return current;
8936 } 10063 }
8937 // $ANTLR end "ruleManyMultiplicity" 10064 // $ANTLR end "ruleUnboundedMultiplicity"
8938 10065
8939 10066
8940 // $ANTLR start "entryRuleExactMultiplicity" 10067 // $ANTLR start "entryRuleExactMultiplicity"
8941 // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 10068 // InternalSolverLanguageParser.g:3930:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
8942 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 10069 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
8943 EObject current = null; 10070 EObject current = null;
8944 10071
@@ -8946,8 +10073,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8946 10073
8947 10074
8948 try { 10075 try {
8949 // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 10076 // InternalSolverLanguageParser.g:3930:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
8950 // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 10077 // InternalSolverLanguageParser.g:3931:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
8951 { 10078 {
8952 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 10079 newCompositeNode(grammarAccess.getExactMultiplicityRule());
8953 pushFollow(FOLLOW_1); 10080 pushFollow(FOLLOW_1);
@@ -8974,40 +10101,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8974 10101
8975 10102
8976 // $ANTLR start "ruleExactMultiplicity" 10103 // $ANTLR start "ruleExactMultiplicity"
8977 // InternalSolverLanguageParser.g:3518:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; 10104 // InternalSolverLanguageParser.g:3937:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ;
8978 public final EObject ruleExactMultiplicity() throws RecognitionException { 10105 public final EObject ruleExactMultiplicity() throws RecognitionException {
8979 EObject current = null; 10106 EObject current = null;
8980 10107
8981 Token otherlv_0=null; 10108 Token otherlv_0=null;
8982 Token otherlv_2=null; 10109 Token otherlv_2=null;
8983 AntlrDatatypeRuleToken lv_multiplicity_1_0 = null; 10110 AntlrDatatypeRuleToken lv_value_1_0 = null;
8984 10111
8985 10112
8986 10113
8987 enterRule(); 10114 enterRule();
8988 10115
8989 try { 10116 try {
8990 // InternalSolverLanguageParser.g:3524:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) 10117 // InternalSolverLanguageParser.g:3943:2: ( (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) )
8991 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 10118 // InternalSolverLanguageParser.g:3944:2: (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
8992 { 10119 {
8993 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 10120 // InternalSolverLanguageParser.g:3944:2: (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
8994 // InternalSolverLanguageParser.g:3526:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket 10121 // InternalSolverLanguageParser.g:3945:3: otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket
8995 { 10122 {
8996 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52); 10123 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_56);
8997 10124
8998 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); 10125 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
8999 10126
9000 // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) 10127 // InternalSolverLanguageParser.g:3949:3: ( (lv_value_1_0= ruleUpperMultiplicty ) )
9001 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 10128 // InternalSolverLanguageParser.g:3950:4: (lv_value_1_0= ruleUpperMultiplicty )
9002 { 10129 {
9003 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 10130 // InternalSolverLanguageParser.g:3950:4: (lv_value_1_0= ruleUpperMultiplicty )
9004 // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty 10131 // InternalSolverLanguageParser.g:3951:5: lv_value_1_0= ruleUpperMultiplicty
9005 { 10132 {
9006 10133
9007 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 10134 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0());
9008 10135
9009 pushFollow(FOLLOW_45); 10136 pushFollow(FOLLOW_49);
9010 lv_multiplicity_1_0=ruleUpperMultiplicty(); 10137 lv_value_1_0=ruleUpperMultiplicty();
9011 10138
9012 state._fsp--; 10139 state._fsp--;
9013 10140
@@ -9017,8 +10144,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9017 } 10144 }
9018 set( 10145 set(
9019 current, 10146 current,
9020 "multiplicity", 10147 "value",
9021 lv_multiplicity_1_0, 10148 lv_value_1_0,
9022 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); 10149 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
9023 afterParserOrEnumRuleCall(); 10150 afterParserOrEnumRuleCall();
9024 10151
@@ -9055,7 +10182,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9055 10182
9056 10183
9057 // $ANTLR start "entryRuleBoundedMultiplicity" 10184 // $ANTLR start "entryRuleBoundedMultiplicity"
9058 // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; 10185 // InternalSolverLanguageParser.g:3976:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ;
9059 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { 10186 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException {
9060 EObject current = null; 10187 EObject current = null;
9061 10188
@@ -9063,8 +10190,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9063 10190
9064 10191
9065 try { 10192 try {
9066 // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) 10193 // InternalSolverLanguageParser.g:3976:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF )
9067 // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF 10194 // InternalSolverLanguageParser.g:3977:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF
9068 { 10195 {
9069 newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); 10196 newCompositeNode(grammarAccess.getBoundedMultiplicityRule());
9070 pushFollow(FOLLOW_1); 10197 pushFollow(FOLLOW_1);
@@ -9091,7 +10218,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9091 10218
9092 10219
9093 // $ANTLR start "ruleBoundedMultiplicity" 10220 // $ANTLR start "ruleBoundedMultiplicity"
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 ) ; 10221 // InternalSolverLanguageParser.g:3983:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ;
9095 public final EObject ruleBoundedMultiplicity() throws RecognitionException { 10222 public final EObject ruleBoundedMultiplicity() throws RecognitionException {
9096 EObject current = null; 10223 EObject current = null;
9097 10224
@@ -9106,23 +10233,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9106 enterRule(); 10233 enterRule();
9107 10234
9108 try { 10235 try {
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 ) ) 10236 // InternalSolverLanguageParser.g:3989:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (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 ) 10237 // InternalSolverLanguageParser.g:3990:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
9111 { 10238 {
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 ) 10239 // InternalSolverLanguageParser.g:3990:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (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 10240 // InternalSolverLanguageParser.g:3991:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket
9114 { 10241 {
9115 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_53); 10242 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_57);
9116 10243
9117 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); 10244 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
9118 10245
9119 // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) ) 10246 // InternalSolverLanguageParser.g:3995:3: ( (lv_lowerBound_1_0= RULE_INT ) )
9120 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT ) 10247 // InternalSolverLanguageParser.g:3996:4: (lv_lowerBound_1_0= RULE_INT )
9121 { 10248 {
9122 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT ) 10249 // InternalSolverLanguageParser.g:3996:4: (lv_lowerBound_1_0= RULE_INT )
9123 // InternalSolverLanguageParser.g:3578:5: lv_lowerBound_1_0= RULE_INT 10250 // InternalSolverLanguageParser.g:3997:5: lv_lowerBound_1_0= RULE_INT
9124 { 10251 {
9125 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_44); 10252 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48);
9126 10253
9127 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); 10254 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
9128 10255
@@ -9142,20 +10269,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9142 10269
9143 } 10270 }
9144 10271
9145 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52); 10272 otherlv_2=(Token)match(input,Comma,FOLLOW_56);
9146 10273
9147 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 10274 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getCommaKeyword_2());
9148 10275
9149 // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) 10276 // InternalSolverLanguageParser.g:4017:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) )
9150 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 10277 // InternalSolverLanguageParser.g:4018:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
9151 { 10278 {
9152 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 10279 // InternalSolverLanguageParser.g:4018:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
9153 // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty 10280 // InternalSolverLanguageParser.g:4019:5: lv_upperBound_3_0= ruleUpperMultiplicty
9154 { 10281 {
9155 10282
9156 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); 10283 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
9157 10284
9158 pushFollow(FOLLOW_45); 10285 pushFollow(FOLLOW_49);
9159 lv_upperBound_3_0=ruleUpperMultiplicty(); 10286 lv_upperBound_3_0=ruleUpperMultiplicty();
9160 10287
9161 state._fsp--; 10288 state._fsp--;
@@ -9203,25 +10330,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9203 // $ANTLR end "ruleBoundedMultiplicity" 10330 // $ANTLR end "ruleBoundedMultiplicity"
9204 10331
9205 10332
9206 // $ANTLR start "entryRuleScopeDefinition" 10333 // $ANTLR start "entryRuleEnumDeclaration"
9207 // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; 10334 // InternalSolverLanguageParser.g:4044:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ;
9208 public final EObject entryRuleScopeDefinition() throws RecognitionException { 10335 public final EObject entryRuleEnumDeclaration() throws RecognitionException {
9209 EObject current = null; 10336 EObject current = null;
9210 10337
9211 EObject iv_ruleScopeDefinition = null; 10338 EObject iv_ruleEnumDeclaration = null;
9212 10339
9213 10340
9214 try { 10341 try {
9215 // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) 10342 // InternalSolverLanguageParser.g:4044:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF )
9216 // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF 10343 // InternalSolverLanguageParser.g:4045:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF
9217 { 10344 {
9218 newCompositeNode(grammarAccess.getScopeDefinitionRule()); 10345 newCompositeNode(grammarAccess.getEnumDeclarationRule());
9219 pushFollow(FOLLOW_1); 10346 pushFollow(FOLLOW_1);
9220 iv_ruleScopeDefinition=ruleScopeDefinition(); 10347 iv_ruleEnumDeclaration=ruleEnumDeclaration();
9221 10348
9222 state._fsp--; 10349 state._fsp--;
9223 10350
9224 current =iv_ruleScopeDefinition; 10351 current =iv_ruleEnumDeclaration;
9225 match(input,EOF,FOLLOW_2); 10352 match(input,EOF,FOLLOW_2);
9226 10353
9227 } 10354 }
@@ -9236,81 +10363,464 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9236 } 10363 }
9237 return current; 10364 return current;
9238 } 10365 }
9239 // $ANTLR end "entryRuleScopeDefinition" 10366 // $ANTLR end "entryRuleEnumDeclaration"
9240 10367
9241 10368
9242 // $ANTLR start "ruleScopeDefinition" 10369 // $ANTLR start "ruleEnumDeclaration"
9243 // InternalSolverLanguageParser.g:3632:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; 10370 // InternalSolverLanguageParser.g:4051:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) ;
9244 public final EObject ruleScopeDefinition() throws RecognitionException { 10371 public final EObject ruleEnumDeclaration() throws RecognitionException {
9245 EObject current = null; 10372 EObject current = null;
9246 10373
9247 EObject this_ExactScopeDefinition_0 = null; 10374 Token otherlv_0=null;
10375 Token lv_name_1_0=null;
10376 Token otherlv_2=null;
10377 Token otherlv_4=null;
10378 Token otherlv_6=null;
10379 Token this_FULL_STOP_7=null;
10380 EObject lv_literals_3_0 = null;
10381
10382 EObject lv_literals_5_0 = null;
10383
10384
10385
10386 enterRule();
10387
10388 try {
10389 // InternalSolverLanguageParser.g:4057:2: ( (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) )
10390 // InternalSolverLanguageParser.g:4058:2: (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) )
10391 {
10392 // InternalSolverLanguageParser.g:4058:2: (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) )
10393 // InternalSolverLanguageParser.g:4059:3: otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP )
10394 {
10395 otherlv_0=(Token)match(input,Enum,FOLLOW_28);
10396
10397 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
10398
10399 // InternalSolverLanguageParser.g:4063:3: ( (lv_name_1_0= RULE_ID ) )
10400 // InternalSolverLanguageParser.g:4064:4: (lv_name_1_0= RULE_ID )
10401 {
10402 // InternalSolverLanguageParser.g:4064:4: (lv_name_1_0= RULE_ID )
10403 // InternalSolverLanguageParser.g:4065:5: lv_name_1_0= RULE_ID
10404 {
10405 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_58);
10406
10407 newLeafNode(lv_name_1_0, grammarAccess.getEnumDeclarationAccess().getNameIDTerminalRuleCall_1_0());
10408
10409
10410 if (current==null) {
10411 current = createModelElement(grammarAccess.getEnumDeclarationRule());
10412 }
10413 setWithLastConsumed(
10414 current,
10415 "name",
10416 lv_name_1_0,
10417 "org.eclipse.xtext.common.Terminals.ID");
10418
10419
10420 }
10421
10422
10423 }
10424
10425 // InternalSolverLanguageParser.g:4081:3: ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP )
10426 int alt52=2;
10427 int LA52_0 = input.LA(1);
10428
10429 if ( (LA52_0==LeftCurlyBracket) ) {
10430 alt52=1;
10431 }
10432 else if ( (LA52_0==RULE_FULL_STOP) ) {
10433 alt52=2;
10434 }
10435 else {
10436 NoViableAltException nvae =
10437 new NoViableAltException("", 52, 0, input);
10438
10439 throw nvae;
10440 }
10441 switch (alt52) {
10442 case 1 :
10443 // InternalSolverLanguageParser.g:4082:4: (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket )
10444 {
10445 // InternalSolverLanguageParser.g:4082:4: (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket )
10446 // InternalSolverLanguageParser.g:4083:5: otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket
10447 {
10448 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_59);
10449
10450 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
10451
10452 // InternalSolverLanguageParser.g:4087:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )?
10453 int alt51=2;
10454 int LA51_0 = input.LA(1);
10455
10456 if ( (LA51_0==RULE_ID) ) {
10457 alt51=1;
10458 }
10459 switch (alt51) {
10460 case 1 :
10461 // InternalSolverLanguageParser.g:4088:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )*
10462 {
10463 // InternalSolverLanguageParser.g:4088:6: ( (lv_literals_3_0= ruleEnumLiteral ) )
10464 // InternalSolverLanguageParser.g:4089:7: (lv_literals_3_0= ruleEnumLiteral )
10465 {
10466 // InternalSolverLanguageParser.g:4089:7: (lv_literals_3_0= ruleEnumLiteral )
10467 // InternalSolverLanguageParser.g:4090:8: lv_literals_3_0= ruleEnumLiteral
10468 {
10469
10470 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
10471
10472 pushFollow(FOLLOW_60);
10473 lv_literals_3_0=ruleEnumLiteral();
9248 10474
9249 EObject this_BoundedScopeDefinition_1 = null; 10475 state._fsp--;
9250 10476
9251 EObject this_LowerBoundedScopeDefinition_2 = null; 10477
10478 if (current==null) {
10479 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
10480 }
10481 add(
10482 current,
10483 "literals",
10484 lv_literals_3_0,
10485 "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
10486 afterParserOrEnumRuleCall();
10487
10488
10489 }
10490
10491
10492 }
10493
10494 // InternalSolverLanguageParser.g:4107:6: ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )*
10495 loop50:
10496 do {
10497 int alt50=2;
10498 int LA50_0 = input.LA(1);
10499
10500 if ( (LA50_0==Comma||LA50_0==RULE_ID) ) {
10501 alt50=1;
10502 }
10503
10504
10505 switch (alt50) {
10506 case 1 :
10507 // InternalSolverLanguageParser.g:4108:7: (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) )
10508 {
10509 // InternalSolverLanguageParser.g:4108:7: (otherlv_4= Comma )?
10510 int alt49=2;
10511 int LA49_0 = input.LA(1);
10512
10513 if ( (LA49_0==Comma) ) {
10514 alt49=1;
10515 }
10516 switch (alt49) {
10517 case 1 :
10518 // InternalSolverLanguageParser.g:4109:8: otherlv_4= Comma
10519 {
10520 otherlv_4=(Token)match(input,Comma,FOLLOW_28);
10521
10522 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
10523
10524
10525 }
10526 break;
10527
10528 }
10529
10530 // InternalSolverLanguageParser.g:4114:7: ( (lv_literals_5_0= ruleEnumLiteral ) )
10531 // InternalSolverLanguageParser.g:4115:8: (lv_literals_5_0= ruleEnumLiteral )
10532 {
10533 // InternalSolverLanguageParser.g:4115:8: (lv_literals_5_0= ruleEnumLiteral )
10534 // InternalSolverLanguageParser.g:4116:9: lv_literals_5_0= ruleEnumLiteral
10535 {
10536
10537 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
10538
10539 pushFollow(FOLLOW_60);
10540 lv_literals_5_0=ruleEnumLiteral();
10541
10542 state._fsp--;
10543
10544
10545 if (current==null) {
10546 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
10547 }
10548 add(
10549 current,
10550 "literals",
10551 lv_literals_5_0,
10552 "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
10553 afterParserOrEnumRuleCall();
10554
10555
10556 }
9252 10557
9253 10558
10559 }
10560
10561
10562 }
10563 break;
10564
10565 default :
10566 break loop50;
10567 }
10568 } while (true);
10569
10570
10571 }
10572 break;
10573
10574 }
10575
10576 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
10577
10578 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
10579
10580
10581 }
10582
10583
10584 }
10585 break;
10586 case 2 :
10587 // InternalSolverLanguageParser.g:4141:4: this_FULL_STOP_7= RULE_FULL_STOP
10588 {
10589 this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
10590
10591 newLeafNode(this_FULL_STOP_7, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1());
10592
10593
10594 }
10595 break;
10596
10597 }
10598
10599
10600 }
10601
10602
10603 }
10604
10605
10606 leaveRule();
10607
10608 }
10609
10610 catch (RecognitionException re) {
10611 recover(input,re);
10612 appendSkippedTokens();
10613 }
10614 finally {
10615 }
10616 return current;
10617 }
10618 // $ANTLR end "ruleEnumDeclaration"
10619
10620
10621 // $ANTLR start "entryRuleEnumLiteral"
10622 // InternalSolverLanguageParser.g:4150:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ;
10623 public final EObject entryRuleEnumLiteral() throws RecognitionException {
10624 EObject current = null;
10625
10626 EObject iv_ruleEnumLiteral = null;
10627
10628
10629 try {
10630 // InternalSolverLanguageParser.g:4150:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF )
10631 // InternalSolverLanguageParser.g:4151:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF
10632 {
10633 newCompositeNode(grammarAccess.getEnumLiteralRule());
10634 pushFollow(FOLLOW_1);
10635 iv_ruleEnumLiteral=ruleEnumLiteral();
10636
10637 state._fsp--;
10638
10639 current =iv_ruleEnumLiteral;
10640 match(input,EOF,FOLLOW_2);
10641
10642 }
10643
10644 }
10645
10646 catch (RecognitionException re) {
10647 recover(input,re);
10648 appendSkippedTokens();
10649 }
10650 finally {
10651 }
10652 return current;
10653 }
10654 // $ANTLR end "entryRuleEnumLiteral"
10655
10656
10657 // $ANTLR start "ruleEnumLiteral"
10658 // InternalSolverLanguageParser.g:4157:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
10659 public final EObject ruleEnumLiteral() throws RecognitionException {
10660 EObject current = null;
10661
10662 Token lv_name_0_0=null;
10663
9254 10664
9255 enterRule(); 10665 enterRule();
9256 10666
9257 try { 10667 try {
9258 // InternalSolverLanguageParser.g:3638:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) 10668 // InternalSolverLanguageParser.g:4163:2: ( ( (lv_name_0_0= RULE_ID ) ) )
9259 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 10669 // InternalSolverLanguageParser.g:4164:2: ( (lv_name_0_0= RULE_ID ) )
9260 { 10670 {
9261 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 10671 // InternalSolverLanguageParser.g:4164:2: ( (lv_name_0_0= RULE_ID ) )
9262 int alt44=3; 10672 // InternalSolverLanguageParser.g:4165:3: (lv_name_0_0= RULE_ID )
9263 alt44 = dfa44.predict(input); 10673 {
9264 switch (alt44) { 10674 // InternalSolverLanguageParser.g:4165:3: (lv_name_0_0= RULE_ID )
10675 // InternalSolverLanguageParser.g:4166:4: lv_name_0_0= RULE_ID
10676 {
10677 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
10678
10679 newLeafNode(lv_name_0_0, grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0());
10680
10681
10682 if (current==null) {
10683 current = createModelElement(grammarAccess.getEnumLiteralRule());
10684 }
10685 setWithLastConsumed(
10686 current,
10687 "name",
10688 lv_name_0_0,
10689 "org.eclipse.xtext.common.Terminals.ID");
10690
10691
10692 }
10693
10694
10695 }
10696
10697
10698 }
10699
10700
10701 leaveRule();
10702
10703 }
10704
10705 catch (RecognitionException re) {
10706 recover(input,re);
10707 appendSkippedTokens();
10708 }
10709 finally {
10710 }
10711 return current;
10712 }
10713 // $ANTLR end "ruleEnumLiteral"
10714
10715
10716 // $ANTLR start "entryRuleScopeDeclaration"
10717 // InternalSolverLanguageParser.g:4185:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
10718 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
10719 EObject current = null;
10720
10721 EObject iv_ruleScopeDeclaration = null;
10722
10723
10724 try {
10725 // InternalSolverLanguageParser.g:4185:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
10726 // InternalSolverLanguageParser.g:4186:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
10727 {
10728 newCompositeNode(grammarAccess.getScopeDeclarationRule());
10729 pushFollow(FOLLOW_1);
10730 iv_ruleScopeDeclaration=ruleScopeDeclaration();
10731
10732 state._fsp--;
10733
10734 current =iv_ruleScopeDeclaration;
10735 match(input,EOF,FOLLOW_2);
10736
10737 }
10738
10739 }
10740
10741 catch (RecognitionException re) {
10742 recover(input,re);
10743 appendSkippedTokens();
10744 }
10745 finally {
10746 }
10747 return current;
10748 }
10749 // $ANTLR end "entryRuleScopeDeclaration"
10750
10751
10752 // $ANTLR start "ruleScopeDeclaration"
10753 // InternalSolverLanguageParser.g:4192:1: ruleScopeDeclaration returns [EObject current=null] : (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) ;
10754 public final EObject ruleScopeDeclaration() throws RecognitionException {
10755 EObject current = null;
10756
10757 EObject this_ExactScope_0 = null;
10758
10759 EObject this_BoundedScope_1 = null;
10760
10761 EObject this_LowerBoundedScope_2 = null;
10762
10763
10764
10765 enterRule();
10766
10767 try {
10768 // InternalSolverLanguageParser.g:4198:2: ( (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) )
10769 // InternalSolverLanguageParser.g:4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope )
10770 {
10771 // InternalSolverLanguageParser.g:4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope )
10772 int alt53=3;
10773 alt53 = dfa53.predict(input);
10774 switch (alt53) {
9265 case 1 : 10775 case 1 :
9266 // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition 10776 // InternalSolverLanguageParser.g:4200:3: this_ExactScope_0= ruleExactScope
9267 { 10777 {
9268 10778
9269 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 10779 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getExactScopeParserRuleCall_0());
9270 10780
9271 pushFollow(FOLLOW_2); 10781 pushFollow(FOLLOW_2);
9272 this_ExactScopeDefinition_0=ruleExactScopeDefinition(); 10782 this_ExactScope_0=ruleExactScope();
9273 10783
9274 state._fsp--; 10784 state._fsp--;
9275 10785
9276 10786
9277 current = this_ExactScopeDefinition_0; 10787 current = this_ExactScope_0;
9278 afterParserOrEnumRuleCall(); 10788 afterParserOrEnumRuleCall();
9279 10789
9280 10790
9281 } 10791 }
9282 break; 10792 break;
9283 case 2 : 10793 case 2 :
9284 // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition 10794 // InternalSolverLanguageParser.g:4209:3: this_BoundedScope_1= ruleBoundedScope
9285 { 10795 {
9286 10796
9287 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 10797 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getBoundedScopeParserRuleCall_1());
9288 10798
9289 pushFollow(FOLLOW_2); 10799 pushFollow(FOLLOW_2);
9290 this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition(); 10800 this_BoundedScope_1=ruleBoundedScope();
9291 10801
9292 state._fsp--; 10802 state._fsp--;
9293 10803
9294 10804
9295 current = this_BoundedScopeDefinition_1; 10805 current = this_BoundedScope_1;
9296 afterParserOrEnumRuleCall(); 10806 afterParserOrEnumRuleCall();
9297 10807
9298 10808
9299 } 10809 }
9300 break; 10810 break;
9301 case 3 : 10811 case 3 :
9302 // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition 10812 // InternalSolverLanguageParser.g:4218:3: this_LowerBoundedScope_2= ruleLowerBoundedScope
9303 { 10813 {
9304 10814
9305 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 10815 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getLowerBoundedScopeParserRuleCall_2());
9306 10816
9307 pushFollow(FOLLOW_2); 10817 pushFollow(FOLLOW_2);
9308 this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition(); 10818 this_LowerBoundedScope_2=ruleLowerBoundedScope();
9309 10819
9310 state._fsp--; 10820 state._fsp--;
9311 10821
9312 10822
9313 current = this_LowerBoundedScopeDefinition_2; 10823 current = this_LowerBoundedScope_2;
9314 afterParserOrEnumRuleCall(); 10824 afterParserOrEnumRuleCall();
9315 10825
9316 10826
@@ -9335,28 +10845,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9335 } 10845 }
9336 return current; 10846 return current;
9337 } 10847 }
9338 // $ANTLR end "ruleScopeDefinition" 10848 // $ANTLR end "ruleScopeDeclaration"
9339 10849
9340 10850
9341 // $ANTLR start "entryRuleExactScopeDefinition" 10851 // $ANTLR start "entryRuleExactScope"
9342 // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; 10852 // InternalSolverLanguageParser.g:4230:1: entryRuleExactScope returns [EObject current=null] : iv_ruleExactScope= ruleExactScope EOF ;
9343 public final EObject entryRuleExactScopeDefinition() throws RecognitionException { 10853 public final EObject entryRuleExactScope() throws RecognitionException {
9344 EObject current = null; 10854 EObject current = null;
9345 10855
9346 EObject iv_ruleExactScopeDefinition = null; 10856 EObject iv_ruleExactScope = null;
9347 10857
9348 10858
9349 try { 10859 try {
9350 // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) 10860 // InternalSolverLanguageParser.g:4230:51: (iv_ruleExactScope= ruleExactScope EOF )
9351 // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF 10861 // InternalSolverLanguageParser.g:4231:2: iv_ruleExactScope= ruleExactScope EOF
9352 { 10862 {
9353 newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); 10863 newCompositeNode(grammarAccess.getExactScopeRule());
9354 pushFollow(FOLLOW_1); 10864 pushFollow(FOLLOW_1);
9355 iv_ruleExactScopeDefinition=ruleExactScopeDefinition(); 10865 iv_ruleExactScope=ruleExactScope();
9356 10866
9357 state._fsp--; 10867 state._fsp--;
9358 10868
9359 current =iv_ruleExactScopeDefinition; 10869 current =iv_ruleExactScope;
9360 match(input,EOF,FOLLOW_2); 10870 match(input,EOF,FOLLOW_2);
9361 10871
9362 } 10872 }
@@ -9371,47 +10881,48 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9371 } 10881 }
9372 return current; 10882 return current;
9373 } 10883 }
9374 // $ANTLR end "entryRuleExactScopeDefinition" 10884 // $ANTLR end "entryRuleExactScope"
9375 10885
9376 10886
9377 // $ANTLR start "ruleExactScopeDefinition" 10887 // $ANTLR start "ruleExactScope"
9378 // InternalSolverLanguageParser.g:3677:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; 10888 // InternalSolverLanguageParser.g:4237:1: ruleExactScope returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ;
9379 public final EObject ruleExactScopeDefinition() throws RecognitionException { 10889 public final EObject ruleExactScope() throws RecognitionException {
9380 EObject current = null; 10890 EObject current = null;
9381 10891
9382 Token otherlv_0=null; 10892 Token otherlv_0=null;
9383 Token otherlv_2=null; 10893 Token otherlv_2=null;
9384 Token lv_exactScope_3_0=null; 10894 Token lv_size_3_0=null;
10895 Token this_FULL_STOP_4=null;
9385 10896
9386 10897
9387 enterRule(); 10898 enterRule();
9388 10899
9389 try { 10900 try {
9390 // InternalSolverLanguageParser.g:3683:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) 10901 // InternalSolverLanguageParser.g:4243:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) )
9391 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 10902 // InternalSolverLanguageParser.g:4244:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP )
9392 { 10903 {
9393 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 10904 // InternalSolverLanguageParser.g:4244:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP )
9394 // InternalSolverLanguageParser.g:3685:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) 10905 // InternalSolverLanguageParser.g:4245:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP
9395 { 10906 {
9396 otherlv_0=(Token)match(input,Scope,FOLLOW_8); 10907 otherlv_0=(Token)match(input,Scope,FOLLOW_3);
9397 10908
9398 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 10909 newLeafNode(otherlv_0, grammarAccess.getExactScopeAccess().getScopeKeyword_0());
9399 10910
9400 // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) ) 10911 // InternalSolverLanguageParser.g:4249:3: ( ( ruleQualifiedName ) )
9401 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) 10912 // InternalSolverLanguageParser.g:4250:4: ( ruleQualifiedName )
9402 { 10913 {
9403 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) 10914 // InternalSolverLanguageParser.g:4250:4: ( ruleQualifiedName )
9404 // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName 10915 // InternalSolverLanguageParser.g:4251:5: ruleQualifiedName
9405 { 10916 {
9406 10917
9407 if (current==null) { 10918 if (current==null) {
9408 current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); 10919 current = createModelElement(grammarAccess.getExactScopeRule());
9409 } 10920 }
9410 10921
9411 10922
9412 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 10923 newCompositeNode(grammarAccess.getExactScopeAccess().getTypeSymbolCrossReference_1_0());
9413 10924
9414 pushFollow(FOLLOW_54); 10925 pushFollow(FOLLOW_61);
9415 ruleQualifiedName(); 10926 ruleQualifiedName();
9416 10927
9417 state._fsp--; 10928 state._fsp--;
@@ -9425,28 +10936,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9425 10936
9426 } 10937 }
9427 10938
9428 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53); 10939 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_57);
9429 10940
9430 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 10941 newLeafNode(otherlv_2, grammarAccess.getExactScopeAccess().getEqualsSignEqualsSignKeyword_2());
9431 10942
9432 // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) ) 10943 // InternalSolverLanguageParser.g:4269:3: ( (lv_size_3_0= RULE_INT ) )
9433 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) 10944 // InternalSolverLanguageParser.g:4270:4: (lv_size_3_0= RULE_INT )
9434 { 10945 {
9435 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) 10946 // InternalSolverLanguageParser.g:4270:4: (lv_size_3_0= RULE_INT )
9436 // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT 10947 // InternalSolverLanguageParser.g:4271:5: lv_size_3_0= RULE_INT
9437 { 10948 {
9438 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); 10949 lv_size_3_0=(Token)match(input,RULE_INT,FOLLOW_4);
9439 10950
9440 newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); 10951 newLeafNode(lv_size_3_0, grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0());
9441 10952
9442 10953
9443 if (current==null) { 10954 if (current==null) {
9444 current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); 10955 current = createModelElement(grammarAccess.getExactScopeRule());
9445 } 10956 }
9446 setWithLastConsumed( 10957 setWithLastConsumed(
9447 current, 10958 current,
9448 "exactScope", 10959 "size",
9449 lv_exactScope_3_0, 10960 lv_size_3_0,
9450 "org.eclipse.xtext.common.Terminals.INT"); 10961 "org.eclipse.xtext.common.Terminals.INT");
9451 10962
9452 10963
@@ -9455,6 +10966,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9455 10966
9456 } 10967 }
9457 10968
10969 this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
10970
10971 newLeafNode(this_FULL_STOP_4, grammarAccess.getExactScopeAccess().getFULL_STOPTerminalRuleCall_4());
10972
9458 10973
9459 } 10974 }
9460 10975
@@ -9474,28 +10989,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9474 } 10989 }
9475 return current; 10990 return current;
9476 } 10991 }
9477 // $ANTLR end "ruleExactScopeDefinition" 10992 // $ANTLR end "ruleExactScope"
9478 10993
9479 10994
9480 // $ANTLR start "entryRuleBoundedScopeDefinition" 10995 // $ANTLR start "entryRuleBoundedScope"
9481 // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; 10996 // InternalSolverLanguageParser.g:4295:1: entryRuleBoundedScope returns [EObject current=null] : iv_ruleBoundedScope= ruleBoundedScope EOF ;
9482 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { 10997 public final EObject entryRuleBoundedScope() throws RecognitionException {
9483 EObject current = null; 10998 EObject current = null;
9484 10999
9485 EObject iv_ruleBoundedScopeDefinition = null; 11000 EObject iv_ruleBoundedScope = null;
9486 11001
9487 11002
9488 try { 11003 try {
9489 // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) 11004 // InternalSolverLanguageParser.g:4295:53: (iv_ruleBoundedScope= ruleBoundedScope EOF )
9490 // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF 11005 // InternalSolverLanguageParser.g:4296:2: iv_ruleBoundedScope= ruleBoundedScope EOF
9491 { 11006 {
9492 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); 11007 newCompositeNode(grammarAccess.getBoundedScopeRule());
9493 pushFollow(FOLLOW_1); 11008 pushFollow(FOLLOW_1);
9494 iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition(); 11009 iv_ruleBoundedScope=ruleBoundedScope();
9495 11010
9496 state._fsp--; 11011 state._fsp--;
9497 11012
9498 current =iv_ruleBoundedScopeDefinition; 11013 current =iv_ruleBoundedScope;
9499 match(input,EOF,FOLLOW_2); 11014 match(input,EOF,FOLLOW_2);
9500 11015
9501 } 11016 }
@@ -9510,12 +11025,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9510 } 11025 }
9511 return current; 11026 return current;
9512 } 11027 }
9513 // $ANTLR end "entryRuleBoundedScopeDefinition" 11028 // $ANTLR end "entryRuleBoundedScope"
9514 11029
9515 11030
9516 // $ANTLR start "ruleBoundedScopeDefinition" 11031 // $ANTLR start "ruleBoundedScope"
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 ) ) )? ) ) ) ; 11032 // InternalSolverLanguageParser.g:4302:1: ruleBoundedScope 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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) ;
9518 public final EObject ruleBoundedScopeDefinition() throws RecognitionException { 11033 public final EObject ruleBoundedScope() throws RecognitionException {
9519 EObject current = null; 11034 EObject current = null;
9520 11035
9521 Token otherlv_0=null; 11036 Token otherlv_0=null;
@@ -9527,81 +11042,82 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9527 Token otherlv_7=null; 11042 Token otherlv_7=null;
9528 Token otherlv_9=null; 11043 Token otherlv_9=null;
9529 Token lv_lowerBound_10_0=null; 11044 Token lv_lowerBound_10_0=null;
11045 Token this_FULL_STOP_11=null;
9530 11046
9531 11047
9532 enterRule(); 11048 enterRule();
9533 11049
9534 try { 11050 try {
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 ) ) )? ) ) ) ) 11051 // InternalSolverLanguageParser.g:4308: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) )
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 ) ) )? ) ) ) 11052 // InternalSolverLanguageParser.g:4309: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP )
9537 { 11053 {
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 ) ) )? ) ) ) 11054 // InternalSolverLanguageParser.g:4309: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP )
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 ) ) )? ) ) 11055 // InternalSolverLanguageParser.g:4310: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP
9540 { 11056 {
9541 otherlv_0=(Token)match(input,Scope,FOLLOW_55); 11057 otherlv_0=(Token)match(input,Scope,FOLLOW_62);
9542 11058
9543 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 11059 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeAccess().getScopeKeyword_0());
9544 11060
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 ) ) )? ) ) 11061 // InternalSolverLanguageParser.g:4314: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 ) ) )? ) )
9546 int alt47=2; 11062 int alt56=2;
9547 int LA47_0 = input.LA(1); 11063 int LA56_0 = input.LA(1);
9548 11064
9549 if ( (LA47_0==RULE_INT) ) { 11065 if ( (LA56_0==RULE_INT) ) {
9550 int LA47_1 = input.LA(2); 11066 int LA56_1 = input.LA(2);
9551 11067
9552 if ( (LA47_1==GreaterThanSignEqualsSign) ) { 11068 if ( (LA56_1==LessThanSignEqualsSign) ) {
9553 alt47=2; 11069 alt56=1;
9554 } 11070 }
9555 else if ( (LA47_1==LessThanSignEqualsSign) ) { 11071 else if ( (LA56_1==GreaterThanSignEqualsSign) ) {
9556 alt47=1; 11072 alt56=2;
9557 } 11073 }
9558 else { 11074 else {
9559 NoViableAltException nvae = 11075 NoViableAltException nvae =
9560 new NoViableAltException("", 47, 1, input); 11076 new NoViableAltException("", 56, 1, input);
9561 11077
9562 throw nvae; 11078 throw nvae;
9563 } 11079 }
9564 } 11080 }
9565 else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) { 11081 else if ( (LA56_0==Object||LA56_0==RULE_QUOTED_ID||LA56_0==RULE_ID) ) {
9566 alt47=1; 11082 alt56=1;
9567 } 11083 }
9568 else { 11084 else {
9569 NoViableAltException nvae = 11085 NoViableAltException nvae =
9570 new NoViableAltException("", 47, 0, input); 11086 new NoViableAltException("", 56, 0, input);
9571 11087
9572 throw nvae; 11088 throw nvae;
9573 } 11089 }
9574 switch (alt47) { 11090 switch (alt56) {
9575 case 1 : 11091 case 1 :
9576 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 11092 // InternalSolverLanguageParser.g:4315:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
9577 { 11093 {
9578 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 11094 // InternalSolverLanguageParser.g:4315:4: ( ( ( (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 ) ) 11095 // InternalSolverLanguageParser.g:4316:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) )
9580 { 11096 {
9581 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? 11097 // InternalSolverLanguageParser.g:4316:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )?
9582 int alt45=2; 11098 int alt54=2;
9583 int LA45_0 = input.LA(1); 11099 int LA54_0 = input.LA(1);
9584 11100
9585 if ( (LA45_0==RULE_INT) ) { 11101 if ( (LA54_0==RULE_INT) ) {
9586 alt45=1; 11102 alt54=1;
9587 } 11103 }
9588 switch (alt45) { 11104 switch (alt54) {
9589 case 1 : 11105 case 1 :
9590 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign 11106 // InternalSolverLanguageParser.g:4317:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign
9591 { 11107 {
9592 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) 11108 // InternalSolverLanguageParser.g:4317:6: ( (lv_lowerBound_1_0= RULE_INT ) )
9593 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT ) 11109 // InternalSolverLanguageParser.g:4318:7: (lv_lowerBound_1_0= RULE_INT )
9594 { 11110 {
9595 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT ) 11111 // InternalSolverLanguageParser.g:4318:7: (lv_lowerBound_1_0= RULE_INT )
9596 // InternalSolverLanguageParser.g:3755:8: lv_lowerBound_1_0= RULE_INT 11112 // InternalSolverLanguageParser.g:4319:8: lv_lowerBound_1_0= RULE_INT
9597 { 11113 {
9598 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); 11114 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_63);
9599 11115
9600 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 11116 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
9601 11117
9602 11118
9603 if (current==null) { 11119 if (current==null) {
9604 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11120 current = createModelElement(grammarAccess.getBoundedScopeRule());
9605 } 11121 }
9606 setWithLastConsumed( 11122 setWithLastConsumed(
9607 current, 11123 current,
@@ -9615,9 +11131,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9615 11131
9616 } 11132 }
9617 11133
9618 otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); 11134 otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_3);
9619 11135
9620 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); 11136 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
9621 11137
9622 11138
9623 } 11139 }
@@ -9625,21 +11141,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9625 11141
9626 } 11142 }
9627 11143
9628 // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) ) 11144 // InternalSolverLanguageParser.g:4340:5: ( ( ruleQualifiedName ) )
9629 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) 11145 // InternalSolverLanguageParser.g:4341:6: ( ruleQualifiedName )
9630 { 11146 {
9631 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) 11147 // InternalSolverLanguageParser.g:4341:6: ( ruleQualifiedName )
9632 // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName 11148 // InternalSolverLanguageParser.g:4342:7: ruleQualifiedName
9633 { 11149 {
9634 11150
9635 if (current==null) { 11151 if (current==null) {
9636 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11152 current = createModelElement(grammarAccess.getBoundedScopeRule());
9637 } 11153 }
9638 11154
9639 11155
9640 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 11156 newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_0_1_0());
9641 11157
9642 pushFollow(FOLLOW_56); 11158 pushFollow(FOLLOW_63);
9643 ruleQualifiedName(); 11159 ruleQualifiedName();
9644 11160
9645 state._fsp--; 11161 state._fsp--;
@@ -9653,23 +11169,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9653 11169
9654 } 11170 }
9655 11171
9656 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53); 11172 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_57);
9657 11173
9658 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 11174 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_2());
9659 11175
9660 // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) ) 11176 // InternalSolverLanguageParser.g:4360:5: ( (lv_upperBound_5_0= RULE_INT ) )
9661 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT ) 11177 // InternalSolverLanguageParser.g:4361:6: (lv_upperBound_5_0= RULE_INT )
9662 { 11178 {
9663 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT ) 11179 // InternalSolverLanguageParser.g:4361:6: (lv_upperBound_5_0= RULE_INT )
9664 // InternalSolverLanguageParser.g:3798:7: lv_upperBound_5_0= RULE_INT 11180 // InternalSolverLanguageParser.g:4362:7: lv_upperBound_5_0= RULE_INT
9665 { 11181 {
9666 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); 11182 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_4);
9667 11183
9668 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); 11184 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
9669 11185
9670 11186
9671 if (current==null) { 11187 if (current==null) {
9672 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11188 current = createModelElement(grammarAccess.getBoundedScopeRule());
9673 } 11189 }
9674 setWithLastConsumed( 11190 setWithLastConsumed(
9675 current, 11191 current,
@@ -9690,24 +11206,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9690 } 11206 }
9691 break; 11207 break;
9692 case 2 : 11208 case 2 :
9693 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 11209 // InternalSolverLanguageParser.g:4380:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
9694 { 11210 {
9695 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 11211 // InternalSolverLanguageParser.g:4380:4: ( ( (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 ) ) )? 11212 // InternalSolverLanguageParser.g:4381:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
9697 { 11213 {
9698 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) 11214 // InternalSolverLanguageParser.g:4381:5: ( (lv_upperBound_6_0= RULE_INT ) )
9699 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT ) 11215 // InternalSolverLanguageParser.g:4382:6: (lv_upperBound_6_0= RULE_INT )
9700 { 11216 {
9701 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT ) 11217 // InternalSolverLanguageParser.g:4382:6: (lv_upperBound_6_0= RULE_INT )
9702 // InternalSolverLanguageParser.g:3819:7: lv_upperBound_6_0= RULE_INT 11218 // InternalSolverLanguageParser.g:4383:7: lv_upperBound_6_0= RULE_INT
9703 { 11219 {
9704 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57); 11220 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_64);
9705 11221
9706 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 11222 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
9707 11223
9708 11224
9709 if (current==null) { 11225 if (current==null) {
9710 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11226 current = createModelElement(grammarAccess.getBoundedScopeRule());
9711 } 11227 }
9712 setWithLastConsumed( 11228 setWithLastConsumed(
9713 current, 11229 current,
@@ -9721,25 +11237,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9721 11237
9722 } 11238 }
9723 11239
9724 otherlv_7=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_8); 11240 otherlv_7=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_3);
9725 11241
9726 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 11242 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
9727 11243
9728 // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) ) 11244 // InternalSolverLanguageParser.g:4403:5: ( ( ruleQualifiedName ) )
9729 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) 11245 // InternalSolverLanguageParser.g:4404:6: ( ruleQualifiedName )
9730 { 11246 {
9731 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) 11247 // InternalSolverLanguageParser.g:4404:6: ( ruleQualifiedName )
9732 // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName 11248 // InternalSolverLanguageParser.g:4405:7: ruleQualifiedName
9733 { 11249 {
9734 11250
9735 if (current==null) { 11251 if (current==null) {
9736 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11252 current = createModelElement(grammarAccess.getBoundedScopeRule());
9737 } 11253 }
9738 11254
9739 11255
9740 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 11256 newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_1_2_0());
9741 11257
9742 pushFollow(FOLLOW_58); 11258 pushFollow(FOLLOW_65);
9743 ruleQualifiedName(); 11259 ruleQualifiedName();
9744 11260
9745 state._fsp--; 11261 state._fsp--;
@@ -9753,34 +11269,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9753 11269
9754 } 11270 }
9755 11271
9756 // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 11272 // InternalSolverLanguageParser.g:4419:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
9757 int alt46=2; 11273 int alt55=2;
9758 int LA46_0 = input.LA(1); 11274 int LA55_0 = input.LA(1);
9759 11275
9760 if ( (LA46_0==GreaterThanSignEqualsSign) ) { 11276 if ( (LA55_0==GreaterThanSignEqualsSign) ) {
9761 alt46=1; 11277 alt55=1;
9762 } 11278 }
9763 switch (alt46) { 11279 switch (alt55) {
9764 case 1 : 11280 case 1 :
9765 // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) 11281 // InternalSolverLanguageParser.g:4420:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) )
9766 { 11282 {
9767 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); 11283 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_57);
9768 11284
9769 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 11285 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
9770 11286
9771 // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) ) 11287 // InternalSolverLanguageParser.g:4424:6: ( (lv_lowerBound_10_0= RULE_INT ) )
9772 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT ) 11288 // InternalSolverLanguageParser.g:4425:7: (lv_lowerBound_10_0= RULE_INT )
9773 { 11289 {
9774 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT ) 11290 // InternalSolverLanguageParser.g:4425:7: (lv_lowerBound_10_0= RULE_INT )
9775 // InternalSolverLanguageParser.g:3862:8: lv_lowerBound_10_0= RULE_INT 11291 // InternalSolverLanguageParser.g:4426:8: lv_lowerBound_10_0= RULE_INT
9776 { 11292 {
9777 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); 11293 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_4);
9778 11294
9779 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); 11295 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
9780 11296
9781 11297
9782 if (current==null) { 11298 if (current==null) {
9783 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); 11299 current = createModelElement(grammarAccess.getBoundedScopeRule());
9784 } 11300 }
9785 setWithLastConsumed( 11301 setWithLastConsumed(
9786 current, 11302 current,
@@ -9809,6 +11325,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9809 11325
9810 } 11326 }
9811 11327
11328 this_FULL_STOP_11=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
11329
11330 newLeafNode(this_FULL_STOP_11, grammarAccess.getBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2());
11331
9812 11332
9813 } 11333 }
9814 11334
@@ -9828,28 +11348,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9828 } 11348 }
9829 return current; 11349 return current;
9830 } 11350 }
9831 // $ANTLR end "ruleBoundedScopeDefinition" 11351 // $ANTLR end "ruleBoundedScope"
9832 11352
9833 11353
9834 // $ANTLR start "entryRuleLowerBoundedScopeDefinition" 11354 // $ANTLR start "entryRuleLowerBoundedScope"
9835 // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; 11355 // InternalSolverLanguageParser.g:4453:1: entryRuleLowerBoundedScope returns [EObject current=null] : iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF ;
9836 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { 11356 public final EObject entryRuleLowerBoundedScope() throws RecognitionException {
9837 EObject current = null; 11357 EObject current = null;
9838 11358
9839 EObject iv_ruleLowerBoundedScopeDefinition = null; 11359 EObject iv_ruleLowerBoundedScope = null;
9840 11360
9841 11361
9842 try { 11362 try {
9843 // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) 11363 // InternalSolverLanguageParser.g:4453:58: (iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF )
9844 // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF 11364 // InternalSolverLanguageParser.g:4454:2: iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF
9845 { 11365 {
9846 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); 11366 newCompositeNode(grammarAccess.getLowerBoundedScopeRule());
9847 pushFollow(FOLLOW_1); 11367 pushFollow(FOLLOW_1);
9848 iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition(); 11368 iv_ruleLowerBoundedScope=ruleLowerBoundedScope();
9849 11369
9850 state._fsp--; 11370 state._fsp--;
9851 11371
9852 current =iv_ruleLowerBoundedScopeDefinition; 11372 current =iv_ruleLowerBoundedScope;
9853 match(input,EOF,FOLLOW_2); 11373 match(input,EOF,FOLLOW_2);
9854 11374
9855 } 11375 }
@@ -9864,12 +11384,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9864 } 11384 }
9865 return current; 11385 return current;
9866 } 11386 }
9867 // $ANTLR end "entryRuleLowerBoundedScopeDefinition" 11387 // $ANTLR end "entryRuleLowerBoundedScope"
9868 11388
9869 11389
9870 // $ANTLR start "ruleLowerBoundedScopeDefinition" 11390 // $ANTLR start "ruleLowerBoundedScope"
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 ) ) ) ) ) ; 11391 // InternalSolverLanguageParser.g:4460:1: ruleLowerBoundedScope 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 ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ;
9872 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { 11392 public final EObject ruleLowerBoundedScope() throws RecognitionException {
9873 EObject current = null; 11393 EObject current = null;
9874 11394
9875 Token otherlv_0=null; 11395 Token otherlv_0=null;
@@ -9877,57 +11397,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9877 Token otherlv_2=null; 11397 Token otherlv_2=null;
9878 Token otherlv_5=null; 11398 Token otherlv_5=null;
9879 Token lv_lowerBound_6_0=null; 11399 Token lv_lowerBound_6_0=null;
11400 Token this_FULL_STOP_7=null;
9880 11401
9881 11402
9882 enterRule(); 11403 enterRule();
9883 11404
9884 try { 11405 try {
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 ) ) ) ) ) ) 11406 // InternalSolverLanguageParser.g:4466:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) )
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 ) ) ) ) ) 11407 // InternalSolverLanguageParser.g:4467:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP )
9887 { 11408 {
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 ) ) ) ) ) 11409 // InternalSolverLanguageParser.g:4467:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP )
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 ) ) ) ) 11410 // InternalSolverLanguageParser.g:4468:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP
9890 { 11411 {
9891 otherlv_0=(Token)match(input,Scope,FOLLOW_55); 11412 otherlv_0=(Token)match(input,Scope,FOLLOW_62);
9892 11413
9893 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 11414 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeAccess().getScopeKeyword_0());
9894 11415
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 ) ) ) ) 11416 // InternalSolverLanguageParser.g:4472:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
9896 int alt48=2; 11417 int alt57=2;
9897 int LA48_0 = input.LA(1); 11418 int LA57_0 = input.LA(1);
9898 11419
9899 if ( (LA48_0==RULE_INT) ) { 11420 if ( (LA57_0==RULE_INT) ) {
9900 alt48=1; 11421 alt57=1;
9901 } 11422 }
9902 else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) { 11423 else if ( (LA57_0==Object||LA57_0==RULE_QUOTED_ID||LA57_0==RULE_ID) ) {
9903 alt48=2; 11424 alt57=2;
9904 } 11425 }
9905 else { 11426 else {
9906 NoViableAltException nvae = 11427 NoViableAltException nvae =
9907 new NoViableAltException("", 48, 0, input); 11428 new NoViableAltException("", 57, 0, input);
9908 11429
9909 throw nvae; 11430 throw nvae;
9910 } 11431 }
9911 switch (alt48) { 11432 switch (alt57) {
9912 case 1 : 11433 case 1 :
9913 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 11434 // InternalSolverLanguageParser.g:4473:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
9914 { 11435 {
9915 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 11436 // InternalSolverLanguageParser.g:4473:4: ( ( (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 ) ) 11437 // InternalSolverLanguageParser.g:4474:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) )
9917 { 11438 {
9918 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) 11439 // InternalSolverLanguageParser.g:4474:5: ( (lv_lowerBound_1_0= RULE_INT ) )
9919 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT ) 11440 // InternalSolverLanguageParser.g:4475:6: (lv_lowerBound_1_0= RULE_INT )
9920 { 11441 {
9921 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT ) 11442 // InternalSolverLanguageParser.g:4475:6: (lv_lowerBound_1_0= RULE_INT )
9922 // InternalSolverLanguageParser.g:3908:7: lv_lowerBound_1_0= RULE_INT 11443 // InternalSolverLanguageParser.g:4476:7: lv_lowerBound_1_0= RULE_INT
9923 { 11444 {
9924 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); 11445 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_63);
9925 11446
9926 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 11447 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
9927 11448
9928 11449
9929 if (current==null) { 11450 if (current==null) {
9930 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 11451 current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
9931 } 11452 }
9932 setWithLastConsumed( 11453 setWithLastConsumed(
9933 current, 11454 current,
@@ -9941,25 +11462,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9941 11462
9942 } 11463 }
9943 11464
9944 otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); 11465 otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_3);
9945 11466
9946 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 11467 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_1());
9947 11468
9948 // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) ) 11469 // InternalSolverLanguageParser.g:4496:5: ( ( ruleQualifiedName ) )
9949 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) 11470 // InternalSolverLanguageParser.g:4497:6: ( ruleQualifiedName )
9950 { 11471 {
9951 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) 11472 // InternalSolverLanguageParser.g:4497:6: ( ruleQualifiedName )
9952 // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName 11473 // InternalSolverLanguageParser.g:4498:7: ruleQualifiedName
9953 { 11474 {
9954 11475
9955 if (current==null) { 11476 if (current==null) {
9956 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 11477 current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
9957 } 11478 }
9958 11479
9959 11480
9960 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); 11481 newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_0_2_0());
9961 11482
9962 pushFollow(FOLLOW_2); 11483 pushFollow(FOLLOW_4);
9963 ruleQualifiedName(); 11484 ruleQualifiedName();
9964 11485
9965 state._fsp--; 11486 state._fsp--;
@@ -9980,26 +11501,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9980 } 11501 }
9981 break; 11502 break;
9982 case 2 : 11503 case 2 :
9983 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 11504 // InternalSolverLanguageParser.g:4514:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
9984 { 11505 {
9985 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 11506 // InternalSolverLanguageParser.g:4514:4: ( ( ( 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 ) ) 11507 // InternalSolverLanguageParser.g:4515:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) )
9987 { 11508 {
9988 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) 11509 // InternalSolverLanguageParser.g:4515:5: ( ( ruleQualifiedName ) )
9989 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) 11510 // InternalSolverLanguageParser.g:4516:6: ( ruleQualifiedName )
9990 { 11511 {
9991 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) 11512 // InternalSolverLanguageParser.g:4516:6: ( ruleQualifiedName )
9992 // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName 11513 // InternalSolverLanguageParser.g:4517:7: ruleQualifiedName
9993 { 11514 {
9994 11515
9995 if (current==null) { 11516 if (current==null) {
9996 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 11517 current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
9997 } 11518 }
9998 11519
9999 11520
10000 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 11521 newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_1_0_0());
10001 11522
10002 pushFollow(FOLLOW_57); 11523 pushFollow(FOLLOW_64);
10003 ruleQualifiedName(); 11524 ruleQualifiedName();
10004 11525
10005 state._fsp--; 11526 state._fsp--;
@@ -10013,23 +11534,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10013 11534
10014 } 11535 }
10015 11536
10016 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); 11537 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_57);
10017 11538
10018 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 11539 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
10019 11540
10020 // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) ) 11541 // InternalSolverLanguageParser.g:4535:5: ( (lv_lowerBound_6_0= RULE_INT ) )
10021 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT ) 11542 // InternalSolverLanguageParser.g:4536:6: (lv_lowerBound_6_0= RULE_INT )
10022 { 11543 {
10023 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT ) 11544 // InternalSolverLanguageParser.g:4536:6: (lv_lowerBound_6_0= RULE_INT )
10024 // InternalSolverLanguageParser.g:3969:7: lv_lowerBound_6_0= RULE_INT 11545 // InternalSolverLanguageParser.g:4537:7: lv_lowerBound_6_0= RULE_INT
10025 { 11546 {
10026 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); 11547 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_4);
10027 11548
10028 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); 11549 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
10029 11550
10030 11551
10031 if (current==null) { 11552 if (current==null) {
10032 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); 11553 current = createModelElement(grammarAccess.getLowerBoundedScopeRule());
10033 } 11554 }
10034 setWithLastConsumed( 11555 setWithLastConsumed(
10035 current, 11556 current,
@@ -10052,6 +11573,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10052 11573
10053 } 11574 }
10054 11575
11576 this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
11577
11578 newLeafNode(this_FULL_STOP_7, grammarAccess.getLowerBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2());
11579
10055 11580
10056 } 11581 }
10057 11582
@@ -10071,28 +11596,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10071 } 11596 }
10072 return current; 11597 return current;
10073 } 11598 }
10074 // $ANTLR end "ruleLowerBoundedScopeDefinition" 11599 // $ANTLR end "ruleLowerBoundedScope"
10075 11600
10076 11601
10077 // $ANTLR start "entryRuleObjectiveDefinition" 11602 // $ANTLR start "entryRuleObjectiveDeclaration"
10078 // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; 11603 // InternalSolverLanguageParser.g:4563:1: entryRuleObjectiveDeclaration returns [EObject current=null] : iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF ;
10079 public final EObject entryRuleObjectiveDefinition() throws RecognitionException { 11604 public final EObject entryRuleObjectiveDeclaration() throws RecognitionException {
10080 EObject current = null; 11605 EObject current = null;
10081 11606
10082 EObject iv_ruleObjectiveDefinition = null; 11607 EObject iv_ruleObjectiveDeclaration = null;
10083 11608
10084 11609
10085 try { 11610 try {
10086 // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) 11611 // InternalSolverLanguageParser.g:4563:61: (iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF )
10087 // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF 11612 // InternalSolverLanguageParser.g:4564:2: iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF
10088 { 11613 {
10089 newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); 11614 newCompositeNode(grammarAccess.getObjectiveDeclarationRule());
10090 pushFollow(FOLLOW_1); 11615 pushFollow(FOLLOW_1);
10091 iv_ruleObjectiveDefinition=ruleObjectiveDefinition(); 11616 iv_ruleObjectiveDeclaration=ruleObjectiveDeclaration();
10092 11617
10093 state._fsp--; 11618 state._fsp--;
10094 11619
10095 current =iv_ruleObjectiveDefinition; 11620 current =iv_ruleObjectiveDeclaration;
10096 match(input,EOF,FOLLOW_2); 11621 match(input,EOF,FOLLOW_2);
10097 11622
10098 } 11623 }
@@ -10107,14 +11632,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10107 } 11632 }
10108 return current; 11633 return current;
10109 } 11634 }
10110 // $ANTLR end "entryRuleObjectiveDefinition" 11635 // $ANTLR end "entryRuleObjectiveDeclaration"
10111 11636
10112 11637
10113 // $ANTLR start "ruleObjectiveDefinition" 11638 // $ANTLR start "ruleObjectiveDeclaration"
10114 // InternalSolverLanguageParser.g:3998:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; 11639 // InternalSolverLanguageParser.g:4570:1: ruleObjectiveDeclaration returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ;
10115 public final EObject ruleObjectiveDefinition() throws RecognitionException { 11640 public final EObject ruleObjectiveDeclaration() throws RecognitionException {
10116 EObject current = null; 11641 EObject current = null;
10117 11642
11643 Token this_FULL_STOP_2=null;
10118 Enumerator lv_kind_0_0 = null; 11644 Enumerator lv_kind_0_0 = null;
10119 11645
10120 EObject lv_objective_1_0 = null; 11646 EObject lv_objective_1_0 = null;
@@ -10124,29 +11650,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10124 enterRule(); 11650 enterRule();
10125 11651
10126 try { 11652 try {
10127 // InternalSolverLanguageParser.g:4004:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) 11653 // InternalSolverLanguageParser.g:4576:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) )
10128 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 11654 // InternalSolverLanguageParser.g:4577:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP )
10129 { 11655 {
10130 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 11656 // InternalSolverLanguageParser.g:4577:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP )
10131 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) 11657 // InternalSolverLanguageParser.g:4578:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP
10132 { 11658 {
10133 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) 11659 // InternalSolverLanguageParser.g:4578:3: ( (lv_kind_0_0= ruleObjectiveKind ) )
10134 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) 11660 // InternalSolverLanguageParser.g:4579:4: (lv_kind_0_0= ruleObjectiveKind )
10135 { 11661 {
10136 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) 11662 // InternalSolverLanguageParser.g:4579:4: (lv_kind_0_0= ruleObjectiveKind )
10137 // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind 11663 // InternalSolverLanguageParser.g:4580:5: lv_kind_0_0= ruleObjectiveKind
10138 { 11664 {
10139 11665
10140 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 11666 newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0());
10141 11667
10142 pushFollow(FOLLOW_6); 11668 pushFollow(FOLLOW_10);
10143 lv_kind_0_0=ruleObjectiveKind(); 11669 lv_kind_0_0=ruleObjectiveKind();
10144 11670
10145 state._fsp--; 11671 state._fsp--;
10146 11672
10147 11673
10148 if (current==null) { 11674 if (current==null) {
10149 current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); 11675 current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule());
10150 } 11676 }
10151 set( 11677 set(
10152 current, 11678 current,
@@ -10161,23 +11687,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10161 11687
10162 } 11688 }
10163 11689
10164 // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) ) 11690 // InternalSolverLanguageParser.g:4597:3: ( (lv_objective_1_0= ruleExpression ) )
10165 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) 11691 // InternalSolverLanguageParser.g:4598:4: (lv_objective_1_0= ruleExpression )
10166 { 11692 {
10167 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) 11693 // InternalSolverLanguageParser.g:4598:4: (lv_objective_1_0= ruleExpression )
10168 // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression 11694 // InternalSolverLanguageParser.g:4599:5: lv_objective_1_0= ruleExpression
10169 { 11695 {
10170 11696
10171 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 11697 newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0());
10172 11698
10173 pushFollow(FOLLOW_2); 11699 pushFollow(FOLLOW_4);
10174 lv_objective_1_0=ruleExpression(); 11700 lv_objective_1_0=ruleExpression();
10175 11701
10176 state._fsp--; 11702 state._fsp--;
10177 11703
10178 11704
10179 if (current==null) { 11705 if (current==null) {
10180 current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); 11706 current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule());
10181 } 11707 }
10182 set( 11708 set(
10183 current, 11709 current,
@@ -10192,6 +11718,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10192 11718
10193 } 11719 }
10194 11720
11721 this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
11722
11723 newLeafNode(this_FULL_STOP_2, grammarAccess.getObjectiveDeclarationAccess().getFULL_STOPTerminalRuleCall_2());
11724
10195 11725
10196 } 11726 }
10197 11727
@@ -10211,11 +11741,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10211 } 11741 }
10212 return current; 11742 return current;
10213 } 11743 }
10214 // $ANTLR end "ruleObjectiveDefinition" 11744 // $ANTLR end "ruleObjectiveDeclaration"
10215 11745
10216 11746
10217 // $ANTLR start "entryRuleUpperMultiplicty" 11747 // $ANTLR start "entryRuleUpperMultiplicty"
10218 // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; 11748 // InternalSolverLanguageParser.g:4624:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ;
10219 public final String entryRuleUpperMultiplicty() throws RecognitionException { 11749 public final String entryRuleUpperMultiplicty() throws RecognitionException {
10220 String current = null; 11750 String current = null;
10221 11751
@@ -10223,8 +11753,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10223 11753
10224 11754
10225 try { 11755 try {
10226 // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) 11756 // InternalSolverLanguageParser.g:4624:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF )
10227 // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF 11757 // InternalSolverLanguageParser.g:4625:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF
10228 { 11758 {
10229 newCompositeNode(grammarAccess.getUpperMultiplictyRule()); 11759 newCompositeNode(grammarAccess.getUpperMultiplictyRule());
10230 pushFollow(FOLLOW_1); 11760 pushFollow(FOLLOW_1);
@@ -10251,7 +11781,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10251 11781
10252 11782
10253 // $ANTLR start "ruleUpperMultiplicty" 11783 // $ANTLR start "ruleUpperMultiplicty"
10254 // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; 11784 // InternalSolverLanguageParser.g:4631:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ;
10255 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { 11785 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException {
10256 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 11786 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
10257 11787
@@ -10262,28 +11792,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10262 enterRule(); 11792 enterRule();
10263 11793
10264 try { 11794 try {
10265 // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) 11795 // InternalSolverLanguageParser.g:4637:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) )
10266 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) 11796 // InternalSolverLanguageParser.g:4638:2: (this_INT_0= RULE_INT | kw= Asterisk )
10267 { 11797 {
10268 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) 11798 // InternalSolverLanguageParser.g:4638:2: (this_INT_0= RULE_INT | kw= Asterisk )
10269 int alt49=2; 11799 int alt58=2;
10270 int LA49_0 = input.LA(1); 11800 int LA58_0 = input.LA(1);
10271 11801
10272 if ( (LA49_0==RULE_INT) ) { 11802 if ( (LA58_0==RULE_INT) ) {
10273 alt49=1; 11803 alt58=1;
10274 } 11804 }
10275 else if ( (LA49_0==Asterisk) ) { 11805 else if ( (LA58_0==Asterisk) ) {
10276 alt49=2; 11806 alt58=2;
10277 } 11807 }
10278 else { 11808 else {
10279 NoViableAltException nvae = 11809 NoViableAltException nvae =
10280 new NoViableAltException("", 49, 0, input); 11810 new NoViableAltException("", 58, 0, input);
10281 11811
10282 throw nvae; 11812 throw nvae;
10283 } 11813 }
10284 switch (alt49) { 11814 switch (alt58) {
10285 case 1 : 11815 case 1 :
10286 // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT 11816 // InternalSolverLanguageParser.g:4639:3: this_INT_0= RULE_INT
10287 { 11817 {
10288 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 11818 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
10289 11819
@@ -10296,7 +11826,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10296 } 11826 }
10297 break; 11827 break;
10298 case 2 : 11828 case 2 :
10299 // InternalSolverLanguageParser.g:4071:3: kw= Asterisk 11829 // InternalSolverLanguageParser.g:4647:3: kw= Asterisk
10300 { 11830 {
10301 kw=(Token)match(input,Asterisk,FOLLOW_2); 11831 kw=(Token)match(input,Asterisk,FOLLOW_2);
10302 11832
@@ -10329,7 +11859,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10329 11859
10330 11860
10331 // $ANTLR start "entryRuleReal" 11861 // $ANTLR start "entryRuleReal"
10332 // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; 11862 // InternalSolverLanguageParser.g:4656:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
10333 public final String entryRuleReal() throws RecognitionException { 11863 public final String entryRuleReal() throws RecognitionException {
10334 String current = null; 11864 String current = null;
10335 11865
@@ -10340,8 +11870,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10340 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 11870 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
10341 11871
10342 try { 11872 try {
10343 // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF ) 11873 // InternalSolverLanguageParser.g:4658:2: (iv_ruleReal= ruleReal EOF )
10344 // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF 11874 // InternalSolverLanguageParser.g:4659:2: iv_ruleReal= ruleReal EOF
10345 { 11875 {
10346 newCompositeNode(grammarAccess.getRealRule()); 11876 newCompositeNode(grammarAccess.getRealRule());
10347 pushFollow(FOLLOW_1); 11877 pushFollow(FOLLOW_1);
@@ -10371,7 +11901,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10371 11901
10372 11902
10373 // $ANTLR start "ruleReal" 11903 // $ANTLR start "ruleReal"
10374 // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; 11904 // InternalSolverLanguageParser.g:4668:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT ) ;
10375 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { 11905 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
10376 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 11906 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
10377 11907
@@ -10384,48 +11914,171 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10384 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 11914 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
10385 11915
10386 try { 11916 try {
10387 // InternalSolverLanguageParser.g:4099:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) 11917 // InternalSolverLanguageParser.g:4675: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 )? ) 11918 // InternalSolverLanguageParser.g:4676:2: (this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT )
10389 { 11919 {
10390 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 11920 // InternalSolverLanguageParser.g:4676:2: (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 )? 11921 // InternalSolverLanguageParser.g:4677:3: this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT
10392 { 11922 {
10393 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59); 11923 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_66);
10394 11924
10395 current.merge(this_INT_0); 11925 current.merge(this_INT_0);
10396 11926
10397 11927
10398 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 11928 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
10399 11929
10400 // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )? 11930 kw=(Token)match(input,FullStop,FOLLOW_57);
10401 int alt50=2; 11931
10402 int LA50_0 = input.LA(1); 11932 current.merge(kw);
11933 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1());
11934
11935 this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2);
11936
11937 current.merge(this_INT_2);
11938
11939
11940 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_2());
11941
11942
11943 }
11944
10403 11945
10404 if ( (LA50_0==FullStop) ) {
10405 alt50=1;
10406 } 11946 }
10407 switch (alt50) { 11947
11948
11949 leaveRule();
11950
11951 }
11952
11953 catch (RecognitionException re) {
11954 recover(input,re);
11955 appendSkippedTokens();
11956 }
11957 finally {
11958
11959 myHiddenTokenState.restore();
11960
11961 }
11962 return current;
11963 }
11964 // $ANTLR end "ruleReal"
11965
11966
11967 // $ANTLR start "entryRuleQualifiedNameSegment"
11968 // InternalSolverLanguageParser.g:4703:1: entryRuleQualifiedNameSegment returns [String current=null] : iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF ;
11969 public final String entryRuleQualifiedNameSegment() throws RecognitionException {
11970 String current = null;
11971
11972 AntlrDatatypeRuleToken iv_ruleQualifiedNameSegment = null;
11973
11974
11975 try {
11976 // InternalSolverLanguageParser.g:4703:60: (iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF )
11977 // InternalSolverLanguageParser.g:4704:2: iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF
11978 {
11979 newCompositeNode(grammarAccess.getQualifiedNameSegmentRule());
11980 pushFollow(FOLLOW_1);
11981 iv_ruleQualifiedNameSegment=ruleQualifiedNameSegment();
11982
11983 state._fsp--;
11984
11985 current =iv_ruleQualifiedNameSegment.getText();
11986 match(input,EOF,FOLLOW_2);
11987
11988 }
11989
11990 }
11991
11992 catch (RecognitionException re) {
11993 recover(input,re);
11994 appendSkippedTokens();
11995 }
11996 finally {
11997 }
11998 return current;
11999 }
12000 // $ANTLR end "entryRuleQualifiedNameSegment"
12001
12002
12003 // $ANTLR start "ruleQualifiedNameSegment"
12004 // InternalSolverLanguageParser.g:4710:1: ruleQualifiedNameSegment returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) ;
12005 public final AntlrDatatypeRuleToken ruleQualifiedNameSegment() throws RecognitionException {
12006 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
12007
12008 Token this_ID_0=null;
12009 Token this_QUOTED_ID_1=null;
12010 Token kw=null;
12011
12012
12013 enterRule();
12014
12015 try {
12016 // InternalSolverLanguageParser.g:4716:2: ( (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) )
12017 // InternalSolverLanguageParser.g:4717:2: (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object )
12018 {
12019 // InternalSolverLanguageParser.g:4717:2: (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object )
12020 int alt59=3;
12021 switch ( input.LA(1) ) {
12022 case RULE_ID:
12023 {
12024 alt59=1;
12025 }
12026 break;
12027 case RULE_QUOTED_ID:
12028 {
12029 alt59=2;
12030 }
12031 break;
12032 case Object:
12033 {
12034 alt59=3;
12035 }
12036 break;
12037 default:
12038 NoViableAltException nvae =
12039 new NoViableAltException("", 59, 0, input);
12040
12041 throw nvae;
12042 }
12043
12044 switch (alt59) {
10408 case 1 : 12045 case 1 :
10409 // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT 12046 // InternalSolverLanguageParser.g:4718:3: this_ID_0= RULE_ID
10410 { 12047 {
10411 kw=(Token)match(input,FullStop,FOLLOW_53); 12048 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2);
10412 12049
10413 current.merge(kw); 12050 current.merge(this_ID_0);
10414 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 12051
10415
10416 this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2);
10417 12052
10418 current.merge(this_INT_2); 12053 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameSegmentAccess().getIDTerminalRuleCall_0());
10419 12054
10420 12055
10421 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); 12056 }
10422 12057 break;
12058 case 2 :
12059 // InternalSolverLanguageParser.g:4726:3: this_QUOTED_ID_1= RULE_QUOTED_ID
12060 {
12061 this_QUOTED_ID_1=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
12062
12063 current.merge(this_QUOTED_ID_1);
12064
12065
12066 newLeafNode(this_QUOTED_ID_1, grammarAccess.getQualifiedNameSegmentAccess().getQUOTED_IDTerminalRuleCall_1());
12067
10423 12068
10424 } 12069 }
10425 break; 12070 break;
12071 case 3 :
12072 // InternalSolverLanguageParser.g:4734:3: kw= Object
12073 {
12074 kw=(Token)match(input,Object,FOLLOW_2);
10426 12075
10427 } 12076 current.merge(kw);
12077 newLeafNode(kw, grammarAccess.getQualifiedNameSegmentAccess().getObjectKeyword_2());
12078
10428 12079
12080 }
12081 break;
10429 12082
10430 } 12083 }
10431 12084
@@ -10442,17 +12095,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10442 appendSkippedTokens(); 12095 appendSkippedTokens();
10443 } 12096 }
10444 finally { 12097 finally {
10445
10446 myHiddenTokenState.restore();
10447
10448 } 12098 }
10449 return current; 12099 return current;
10450 } 12100 }
10451 // $ANTLR end "ruleReal" 12101 // $ANTLR end "ruleQualifiedNameSegment"
10452 12102
10453 12103
10454 // $ANTLR start "entryRuleQualifiedName" 12104 // $ANTLR start "entryRuleQualifiedName"
10455 // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 12105 // InternalSolverLanguageParser.g:4743:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
10456 public final String entryRuleQualifiedName() throws RecognitionException { 12106 public final String entryRuleQualifiedName() throws RecognitionException {
10457 String current = null; 12107 String current = null;
10458 12108
@@ -10463,8 +12113,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10463 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 12113 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
10464 12114
10465 try { 12115 try {
10466 // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 12116 // InternalSolverLanguageParser.g:4745:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
10467 // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF 12117 // InternalSolverLanguageParser.g:4746:2: iv_ruleQualifiedName= ruleQualifiedName EOF
10468 { 12118 {
10469 newCompositeNode(grammarAccess.getQualifiedNameRule()); 12119 newCompositeNode(grammarAccess.getQualifiedNameRule());
10470 pushFollow(FOLLOW_1); 12120 pushFollow(FOLLOW_1);
@@ -10494,108 +12144,84 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10494 12144
10495 12145
10496 // $ANTLR start "ruleQualifiedName" 12146 // $ANTLR start "ruleQualifiedName"
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 ) ; 12147 // InternalSolverLanguageParser.g:4755:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) ;
10498 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 12148 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
10499 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 12149 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
10500 12150
10501 Token this_ID_0=null;
10502 Token kw=null; 12151 Token kw=null;
10503 Token this_ID_2=null; 12152 AntlrDatatypeRuleToken this_QualifiedNameSegment_0 = null;
10504 Token this_QUOTED_ID_3=null; 12153
12154 AntlrDatatypeRuleToken this_QualifiedNameSegment_2 = null;
12155
10505 12156
10506 12157
10507 enterRule(); 12158 enterRule();
10508 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 12159 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
10509 12160
10510 try { 12161 try {
10511 // InternalSolverLanguageParser.g:4148:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) 12162 // InternalSolverLanguageParser.g:4762:2: ( (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) )
10512 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 12163 // InternalSolverLanguageParser.g:4763:2: (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* )
12164 {
12165 // InternalSolverLanguageParser.g:4763:2: (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* )
12166 // InternalSolverLanguageParser.g:4764:3: this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )*
10513 { 12167 {
10514 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
10515 int alt52=2;
10516 int LA52_0 = input.LA(1);
10517
10518 if ( (LA52_0==RULE_ID) ) {
10519 alt52=1;
10520 }
10521 else if ( (LA52_0==RULE_QUOTED_ID) ) {
10522 alt52=2;
10523 }
10524 else {
10525 NoViableAltException nvae =
10526 new NoViableAltException("", 52, 0, input);
10527
10528 throw nvae;
10529 }
10530 switch (alt52) {
10531 case 1 :
10532 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
10533 {
10534 // InternalSolverLanguageParser.g:4150:3: (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 )*
10536 {
10537 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59);
10538 12168
10539 current.merge(this_ID_0); 12169 newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_0());
10540 12170
12171 pushFollow(FOLLOW_67);
12172 this_QualifiedNameSegment_0=ruleQualifiedNameSegment();
10541 12173
10542 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 12174 state._fsp--;
10543
10544 // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )*
10545 loop51:
10546 do {
10547 int alt51=2;
10548 int LA51_0 = input.LA(1);
10549 12175
10550 if ( (LA51_0==FullStop) ) {
10551 alt51=1;
10552 }
10553 12176
12177 current.merge(this_QualifiedNameSegment_0);
12178
10554 12179
10555 switch (alt51) { 12180 afterParserOrEnumRuleCall();
10556 case 1 : 12181
10557 // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID 12182 // InternalSolverLanguageParser.g:4774:3: (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )*
10558 { 12183 loop60:
10559 kw=(Token)match(input,FullStop,FOLLOW_20); 12184 do {
12185 int alt60=2;
12186 int LA60_0 = input.LA(1);
10560 12187
10561 current.merge(kw); 12188 if ( (LA60_0==ColonColon) ) {
10562 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 12189 alt60=1;
10563 12190 }
10564 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59);
10565 12191
10566 current.merge(this_ID_2);
10567
10568 12192
10569 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); 12193 switch (alt60) {
10570 12194 case 1 :
12195 // InternalSolverLanguageParser.g:4775:4: kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment
12196 {
12197 kw=(Token)match(input,ColonColon,FOLLOW_3);
10571 12198
10572 } 12199 current.merge(kw);
10573 break; 12200 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0());
12201
10574 12202
10575 default : 12203 newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_1_1());
10576 break loop51; 12204
10577 } 12205 pushFollow(FOLLOW_67);
10578 } while (true); 12206 this_QualifiedNameSegment_2=ruleQualifiedNameSegment();
10579 12207
12208 state._fsp--;
10580 12209
10581 }
10582 12210
12211 current.merge(this_QualifiedNameSegment_2);
12212
10583 12213
10584 } 12214 afterParserOrEnumRuleCall();
10585 break; 12215
10586 case 2 :
10587 // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID
10588 {
10589 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
10590 12216
10591 current.merge(this_QUOTED_ID_3); 12217 }
10592 12218 break;
10593 12219
10594 newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); 12220 default :
10595 12221 break loop60;
12222 }
12223 } while (true);
10596 12224
10597 }
10598 break;
10599 12225
10600 } 12226 }
10601 12227
@@ -10621,28 +12247,122 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10621 // $ANTLR end "ruleQualifiedName" 12247 // $ANTLR end "ruleQualifiedName"
10622 12248
10623 12249
10624 // $ANTLR start "ruleImplicationOperator" 12250 // $ANTLR start "ruleAttributeKind"
10625 // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ; 12251 // InternalSolverLanguageParser.g:4798:1: ruleAttributeKind returns [Enumerator current=null] : ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) ;
10626 public final Enumerator ruleImplicationOperator() throws RecognitionException { 12252 public final Enumerator ruleAttributeKind() throws RecognitionException {
10627 Enumerator current = null; 12253 Enumerator current = null;
10628 12254
10629 Token enumLiteral_0=null; 12255 Token enumLiteral_0=null;
12256 Token enumLiteral_1=null;
12257 Token enumLiteral_2=null;
12258 Token enumLiteral_3=null;
10630 12259
10631 12260
10632 enterRule(); 12261 enterRule();
10633 12262
10634 try { 12263 try {
10635 // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) ) 12264 // InternalSolverLanguageParser.g:4804:2: ( ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) )
10636 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign ) 12265 // InternalSolverLanguageParser.g:4805:2: ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) )
10637 {
10638 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
10639 // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign
10640 { 12266 {
10641 enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2); 12267 // InternalSolverLanguageParser.g:4805:2: ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) )
12268 int alt61=4;
12269 switch ( input.LA(1) ) {
12270 case Functional:
12271 {
12272 alt61=1;
12273 }
12274 break;
12275 case Error:
12276 {
12277 alt61=2;
12278 }
12279 break;
12280 case Root:
12281 {
12282 alt61=3;
12283 }
12284 break;
12285 case Containment:
12286 {
12287 alt61=4;
12288 }
12289 break;
12290 default:
12291 NoViableAltException nvae =
12292 new NoViableAltException("", 61, 0, input);
10642 12293
10643 current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); 12294 throw nvae;
10644 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); 12295 }
10645 12296
12297 switch (alt61) {
12298 case 1 :
12299 // InternalSolverLanguageParser.g:4806:3: (enumLiteral_0= Functional )
12300 {
12301 // InternalSolverLanguageParser.g:4806:3: (enumLiteral_0= Functional )
12302 // InternalSolverLanguageParser.g:4807:4: enumLiteral_0= Functional
12303 {
12304 enumLiteral_0=(Token)match(input,Functional,FOLLOW_2);
12305
12306 current = grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
12307 newLeafNode(enumLiteral_0, grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0());
12308
12309
12310 }
12311
12312
12313 }
12314 break;
12315 case 2 :
12316 // InternalSolverLanguageParser.g:4814:3: (enumLiteral_1= Error )
12317 {
12318 // InternalSolverLanguageParser.g:4814:3: (enumLiteral_1= Error )
12319 // InternalSolverLanguageParser.g:4815:4: enumLiteral_1= Error
12320 {
12321 enumLiteral_1=(Token)match(input,Error,FOLLOW_2);
12322
12323 current = grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
12324 newLeafNode(enumLiteral_1, grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1());
12325
12326
12327 }
12328
12329
12330 }
12331 break;
12332 case 3 :
12333 // InternalSolverLanguageParser.g:4822:3: (enumLiteral_2= Root )
12334 {
12335 // InternalSolverLanguageParser.g:4822:3: (enumLiteral_2= Root )
12336 // InternalSolverLanguageParser.g:4823:4: enumLiteral_2= Root
12337 {
12338 enumLiteral_2=(Token)match(input,Root,FOLLOW_2);
12339
12340 current = grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
12341 newLeafNode(enumLiteral_2, grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2());
12342
12343
12344 }
12345
12346
12347 }
12348 break;
12349 case 4 :
12350 // InternalSolverLanguageParser.g:4830:3: (enumLiteral_3= Containment )
12351 {
12352 // InternalSolverLanguageParser.g:4830:3: (enumLiteral_3= Containment )
12353 // InternalSolverLanguageParser.g:4831:4: enumLiteral_3= Containment
12354 {
12355 enumLiteral_3=(Token)match(input,Containment,FOLLOW_2);
12356
12357 current = grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
12358 newLeafNode(enumLiteral_3, grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3());
12359
12360
12361 }
12362
12363
12364 }
12365 break;
10646 12366
10647 } 12367 }
10648 12368
@@ -10662,11 +12382,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10662 } 12382 }
10663 return current; 12383 return current;
10664 } 12384 }
10665 // $ANTLR end "ruleImplicationOperator" 12385 // $ANTLR end "ruleAttributeKind"
10666 12386
10667 12387
10668 // $ANTLR start "ruleComparisonOperator" 12388 // $ANTLR start "ruleComparisonOperator"
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 ) ) ; 12389 // InternalSolverLanguageParser.g:4841: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 ) ) ;
10670 public final Enumerator ruleComparisonOperator() throws RecognitionException { 12390 public final Enumerator ruleComparisonOperator() throws RecognitionException {
10671 Enumerator current = null; 12391 Enumerator current = null;
10672 12392
@@ -10682,65 +12402,65 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10682 enterRule(); 12402 enterRule();
10683 12403
10684 try { 12404 try {
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 ) ) ) 12405 // InternalSolverLanguageParser.g:4847: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 ) ) 12406 // InternalSolverLanguageParser.g:4848:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
10687 { 12407 {
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 ) ) 12408 // InternalSolverLanguageParser.g:4848:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
10689 int alt53=7; 12409 int alt62=7;
10690 switch ( input.LA(1) ) { 12410 switch ( input.LA(1) ) {
10691 case EqualsSignEqualsSign: 12411 case EqualsSignEqualsSign:
10692 { 12412 {
10693 alt53=1; 12413 alt62=1;
10694 } 12414 }
10695 break; 12415 break;
10696 case ExclamationMarkEqualsSign: 12416 case ExclamationMarkEqualsSign:
10697 { 12417 {
10698 alt53=2; 12418 alt62=2;
10699 } 12419 }
10700 break; 12420 break;
10701 case LessThanSign: 12421 case LessThanSign:
10702 { 12422 {
10703 alt53=3; 12423 alt62=3;
10704 } 12424 }
10705 break; 12425 break;
10706 case LessThanSignEqualsSign: 12426 case LessThanSignEqualsSign:
10707 { 12427 {
10708 alt53=4; 12428 alt62=4;
10709 } 12429 }
10710 break; 12430 break;
10711 case GreaterThanSign: 12431 case GreaterThanSign:
10712 { 12432 {
10713 alt53=5; 12433 alt62=5;
10714 } 12434 }
10715 break; 12435 break;
10716 case GreaterThanSignEqualsSign: 12436 case GreaterThanSignEqualsSign:
10717 { 12437 {
10718 alt53=6; 12438 alt62=6;
10719 } 12439 }
10720 break; 12440 break;
10721 case In: 12441 case In:
10722 { 12442 {
10723 alt53=7; 12443 alt62=7;
10724 } 12444 }
10725 break; 12445 break;
10726 default: 12446 default:
10727 NoViableAltException nvae = 12447 NoViableAltException nvae =
10728 new NoViableAltException("", 53, 0, input); 12448 new NoViableAltException("", 62, 0, input);
10729 12449
10730 throw nvae; 12450 throw nvae;
10731 } 12451 }
10732 12452
10733 switch (alt53) { 12453 switch (alt62) {
10734 case 1 : 12454 case 1 :
10735 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) 12455 // InternalSolverLanguageParser.g:4849:3: (enumLiteral_0= EqualsSignEqualsSign )
10736 { 12456 {
10737 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) 12457 // InternalSolverLanguageParser.g:4849:3: (enumLiteral_0= EqualsSignEqualsSign )
10738 // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign 12458 // InternalSolverLanguageParser.g:4850:4: enumLiteral_0= EqualsSignEqualsSign
10739 { 12459 {
10740 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); 12460 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2);
10741 12461
10742 current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 12462 current = grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10743 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); 12463 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0());
10744 12464
10745 12465
10746 } 12466 }
@@ -10749,15 +12469,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10749 } 12469 }
10750 break; 12470 break;
10751 case 2 : 12471 case 2 :
10752 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 12472 // InternalSolverLanguageParser.g:4857:3: (enumLiteral_1= ExclamationMarkEqualsSign )
10753 { 12473 {
10754 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 12474 // InternalSolverLanguageParser.g:4857:3: (enumLiteral_1= ExclamationMarkEqualsSign )
10755 // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign 12475 // InternalSolverLanguageParser.g:4858:4: enumLiteral_1= ExclamationMarkEqualsSign
10756 { 12476 {
10757 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); 12477 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2);
10758 12478
10759 current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 12479 current = grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10760 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); 12480 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1());
10761 12481
10762 12482
10763 } 12483 }
@@ -10766,10 +12486,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10766 } 12486 }
10767 break; 12487 break;
10768 case 3 : 12488 case 3 :
10769 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) 12489 // InternalSolverLanguageParser.g:4865:3: (enumLiteral_2= LessThanSign )
10770 { 12490 {
10771 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) 12491 // InternalSolverLanguageParser.g:4865:3: (enumLiteral_2= LessThanSign )
10772 // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign 12492 // InternalSolverLanguageParser.g:4866:4: enumLiteral_2= LessThanSign
10773 { 12493 {
10774 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); 12494 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2);
10775 12495
@@ -10783,15 +12503,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10783 } 12503 }
10784 break; 12504 break;
10785 case 4 : 12505 case 4 :
10786 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) 12506 // InternalSolverLanguageParser.g:4873:3: (enumLiteral_3= LessThanSignEqualsSign )
10787 { 12507 {
10788 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) 12508 // InternalSolverLanguageParser.g:4873:3: (enumLiteral_3= LessThanSignEqualsSign )
10789 // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign 12509 // InternalSolverLanguageParser.g:4874:4: enumLiteral_3= LessThanSignEqualsSign
10790 { 12510 {
10791 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); 12511 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2);
10792 12512
10793 current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 12513 current = grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
10794 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); 12514 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3());
10795 12515
10796 12516
10797 } 12517 }
@@ -10800,10 +12520,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10800 } 12520 }
10801 break; 12521 break;
10802 case 5 : 12522 case 5 :
10803 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) 12523 // InternalSolverLanguageParser.g:4881:3: (enumLiteral_4= GreaterThanSign )
10804 { 12524 {
10805 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) 12525 // InternalSolverLanguageParser.g:4881:3: (enumLiteral_4= GreaterThanSign )
10806 // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign 12526 // InternalSolverLanguageParser.g:4882:4: enumLiteral_4= GreaterThanSign
10807 { 12527 {
10808 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); 12528 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2);
10809 12529
@@ -10817,15 +12537,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10817 } 12537 }
10818 break; 12538 break;
10819 case 6 : 12539 case 6 :
10820 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 12540 // InternalSolverLanguageParser.g:4889:3: (enumLiteral_5= GreaterThanSignEqualsSign )
10821 { 12541 {
10822 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 12542 // InternalSolverLanguageParser.g:4889:3: (enumLiteral_5= GreaterThanSignEqualsSign )
10823 // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign 12543 // InternalSolverLanguageParser.g:4890:4: enumLiteral_5= GreaterThanSignEqualsSign
10824 { 12544 {
10825 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); 12545 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2);
10826 12546
10827 current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 12547 current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
10828 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); 12548 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5());
10829 12549
10830 12550
10831 } 12551 }
@@ -10834,10 +12554,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10834 } 12554 }
10835 break; 12555 break;
10836 case 7 : 12556 case 7 :
10837 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) 12557 // InternalSolverLanguageParser.g:4897:3: (enumLiteral_6= In )
10838 { 12558 {
10839 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) 12559 // InternalSolverLanguageParser.g:4897:3: (enumLiteral_6= In )
10840 // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In 12560 // InternalSolverLanguageParser.g:4898:4: enumLiteral_6= In
10841 { 12561 {
10842 enumLiteral_6=(Token)match(input,In,FOLLOW_2); 12562 enumLiteral_6=(Token)match(input,In,FOLLOW_2);
10843 12563
@@ -10873,7 +12593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10873 12593
10874 12594
10875 // $ANTLR start "ruleAdditiveBinaryOperator" 12595 // $ANTLR start "ruleAdditiveBinaryOperator"
10876 // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; 12596 // InternalSolverLanguageParser.g:4908:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ;
10877 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { 12597 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException {
10878 Enumerator current = null; 12598 Enumerator current = null;
10879 12599
@@ -10884,36 +12604,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10884 enterRule(); 12604 enterRule();
10885 12605
10886 try { 12606 try {
10887 // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) 12607 // InternalSolverLanguageParser.g:4914:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) )
10888 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 12608 // InternalSolverLanguageParser.g:4915:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
10889 { 12609 {
10890 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 12610 // InternalSolverLanguageParser.g:4915:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
10891 int alt54=2; 12611 int alt63=2;
10892 int LA54_0 = input.LA(1); 12612 int LA63_0 = input.LA(1);
10893 12613
10894 if ( (LA54_0==PlusSign) ) { 12614 if ( (LA63_0==PlusSign) ) {
10895 alt54=1; 12615 alt63=1;
10896 } 12616 }
10897 else if ( (LA54_0==HyphenMinus) ) { 12617 else if ( (LA63_0==HyphenMinus) ) {
10898 alt54=2; 12618 alt63=2;
10899 } 12619 }
10900 else { 12620 else {
10901 NoViableAltException nvae = 12621 NoViableAltException nvae =
10902 new NoViableAltException("", 54, 0, input); 12622 new NoViableAltException("", 63, 0, input);
10903 12623
10904 throw nvae; 12624 throw nvae;
10905 } 12625 }
10906 switch (alt54) { 12626 switch (alt63) {
10907 case 1 : 12627 case 1 :
10908 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) 12628 // InternalSolverLanguageParser.g:4916:3: (enumLiteral_0= PlusSign )
10909 { 12629 {
10910 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) 12630 // InternalSolverLanguageParser.g:4916:3: (enumLiteral_0= PlusSign )
10911 // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign 12631 // InternalSolverLanguageParser.g:4917:4: enumLiteral_0= PlusSign
10912 { 12632 {
10913 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); 12633 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2);
10914 12634
10915 current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 12635 current = grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10916 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); 12636 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0());
10917 12637
10918 12638
10919 } 12639 }
@@ -10922,15 +12642,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10922 } 12642 }
10923 break; 12643 break;
10924 case 2 : 12644 case 2 :
10925 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) 12645 // InternalSolverLanguageParser.g:4924:3: (enumLiteral_1= HyphenMinus )
10926 { 12646 {
10927 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) 12647 // InternalSolverLanguageParser.g:4924:3: (enumLiteral_1= HyphenMinus )
10928 // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus 12648 // InternalSolverLanguageParser.g:4925:4: enumLiteral_1= HyphenMinus
10929 { 12649 {
10930 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); 12650 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2);
10931 12651
10932 current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 12652 current = grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10933 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); 12653 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1());
10934 12654
10935 12655
10936 } 12656 }
@@ -10961,7 +12681,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10961 12681
10962 12682
10963 // $ANTLR start "ruleMultiplicativeBinaryOperator" 12683 // $ANTLR start "ruleMultiplicativeBinaryOperator"
10964 // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; 12684 // InternalSolverLanguageParser.g:4935:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ;
10965 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { 12685 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException {
10966 Enumerator current = null; 12686 Enumerator current = null;
10967 12687
@@ -10972,36 +12692,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10972 enterRule(); 12692 enterRule();
10973 12693
10974 try { 12694 try {
10975 // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) 12695 // InternalSolverLanguageParser.g:4941:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) )
10976 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 12696 // InternalSolverLanguageParser.g:4942:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
10977 { 12697 {
10978 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 12698 // InternalSolverLanguageParser.g:4942:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
10979 int alt55=2; 12699 int alt64=2;
10980 int LA55_0 = input.LA(1); 12700 int LA64_0 = input.LA(1);
10981 12701
10982 if ( (LA55_0==Asterisk) ) { 12702 if ( (LA64_0==Asterisk) ) {
10983 alt55=1; 12703 alt64=1;
10984 } 12704 }
10985 else if ( (LA55_0==Solidus) ) { 12705 else if ( (LA64_0==Solidus) ) {
10986 alt55=2; 12706 alt64=2;
10987 } 12707 }
10988 else { 12708 else {
10989 NoViableAltException nvae = 12709 NoViableAltException nvae =
10990 new NoViableAltException("", 55, 0, input); 12710 new NoViableAltException("", 64, 0, input);
10991 12711
10992 throw nvae; 12712 throw nvae;
10993 } 12713 }
10994 switch (alt55) { 12714 switch (alt64) {
10995 case 1 : 12715 case 1 :
10996 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) 12716 // InternalSolverLanguageParser.g:4943:3: (enumLiteral_0= Asterisk )
10997 { 12717 {
10998 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) 12718 // InternalSolverLanguageParser.g:4943:3: (enumLiteral_0= Asterisk )
10999 // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk 12719 // InternalSolverLanguageParser.g:4944:4: enumLiteral_0= Asterisk
11000 { 12720 {
11001 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); 12721 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2);
11002 12722
11003 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 12723 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11004 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); 12724 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0());
11005 12725
11006 12726
11007 } 12727 }
@@ -11010,15 +12730,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11010 } 12730 }
11011 break; 12731 break;
11012 case 2 : 12732 case 2 :
11013 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) 12733 // InternalSolverLanguageParser.g:4951:3: (enumLiteral_1= Solidus )
11014 { 12734 {
11015 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) 12735 // InternalSolverLanguageParser.g:4951:3: (enumLiteral_1= Solidus )
11016 // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus 12736 // InternalSolverLanguageParser.g:4952:4: enumLiteral_1= Solidus
11017 { 12737 {
11018 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); 12738 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2);
11019 12739
11020 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 12740 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11021 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); 12741 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1());
11022 12742
11023 12743
11024 } 12744 }
@@ -11049,7 +12769,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11049 12769
11050 12770
11051 // $ANTLR start "ruleExponentialOp" 12771 // $ANTLR start "ruleExponentialOp"
11052 // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; 12772 // InternalSolverLanguageParser.g:4962:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ;
11053 public final Enumerator ruleExponentialOp() throws RecognitionException { 12773 public final Enumerator ruleExponentialOp() throws RecognitionException {
11054 Enumerator current = null; 12774 Enumerator current = null;
11055 12775
@@ -11059,11 +12779,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11059 enterRule(); 12779 enterRule();
11060 12780
11061 try { 12781 try {
11062 // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) ) 12782 // InternalSolverLanguageParser.g:4968:2: ( (enumLiteral_0= CircumflexAccent ) )
11063 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) 12783 // InternalSolverLanguageParser.g:4969:2: (enumLiteral_0= CircumflexAccent )
11064 { 12784 {
11065 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) 12785 // InternalSolverLanguageParser.g:4969:2: (enumLiteral_0= CircumflexAccent )
11066 // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent 12786 // InternalSolverLanguageParser.g:4970:3: enumLiteral_0= CircumflexAccent
11067 { 12787 {
11068 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); 12788 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2);
11069 12789
@@ -11092,76 +12812,64 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11092 // $ANTLR end "ruleExponentialOp" 12812 // $ANTLR end "ruleExponentialOp"
11093 12813
11094 12814
11095 // $ANTLR start "ruleUnaryOp" 12815 // $ANTLR start "ruleUnaryOperator"
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 ) ) ; 12816 // InternalSolverLanguageParser.g:4979:1: ruleUnaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) ;
11097 public final Enumerator ruleUnaryOp() throws RecognitionException { 12817 public final Enumerator ruleUnaryOperator() throws RecognitionException {
11098 Enumerator current = null; 12818 Enumerator current = null;
11099 12819
11100 Token enumLiteral_0=null; 12820 Token enumLiteral_0=null;
11101 Token enumLiteral_1=null; 12821 Token enumLiteral_1=null;
11102 Token enumLiteral_2=null; 12822 Token enumLiteral_2=null;
11103 Token enumLiteral_3=null; 12823 Token enumLiteral_3=null;
11104 Token enumLiteral_4=null;
11105 Token enumLiteral_5=null;
11106 12824
11107 12825
11108 enterRule(); 12826 enterRule();
11109 12827
11110 try { 12828 try {
11111 // InternalSolverLanguageParser.g:4349:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) 12829 // InternalSolverLanguageParser.g:4985:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) )
11112 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 12830 // InternalSolverLanguageParser.g:4986:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) )
11113 { 12831 {
11114 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 12832 // InternalSolverLanguageParser.g:4986:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) )
11115 int alt56=6; 12833 int alt65=4;
11116 switch ( input.LA(1) ) { 12834 switch ( input.LA(1) ) {
11117 case ExclamationMark: 12835 case ExclamationMark:
11118 { 12836 {
11119 alt56=1; 12837 alt65=1;
11120 } 12838 }
11121 break; 12839 break;
11122 case PlusSign: 12840 case PlusSign:
11123 { 12841 {
11124 alt56=2; 12842 alt65=2;
11125 } 12843 }
11126 break; 12844 break;
11127 case HyphenMinus: 12845 case HyphenMinus:
11128 { 12846 {
11129 alt56=3; 12847 alt65=3;
11130 }
11131 break;
11132 case May:
11133 {
11134 alt56=4;
11135 } 12848 }
11136 break; 12849 break;
11137 case Must: 12850 case QuestionMark:
11138 { 12851 {
11139 alt56=5; 12852 alt65=4;
11140 }
11141 break;
11142 case Current:
11143 {
11144 alt56=6;
11145 } 12853 }
11146 break; 12854 break;
11147 default: 12855 default:
11148 NoViableAltException nvae = 12856 NoViableAltException nvae =
11149 new NoViableAltException("", 56, 0, input); 12857 new NoViableAltException("", 65, 0, input);
11150 12858
11151 throw nvae; 12859 throw nvae;
11152 } 12860 }
11153 12861
11154 switch (alt56) { 12862 switch (alt65) {
11155 case 1 : 12863 case 1 :
11156 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) 12864 // InternalSolverLanguageParser.g:4987:3: (enumLiteral_0= ExclamationMark )
11157 { 12865 {
11158 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) 12866 // InternalSolverLanguageParser.g:4987:3: (enumLiteral_0= ExclamationMark )
11159 // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark 12867 // InternalSolverLanguageParser.g:4988:4: enumLiteral_0= ExclamationMark
11160 { 12868 {
11161 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); 12869 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2);
11162 12870
11163 current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 12871 current = grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11164 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); 12872 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0());
11165 12873
11166 12874
11167 } 12875 }
@@ -11170,15 +12878,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11170 } 12878 }
11171 break; 12879 break;
11172 case 2 : 12880 case 2 :
11173 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) 12881 // InternalSolverLanguageParser.g:4995:3: (enumLiteral_1= PlusSign )
11174 { 12882 {
11175 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) 12883 // InternalSolverLanguageParser.g:4995:3: (enumLiteral_1= PlusSign )
11176 // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign 12884 // InternalSolverLanguageParser.g:4996:4: enumLiteral_1= PlusSign
11177 { 12885 {
11178 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); 12886 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2);
11179 12887
11180 current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 12888 current = grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11181 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); 12889 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1());
11182 12890
11183 12891
11184 } 12892 }
@@ -11187,15 +12895,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11187 } 12895 }
11188 break; 12896 break;
11189 case 3 : 12897 case 3 :
11190 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) 12898 // InternalSolverLanguageParser.g:5003:3: (enumLiteral_2= HyphenMinus )
11191 { 12899 {
11192 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) 12900 // InternalSolverLanguageParser.g:5003:3: (enumLiteral_2= HyphenMinus )
11193 // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus 12901 // InternalSolverLanguageParser.g:5004:4: enumLiteral_2= HyphenMinus
11194 { 12902 {
11195 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); 12903 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2);
11196 12904
11197 current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 12905 current = grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
11198 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); 12906 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2());
11199 12907
11200 12908
11201 } 12909 }
@@ -11204,49 +12912,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11204 } 12912 }
11205 break; 12913 break;
11206 case 4 : 12914 case 4 :
11207 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May ) 12915 // InternalSolverLanguageParser.g:5011:3: (enumLiteral_3= QuestionMark )
11208 {
11209 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
11210 // InternalSolverLanguageParser.g:4376:4: enumLiteral_3= May
11211 {
11212 enumLiteral_3=(Token)match(input,May,FOLLOW_2);
11213
11214 current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
11215 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
11216
11217
11218 }
11219
11220
11221 }
11222 break;
11223 case 5 :
11224 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
11225 {
11226 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
11227 // InternalSolverLanguageParser.g:4384:4: enumLiteral_4= Must
11228 {
11229 enumLiteral_4=(Token)match(input,Must,FOLLOW_2);
11230
11231 current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
11232 newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
11233
11234
11235 }
11236
11237
11238 }
11239 break;
11240 case 6 :
11241 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
11242 { 12916 {
11243 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current ) 12917 // InternalSolverLanguageParser.g:5011:3: (enumLiteral_3= QuestionMark )
11244 // InternalSolverLanguageParser.g:4392:4: enumLiteral_5= Current 12918 // InternalSolverLanguageParser.g:5012:4: enumLiteral_3= QuestionMark
11245 { 12919 {
11246 enumLiteral_5=(Token)match(input,Current,FOLLOW_2); 12920 enumLiteral_3=(Token)match(input,QuestionMark,FOLLOW_2);
11247 12921
11248 current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 12922 current = grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
11249 newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); 12923 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3());
11250 12924
11251 12925
11252 } 12926 }
@@ -11273,126 +12947,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11273 } 12947 }
11274 return current; 12948 return current;
11275 } 12949 }
11276 // $ANTLR end "ruleUnaryOp" 12950 // $ANTLR end "ruleUnaryOperator"
11277
11278
11279 // $ANTLR start "ruleQuantifier"
11280 // InternalSolverLanguageParser.g:4402:1: ruleQuantifier returns [Enumerator current=null] : ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ;
11281 public final Enumerator ruleQuantifier() throws RecognitionException {
11282 Enumerator current = null;
11283
11284 Token enumLiteral_0=null;
11285 Token enumLiteral_1=null;
11286 Token enumLiteral_2=null;
11287
11288
11289 enterRule();
11290
11291 try {
11292 // InternalSolverLanguageParser.g:4408:2: ( ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) )
11293 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
11294 {
11295 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
11296 int alt57=3;
11297 switch ( input.LA(1) ) {
11298 case Exists:
11299 {
11300 alt57=1;
11301 }
11302 break;
11303 case Forall:
11304 {
11305 alt57=2;
11306 }
11307 break;
11308 case Count:
11309 {
11310 alt57=3;
11311 }
11312 break;
11313 default:
11314 NoViableAltException nvae =
11315 new NoViableAltException("", 57, 0, input);
11316
11317 throw nvae;
11318 }
11319
11320 switch (alt57) {
11321 case 1 :
11322 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
11323 {
11324 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
11325 // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists
11326 {
11327 enumLiteral_0=(Token)match(input,Exists,FOLLOW_2);
11328
11329 current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11330 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
11331
11332
11333 }
11334
11335
11336 }
11337 break;
11338 case 2 :
11339 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
11340 {
11341 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
11342 // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall
11343 {
11344 enumLiteral_1=(Token)match(input,Forall,FOLLOW_2);
11345
11346 current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11347 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
11348
11349
11350 }
11351
11352
11353 }
11354 break;
11355 case 3 :
11356 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
11357 {
11358 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
11359 // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count
11360 {
11361 enumLiteral_2=(Token)match(input,Count,FOLLOW_2);
11362
11363 current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
11364 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
11365
11366
11367 }
11368
11369
11370 }
11371 break;
11372
11373 }
11374
11375
11376 }
11377
11378
11379 leaveRule();
11380
11381 }
11382
11383 catch (RecognitionException re) {
11384 recover(input,re);
11385 appendSkippedTokens();
11386 }
11387 finally {
11388 }
11389 return current;
11390 }
11391 // $ANTLR end "ruleQuantifier"
11392 12951
11393 12952
11394 // $ANTLR start "ruleLogicValue" 12953 // $ANTLR start "ruleLogicValue"
11395 // InternalSolverLanguageParser.g:4437:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; 12954 // InternalSolverLanguageParser.g:5022:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ;
11396 public final Enumerator ruleLogicValue() throws RecognitionException { 12955 public final Enumerator ruleLogicValue() throws RecognitionException {
11397 Enumerator current = null; 12956 Enumerator current = null;
11398 12957
@@ -11405,45 +12964,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11405 enterRule(); 12964 enterRule();
11406 12965
11407 try { 12966 try {
11408 // InternalSolverLanguageParser.g:4443:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) 12967 // InternalSolverLanguageParser.g:5028: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 ) ) 12968 // InternalSolverLanguageParser.g:5029:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
11410 { 12969 {
11411 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 12970 // InternalSolverLanguageParser.g:5029:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
11412 int alt58=4; 12971 int alt66=4;
11413 switch ( input.LA(1) ) { 12972 switch ( input.LA(1) ) {
11414 case True: 12973 case True:
11415 { 12974 {
11416 alt58=1; 12975 alt66=1;
11417 } 12976 }
11418 break; 12977 break;
11419 case False: 12978 case False:
11420 { 12979 {
11421 alt58=2; 12980 alt66=2;
11422 } 12981 }
11423 break; 12982 break;
11424 case Unknown: 12983 case Unknown:
11425 { 12984 {
11426 alt58=3; 12985 alt66=3;
11427 } 12986 }
11428 break; 12987 break;
11429 case Error: 12988 case Error:
11430 { 12989 {
11431 alt58=4; 12990 alt66=4;
11432 } 12991 }
11433 break; 12992 break;
11434 default: 12993 default:
11435 NoViableAltException nvae = 12994 NoViableAltException nvae =
11436 new NoViableAltException("", 58, 0, input); 12995 new NoViableAltException("", 66, 0, input);
11437 12996
11438 throw nvae; 12997 throw nvae;
11439 } 12998 }
11440 12999
11441 switch (alt58) { 13000 switch (alt66) {
11442 case 1 : 13001 case 1 :
11443 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) 13002 // InternalSolverLanguageParser.g:5030:3: (enumLiteral_0= True )
11444 { 13003 {
11445 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) 13004 // InternalSolverLanguageParser.g:5030:3: (enumLiteral_0= True )
11446 // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True 13005 // InternalSolverLanguageParser.g:5031:4: enumLiteral_0= True
11447 { 13006 {
11448 enumLiteral_0=(Token)match(input,True,FOLLOW_2); 13007 enumLiteral_0=(Token)match(input,True,FOLLOW_2);
11449 13008
@@ -11457,10 +13016,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11457 } 13016 }
11458 break; 13017 break;
11459 case 2 : 13018 case 2 :
11460 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) 13019 // InternalSolverLanguageParser.g:5038:3: (enumLiteral_1= False )
11461 { 13020 {
11462 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) 13021 // InternalSolverLanguageParser.g:5038:3: (enumLiteral_1= False )
11463 // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False 13022 // InternalSolverLanguageParser.g:5039:4: enumLiteral_1= False
11464 { 13023 {
11465 enumLiteral_1=(Token)match(input,False,FOLLOW_2); 13024 enumLiteral_1=(Token)match(input,False,FOLLOW_2);
11466 13025
@@ -11474,10 +13033,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11474 } 13033 }
11475 break; 13034 break;
11476 case 3 : 13035 case 3 :
11477 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) 13036 // InternalSolverLanguageParser.g:5046:3: (enumLiteral_2= Unknown )
11478 { 13037 {
11479 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) 13038 // InternalSolverLanguageParser.g:5046:3: (enumLiteral_2= Unknown )
11480 // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown 13039 // InternalSolverLanguageParser.g:5047:4: enumLiteral_2= Unknown
11481 { 13040 {
11482 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); 13041 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2);
11483 13042
@@ -11491,10 +13050,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11491 } 13050 }
11492 break; 13051 break;
11493 case 4 : 13052 case 4 :
11494 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) 13053 // InternalSolverLanguageParser.g:5054:3: (enumLiteral_3= Error )
11495 { 13054 {
11496 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) 13055 // InternalSolverLanguageParser.g:5054:3: (enumLiteral_3= Error )
11497 // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error 13056 // InternalSolverLanguageParser.g:5055:4: enumLiteral_3= Error
11498 { 13057 {
11499 enumLiteral_3=(Token)match(input,Error,FOLLOW_2); 13058 enumLiteral_3=(Token)match(input,Error,FOLLOW_2);
11500 13059
@@ -11530,7 +13089,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11530 13089
11531 13090
11532 // $ANTLR start "ruleObjectiveKind" 13091 // $ANTLR start "ruleObjectiveKind"
11533 // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; 13092 // InternalSolverLanguageParser.g:5065:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ;
11534 public final Enumerator ruleObjectiveKind() throws RecognitionException { 13093 public final Enumerator ruleObjectiveKind() throws RecognitionException {
11535 Enumerator current = null; 13094 Enumerator current = null;
11536 13095
@@ -11541,36 +13100,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11541 enterRule(); 13100 enterRule();
11542 13101
11543 try { 13102 try {
11544 // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) 13103 // InternalSolverLanguageParser.g:5071:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) )
11545 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 13104 // InternalSolverLanguageParser.g:5072:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
11546 { 13105 {
11547 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 13106 // InternalSolverLanguageParser.g:5072:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
11548 int alt59=2; 13107 int alt67=2;
11549 int LA59_0 = input.LA(1); 13108 int LA67_0 = input.LA(1);
11550 13109
11551 if ( (LA59_0==Minimize) ) { 13110 if ( (LA67_0==Minimize) ) {
11552 alt59=1; 13111 alt67=1;
11553 } 13112 }
11554 else if ( (LA59_0==Maximize) ) { 13113 else if ( (LA67_0==Maximize) ) {
11555 alt59=2; 13114 alt67=2;
11556 } 13115 }
11557 else { 13116 else {
11558 NoViableAltException nvae = 13117 NoViableAltException nvae =
11559 new NoViableAltException("", 59, 0, input); 13118 new NoViableAltException("", 67, 0, input);
11560 13119
11561 throw nvae; 13120 throw nvae;
11562 } 13121 }
11563 switch (alt59) { 13122 switch (alt67) {
11564 case 1 : 13123 case 1 :
11565 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) 13124 // InternalSolverLanguageParser.g:5073:3: (enumLiteral_0= Minimize )
11566 { 13125 {
11567 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) 13126 // InternalSolverLanguageParser.g:5073:3: (enumLiteral_0= Minimize )
11568 // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize 13127 // InternalSolverLanguageParser.g:5074:4: enumLiteral_0= Minimize
11569 { 13128 {
11570 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); 13129 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2);
11571 13130
11572 current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 13131 current = grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11573 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); 13132 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0());
11574 13133
11575 13134
11576 } 13135 }
@@ -11579,15 +13138,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11579 } 13138 }
11580 break; 13139 break;
11581 case 2 : 13140 case 2 :
11582 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) 13141 // InternalSolverLanguageParser.g:5081:3: (enumLiteral_1= Maximize )
11583 { 13142 {
11584 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) 13143 // InternalSolverLanguageParser.g:5081:3: (enumLiteral_1= Maximize )
11585 // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize 13144 // InternalSolverLanguageParser.g:5082:4: enumLiteral_1= Maximize
11586 { 13145 {
11587 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); 13146 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2);
11588 13147
11589 current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 13148 current = grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11590 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); 13149 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1());
11591 13150
11592 13151
11593 } 13152 }
@@ -11619,44 +13178,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11619 // Delegated rules 13178 // Delegated rules
11620 13179
11621 13180
11622 protected DFA2 dfa2 = new DFA2(this); 13181 protected DFA4 dfa4 = new DFA4(this);
11623 protected DFA23 dfa23 = new DFA23(this); 13182 protected DFA13 dfa13 = new DFA13(this);
11624 protected DFA29 dfa29 = new DFA29(this); 13183 protected DFA30 dfa30 = new DFA30(this);
11625 protected DFA33 dfa33 = new DFA33(this); 13184 protected DFA31 dfa31 = new DFA31(this);
11626 protected DFA44 dfa44 = new DFA44(this); 13185 protected DFA34 dfa34 = new DFA34(this);
11627 static final String dfa_1s = "\33\uffff"; 13186 protected DFA53 dfa53 = new DFA53(this);
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"; 13187 static final String dfa_1s = "\35\uffff";
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"; 13188 static final String dfa_2s = "\1\4\1\uffff\3\22\1\5\1\22\1\uffff\1\6\6\uffff\1\22\2\uffff\3\45\1\uffff\4\22\3\45";
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"; 13189 static final String dfa_3s = "\1\113\1\uffff\5\112\1\uffff\1\112\6\uffff\1\112\2\uffff\3\111\1\uffff\4\112\3\111";
11631 static final String dfa_5s = "\33\uffff}>"; 13190 static final String dfa_4s = "\1\uffff\1\1\5\uffff\1\4\1\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\uffff\1\5\1\2\3\uffff\1\3\7\uffff";
13191 static final String dfa_5s = "\35\uffff}>";
11632 static final String[] dfa_6s = { 13192 static final String[] dfa_6s = {
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", 13193 "\1\11\1\6\1\15\2\uffff\2\14\1\uffff\1\7\2\uffff\1\1\1\12\1\uffff\1\4\1\uffff\1\15\2\1\1\5\1\1\1\13\1\uffff\1\16\1\10\1\uffff\1\1\1\uffff\2\1\12\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\2\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1",
11634 "",
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",
11638 "", 13194 "",
13195 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13196 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13197 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13198 "\1\21\14\uffff\1\24\17\uffff\3\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\25\1\uffff\4\1\1\uffff\4\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\21\1\uffff\1\23\3\uffff\1\1\1\22",
13199 "\1\24\4\uffff\1\21\53\uffff\1\21\1\uffff\1\23\4\uffff\1\22",
11639 "", 13200 "",
11640 "\1\20\70\uffff\1\17\4\uffff\1\16", 13201 "\1\15\13\uffff\1\11\1\uffff\1\15\7\uffff\1\15\50\uffff\1\11\4\uffff\1\11",
11641 "", 13202 "",
11642 "", 13203 "",
11643 "", 13204 "",
11644 "\1\21",
11645 "", 13205 "",
11646 "", 13206 "",
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",
11649 "", 13207 "",
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", 13208 "\1\30\62\uffff\1\27\4\uffff\1\26",
11651 "\1\26",
11652 "\1\30\5\uffff\1\27\11\uffff\1\31",
11653 "\1\30\17\uffff\1\31",
11654 "", 13209 "",
11655 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11656 "\1\32",
11657 "", 13210 "",
13211 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11",
13212 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11",
13213 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11",
11658 "", 13214 "",
11659 "\1\30\5\uffff\1\27\11\uffff\1\31" 13215 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13216 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13217 "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20",
13218 "\1\34\62\uffff\1\33\4\uffff\1\32",
13219 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11",
13220 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11",
13221 "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11"
11660 }; 13222 };
11661 13223
11662 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 13224 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -11666,11 +13228,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11666 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 13228 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
11667 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 13229 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
11668 13230
11669 class DFA2 extends DFA { 13231 class DFA4 extends DFA {
11670 13232
11671 public DFA2(BaseRecognizer recognizer) { 13233 public DFA4(BaseRecognizer recognizer) {
11672 this.recognizer = recognizer; 13234 this.recognizer = recognizer;
11673 this.decisionNumber = 2; 13235 this.decisionNumber = 4;
11674 this.eot = dfa_1; 13236 this.eot = dfa_1;
11675 this.eof = dfa_1; 13237 this.eof = dfa_1;
11676 this.min = dfa_2; 13238 this.min = dfa_2;
@@ -11680,243 +13242,336 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
11680 this.transition = dfa_6; 13242 this.transition = dfa_6;
11681 } 13243 }
11682 public String getDescription() { 13244 public String getDescription() {
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 )"; 13245 return "158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration )";
11684 } 13246 }
11685 } 13247 }
11686 static final String dfa_7s = "\10\uffff"; 13248 static final String dfa_7s = "\24\uffff";
11687 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3"; 13249 static final String dfa_8s = "\1\20\1\5\2\uffff\4\22\3\45\4\22\2\uffff\3\45";
11688 static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30"; 13250 static final String dfa_9s = "\1\20\1\112\2\uffff\4\112\3\100\4\112\2\uffff\3\100";
11689 static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104"; 13251 static final String dfa_10s = "\2\uffff\1\4\1\1\13\uffff\1\3\1\2\3\uffff";
11690 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff"; 13252 static final String dfa_11s = "\24\uffff}>";
11691 static final String dfa_12s = "\10\uffff}>"; 13253 static final String[] dfa_12s = {
11692 static final String[] dfa_13s = { 13254 "\1\1",
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", 13255 "\1\3\2\uffff\1\2\11\uffff\1\6\4\uffff\1\3\55\uffff\1\5\4\uffff\1\4",
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", 13256 "",
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",
11696 "", 13257 "",
13258 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13259 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13260 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13261 "\1\15\62\uffff\1\14\4\uffff\1\13",
13262 "\1\16\11\uffff\1\20\20\uffff\1\17",
13263 "\1\16\11\uffff\1\20\20\uffff\1\17",
13264 "\1\16\11\uffff\1\20\20\uffff\1\17",
13265 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13266 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13267 "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10",
13268 "\1\23\62\uffff\1\22\4\uffff\1\21",
11697 "", 13269 "",
11698 "\1\7",
11699 "", 13270 "",
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" 13271 "\1\16\11\uffff\1\20\20\uffff\1\17",
13272 "\1\16\11\uffff\1\20\20\uffff\1\17",
13273 "\1\16\11\uffff\1\20\20\uffff\1\17"
11701 }; 13274 };
11702 13275
11703 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); 13276 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
11704 static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); 13277 static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
11705 static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); 13278 static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
11706 static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); 13279 static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s);
11707 static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); 13280 static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
11708 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); 13281 static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s);
11709 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
11710 13282
11711 class DFA23 extends DFA { 13283 class DFA13 extends DFA {
11712 13284
11713 public DFA23(BaseRecognizer recognizer) { 13285 public DFA13(BaseRecognizer recognizer) {
11714 this.recognizer = recognizer; 13286 this.recognizer = recognizer;
11715 this.decisionNumber = 23; 13287 this.decisionNumber = 13;
11716 this.eot = dfa_7; 13288 this.eot = dfa_7;
11717 this.eof = dfa_8; 13289 this.eof = dfa_7;
11718 this.min = dfa_9; 13290 this.min = dfa_8;
11719 this.max = dfa_10; 13291 this.max = dfa_9;
11720 this.accept = dfa_11; 13292 this.accept = dfa_10;
11721 this.special = dfa_12; 13293 this.special = dfa_11;
11722 this.transition = dfa_13; 13294 this.transition = dfa_12;
11723 } 13295 }
11724 public String getDescription() { 13296 public String getDescription() {
11725 return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )"; 13297 return "1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration )";
11726 } 13298 }
11727 } 13299 }
11728 static final String dfa_14s = "\12\uffff"; 13300 static final String dfa_13s = "\13\uffff";
11729 static final String dfa_15s = "\1\uffff\2\10\6\uffff\1\10"; 13301 static final String dfa_14s = "\2\uffff\3\1\3\uffff\3\1";
11730 static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30"; 13302 static final String dfa_15s = "\1\17\1\uffff\3\32\1\uffff\1\22\1\uffff\3\32";
11731 static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104"; 13303 static final String dfa_16s = "\1\113\1\uffff\3\111\1\uffff\1\112\1\uffff\3\111";
11732 static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; 13304 static final String dfa_17s = "\1\uffff\1\1\3\uffff\1\3\1\uffff\1\2\3\uffff";
11733 static final String dfa_19s = "\12\uffff}>"; 13305 static final String dfa_18s = "\13\uffff}>";
11734 static final String[] dfa_20s = { 13306 static final String[] dfa_19s = {
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", 13307 "\1\1\2\uffff\1\4\2\uffff\1\5\3\1\5\uffff\1\1\1\uffff\1\1\16\uffff\1\1\15\uffff\1\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1",
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",
11738 "",
11739 "",
11740 "", 13308 "",
11741 "\1\11", 13309 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1",
13310 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1",
13311 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1",
11742 "", 13312 "",
13313 "\1\12\62\uffff\1\11\4\uffff\1\10",
11743 "", 13314 "",
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" 13315 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1",
13316 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1",
13317 "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1"
11745 }; 13318 };
11746 13319
13320 static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
11747 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); 13321 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
11748 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); 13322 static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
11749 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); 13323 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
11750 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); 13324 static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
11751 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); 13325 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
11752 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); 13326 static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s);
11753 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
11754 13327
11755 class DFA29 extends DFA { 13328 class DFA30 extends DFA {
11756 13329
11757 public DFA29(BaseRecognizer recognizer) { 13330 public DFA30(BaseRecognizer recognizer) {
11758 this.recognizer = recognizer; 13331 this.recognizer = recognizer;
11759 this.decisionNumber = 29; 13332 this.decisionNumber = 30;
11760 this.eot = dfa_14; 13333 this.eot = dfa_13;
11761 this.eof = dfa_15; 13334 this.eof = dfa_14;
11762 this.min = dfa_16; 13335 this.min = dfa_15;
11763 this.max = dfa_17; 13336 this.max = dfa_16;
11764 this.accept = dfa_18; 13337 this.accept = dfa_17;
11765 this.special = dfa_19; 13338 this.special = dfa_18;
11766 this.transition = dfa_20; 13339 this.transition = dfa_19;
11767 } 13340 }
11768 public String getDescription() { 13341 public String getDescription() {
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 ) )"; 13342 return "2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount )";
11770 } 13343 }
11771 } 13344 }
11772 static final String dfa_21s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; 13345 static final String dfa_20s = "\33\uffff";
11773 static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\13\1\uffff\1\40\1\uffff"; 13346 static final String dfa_21s = "\2\uffff\3\14\4\uffff\2\14\3\uffff\3\14\1\uffff\3\14\1\uffff\5\14";
11774 static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\106\1\uffff\1\105\1\uffff"; 13347 static final String dfa_22s = "\1\17\1\22\3\32\3\uffff\1\22\2\32\1\22\2\uffff\3\32\1\22\3\32\1\22\5\32";
11775 static final String dfa_24s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; 13348 static final String dfa_23s = "\1\113\1\112\3\111\3\uffff\1\112\2\111\1\112\2\uffff\3\111\1\112\3\111\1\112\5\111";
11776 static final String[] dfa_25s = { 13349 static final String dfa_24s = "\5\uffff\1\3\1\4\1\5\4\uffff\1\1\1\2\15\uffff";
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", 13350 static final String dfa_25s = "\33\uffff}>";
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", 13351 static final String[] dfa_26s = {
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", 13352 "\1\6\2\uffff\1\4\3\uffff\3\6\5\uffff\1\6\1\uffff\1\6\16\uffff\1\7\15\uffff\1\5\5\uffff\1\1\1\6\1\3\4\uffff\1\2\1\6",
13353 "\1\4\62\uffff\1\3\4\uffff\1\2",
13354 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
13355 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
13356 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
11780 "", 13357 "",
11781 "", 13358 "",
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 "", 13359 "",
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", 13360 "\1\20\62\uffff\1\17\4\uffff\1\16",
11786 "" 13361 "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14",
13362 "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14",
13363 "\1\24\60\uffff\1\21\1\uffff\1\23\4\uffff\1\22",
13364 "",
13365 "",
13366 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
13367 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
13368 "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14",
13369 "\1\24\62\uffff\1\23\4\uffff\1\22",
13370 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14",
13371 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14",
13372 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14",
13373 "\1\32\62\uffff\1\31\4\uffff\1\30",
13374 "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14",
13375 "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14",
13376 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14",
13377 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14",
13378 "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14"
11787 }; 13379 };
13380
13381 static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s);
11788 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s); 13382 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
11789 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); 13383 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
11790 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s); 13384 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
11791 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); 13385 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
11792 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); 13386 static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
13387 static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s);
11793 13388
11794 class DFA33 extends DFA { 13389 class DFA31 extends DFA {
11795 13390
11796 public DFA33(BaseRecognizer recognizer) { 13391 public DFA31(BaseRecognizer recognizer) {
11797 this.recognizer = recognizer; 13392 this.recognizer = recognizer;
11798 this.decisionNumber = 33; 13393 this.decisionNumber = 31;
11799 this.eot = dfa_14; 13394 this.eot = dfa_20;
11800 this.eof = dfa_21; 13395 this.eof = dfa_21;
11801 this.min = dfa_22; 13396 this.min = dfa_22;
11802 this.max = dfa_23; 13397 this.max = dfa_23;
11803 this.accept = dfa_24; 13398 this.accept = dfa_24;
11804 this.special = dfa_19; 13399 this.special = dfa_25;
11805 this.transition = dfa_25; 13400 this.transition = dfa_26;
11806 } 13401 }
11807 public String getDescription() { 13402 public String getDescription() {
11808 return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; 13403 return "2631: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 ) )";
11809 } 13404 }
11810 } 13405 }
11811 static final String dfa_26s = "\17\uffff"; 13406 static final String dfa_27s = "\16\uffff";
11812 static final String dfa_27s = "\12\uffff\2\10\2\uffff\1\10"; 13407 static final String dfa_28s = "\2\uffff\3\1\2\uffff\1\15\2\uffff\3\1\1\uffff";
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"; 13408 static final String dfa_29s = "\1\17\1\uffff\3\22\1\uffff\1\22\1\17\1\61\1\uffff\3\22\1\uffff";
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"; 13409 static final String dfa_30s = "\1\113\1\uffff\3\112\1\uffff\1\112\1\113\1\112\1\uffff\3\112\1\uffff";
11815 static final String dfa_30s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff"; 13410 static final String dfa_31s = "\1\uffff\1\1\3\uffff\1\2\3\uffff\1\3\3\uffff\1\4";
11816 static final String dfa_31s = "\17\uffff}>"; 13411 static final String dfa_32s = "\16\uffff}>";
11817 static final String[] dfa_32s = { 13412 static final String[] dfa_33s = {
11818 "\1\1", 13413 "\1\1\2\uffff\1\4\2\uffff\4\1\5\uffff\1\1\1\uffff\1\1\15\uffff\2\1\1\uffff\1\5\1\1\1\uffff\1\1\7\uffff\2\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1",
11819 "\1\4\4\uffff\1\3\1\2",
11820 "\1\5\2\uffff\1\6",
11821 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
11822 "\1\6\1\11\1\uffff\1\10",
11823 "\1\13\4\uffff\1\12",
11824 "", 13414 "",
11825 "\1\14", 13415 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
13416 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
13417 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
11826 "", 13418 "",
13419 "\1\14\62\uffff\1\13\4\uffff\1\12",
13420 "\1\1\2\uffff\1\1\2\uffff\4\1\5\uffff\1\1\1\uffff\1\1\15\uffff\2\1\1\15\1\uffff\1\1\1\15\1\1\7\uffff\2\1\5\uffff\3\1\4\uffff\2\1",
13421 "\1\15\30\uffff\1\11",
11827 "", 13422 "",
11828 "\1\6\15\uffff\1\15\21\uffff\1\10", 13423 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
11829 "\1\6\37\uffff\1\10", 13424 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
11830 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7", 13425 "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11",
11831 "\1\16", 13426 ""
11832 "\1\6\15\uffff\1\15\21\uffff\1\10"
11833 }; 13427 };
11834 13428
11835 static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
11836 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); 13429 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
11837 static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); 13430 static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s);
11838 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); 13431 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
11839 static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); 13432 static final char[] dfa_30 = DFA.unpackEncodedStringToUnsignedChars(dfa_30s);
11840 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); 13433 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
11841 static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); 13434 static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s);
13435 static final short[][] dfa_33 = unpackEncodedStringArray(dfa_33s);
13436
13437 class DFA34 extends DFA {
13438
13439 public DFA34(BaseRecognizer recognizer) {
13440 this.recognizer = recognizer;
13441 this.decisionNumber = 34;
13442 this.eot = dfa_27;
13443 this.eof = dfa_28;
13444 this.min = dfa_29;
13445 this.max = dfa_30;
13446 this.accept = dfa_31;
13447 this.special = dfa_32;
13448 this.transition = dfa_33;
13449 }
13450 public String getDescription() {
13451 return "2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument )";
13452 }
13453 }
13454 static final String dfa_34s = "\25\uffff";
13455 static final String dfa_35s = "\1\31\1\22\1\47\3\45\1\22\1\uffff\1\22\2\uffff\6\45\1\22\3\45";
13456 static final String dfa_36s = "\1\31\1\113\4\52\1\112\1\uffff\1\112\2\uffff\3\111\3\52\1\112\3\111";
13457 static final String dfa_37s = "\7\uffff\1\2\1\uffff\1\1\1\3\12\uffff";
13458 static final String dfa_38s = "\25\uffff}>";
13459 static final String[] dfa_39s = {
13460 "\1\1",
13461 "\1\5\62\uffff\1\4\4\uffff\1\3\1\2",
13462 "\1\6\2\uffff\1\7",
13463 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13464 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13465 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13466 "\1\15\62\uffff\1\14\4\uffff\1\13",
13467 "",
13468 "\1\20\62\uffff\1\17\4\uffff\1\16",
13469 "",
13470 "",
13471 "\1\21\1\uffff\1\7\41\uffff\1\12",
13472 "\1\21\1\uffff\1\7\41\uffff\1\12",
13473 "\1\21\1\uffff\1\7\41\uffff\1\12",
13474 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13475 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13476 "\1\10\1\uffff\1\7\1\11\1\uffff\1\12",
13477 "\1\24\62\uffff\1\23\4\uffff\1\22",
13478 "\1\21\1\uffff\1\7\41\uffff\1\12",
13479 "\1\21\1\uffff\1\7\41\uffff\1\12",
13480 "\1\21\1\uffff\1\7\41\uffff\1\12"
13481 };
13482
13483 static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s);
13484 static final char[] dfa_35 = DFA.unpackEncodedStringToUnsignedChars(dfa_35s);
13485 static final char[] dfa_36 = DFA.unpackEncodedStringToUnsignedChars(dfa_36s);
13486 static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s);
13487 static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s);
13488 static final short[][] dfa_39 = unpackEncodedStringArray(dfa_39s);
11842 13489
11843 class DFA44 extends DFA { 13490 class DFA53 extends DFA {
11844 13491
11845 public DFA44(BaseRecognizer recognizer) { 13492 public DFA53(BaseRecognizer recognizer) {
11846 this.recognizer = recognizer; 13493 this.recognizer = recognizer;
11847 this.decisionNumber = 44; 13494 this.decisionNumber = 53;
11848 this.eot = dfa_26; 13495 this.eot = dfa_34;
11849 this.eof = dfa_27; 13496 this.eof = dfa_34;
11850 this.min = dfa_28; 13497 this.min = dfa_35;
11851 this.max = dfa_29; 13498 this.max = dfa_36;
11852 this.accept = dfa_30; 13499 this.accept = dfa_37;
11853 this.special = dfa_31; 13500 this.special = dfa_38;
11854 this.transition = dfa_32; 13501 this.transition = dfa_39;
11855 } 13502 }
11856 public String getDescription() { 13503 public String getDescription() {
11857 return "3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; 13504 return "4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope )";
11858 } 13505 }
11859 } 13506 }
11860 13507
11861 13508
11862 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 13509 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
11863 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 13510 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
11864 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L}); 13511 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000420L});
11865 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); 13512 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
11866 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000002L}); 13513 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x3014D0035BF79672L,0x0000000000000C38L});
11867 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L}); 13514 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x3014D0035BF59672L,0x0000000000000C38L});
11868 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000021L}); 13515 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
11869 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L}); 13516 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000080000000000L});
11870 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000021L}); 13517 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0080005000000000L,0x0000000000000200L});
11871 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L}); 13518 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x3014D00341E48000L,0x0000000000000C38L});
11872 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000100000000000L}); 13519 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000840000L,0x0000000000000428L});
11873 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0010000000000000L}); 13520 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000428L});
11874 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L}); 13521 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000040020L,0x0000000000000428L});
11875 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L}); 13522 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000001000000000L});
11876 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L}); 13523 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000800000000000L});
11877 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L}); 13524 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0080000000000000L,0x0000000000000200L});
11878 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L}); 13525 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000004000000000L});
11879 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L}); 13526 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000040002L});
11880 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000002L}); 13527 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000840020L,0x0000000000000420L});
11881 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); 13528 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
11882 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L}); 13529 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000000L});
11883 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000001000000L}); 13530 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
11884 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0001040000000000L}); 13531 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000100L});
11885 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000004000000002L}); 13532 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000020000000002L});
11886 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0020000200000002L}); 13533 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000000L});
11887 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000002L}); 13534 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000004000000L});
11888 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L}); 13535 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0008200000000000L});
11889 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x014004B100000002L}); 13536 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
11890 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0002800000000002L}); 13537 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L});
11891 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0008400000000002L}); 13538 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0100000800000002L});
11892 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000002L}); 13539 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0100000000000002L});
11893 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L}); 13540 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000800000000L});
11894 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L}); 13541 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0008000000000002L});
11895 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L}); 13542 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0A00258400000002L});
11896 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0401000000000000L}); 13543 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0014000000000002L});
11897 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1200000000000000L}); 13544 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0042000000000002L});
11898 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6000000000000000L}); 13545 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x8000000000000002L});
11899 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000200000000000L}); 13546 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000080000000002L});
11900 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL}); 13547 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x2000800141E48000L,0x0000000000000C38L});
11901 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L}); 13548 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
11902 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001200000000000L}); 13549 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001000000000000L});
11903 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L}); 13550 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x3017D00341E48000L,0x0000000000000C38L});
11904 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000400000000000L}); 13551 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0009000000000000L});
11905 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000400000000L}); 13552 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x3016D00341E48000L,0x0000000000000C38L});
11906 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L}); 13553 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0002000000000000L});
11907 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000040000L}); 13554 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0020000000000002L});
11908 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1000000000002000L}); 13555 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000180L});
11909 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1001000000000000L}); 13556 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0008000000000000L});
11910 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L}); 13557 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000000L});
11911 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L}); 13558 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000010100040L});
11912 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000402L}); 13559 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000201L});
11913 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L}); 13560 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000201L});
11914 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); 13561 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x00000000000C0080L,0x0000000000000424L});
11915 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000002000000000L}); 13562 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000400L});
11916 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L}); 13563 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0100000000000802L});
11917 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000001000000000L}); 13564 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000800L});
11918 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000008000000000L}); 13565 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
11919 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000008000000002L}); 13566 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000201L});
11920 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0004000000000002L}); 13567 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000404L});
11921 13568 public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000404L});
11922} \ No newline at end of file 13569 public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000010000000000L});
13570 public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000C20L});
13571 public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000008000000000L});
13572 public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000040000000000L});
13573 public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000200L});
13574 public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0020000000000000L});
13575 public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000002000000002L});
13576
13577}
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 736b2f0a..591c0e60 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,70 +1,75 @@
1'!'=43 1'!'=46
2'!='=32 2'!='=34
3'('=44 3'('=47
4')'=45 4')'=48
5'*'=46 5'*'=49
6'+'=47 6'+'=50
7','=48 7','=51
8'-'=49 8'-'=52
9'->'=33 9'->'=35
10'.'=50 10'.'=53
11'..'=34 11'...'=31
12'...'=28 12'/'=54
13'/'=51 13':'=55
14':'=52 14':-'=36
15':-'=35 15'::'=37
16';'=53 16':='=38
17'<'=54 17';'=56
18'<='=36 18'<'=57
19'='=55 19'<='=39
20'=='=37 20'='=58
21'=>'=38 21'=='=40
22'>'=56 22'=>'=41
23'>='=39 23'>'=59
24'['=57 24'>='=42
25']'=58 25'?'=60
26'^'=59 26'['=61
27'abstract'=5 27']'=62
28'as'=40 28'^'=63
29'class'=18 29'abstract'=6
30'contains'=6 30'as'=43
31'count'=19 31'class'=20
32'current'=11 32'containment'=4
33'datatype'=7 33'contains'=7
34'count'=21
35'datatype'=8
34'default'=12 36'default'=12
35'else'=24 37'else'=26
36'empty'=20 38'empty'=22
37'error'=21 39'enum'=27
38'exists'=15 40'error'=23
39'extends'=13 41'extends'=13
40'extern'=16 42'extern'=16
41'false'=22 43'false'=24
42'forall'=17 44'functional'=5
43'functional'=4 45'if'=44
44'if'=41 46'import'=17
45'in'=42 47'in'=45
46'inf'=29 48'inf'=32
47'let'=30 49'let'=33
48'maximize'=8 50'maximize'=9
49'may'=31 51'minimize'=10
50'minimize'=9 52'object'=18
51'must'=25 53'opposite'=11
52'opposite'=10 54'problem'=14
53'scope'=23 55'refers'=19
54'then'=26 56'root'=28
55'true'=27 57'scope'=25
56'unknown'=14 58'then'=29
57'{'=60 59'true'=30
58'|'=61 60'unknown'=15
59'}'=62 61'{'=64
60RULE_ANY_OTHER=73 62'|'=65
61RULE_FULL_STOP=68 63'}'=66
62RULE_ID=69 64'~'=67
63RULE_INT=70 65RULE_ANY_OTHER=78
64RULE_ML_COMMENT=71 66RULE_FULL_STOP=73
65RULE_QUOTED_ID=64 67RULE_ID=74
66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67 68RULE_INT=75
67RULE_SL_COMMENT=65 69RULE_ML_COMMENT=76
68RULE_STRING=63 70RULE_QUOTED_ID=69
69RULE_TRANSITIVE_CLOSURE=66 71RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72
70RULE_WS=72 72RULE_SL_COMMENT=70
73RULE_STRING=68
74RULE_TRANSITIVE_CLOSURE=71
75RULE_WS=77
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 3c496e8a..074932ca 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,6 +11,8 @@ 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
14Containment : 'containment';
15
14Functional : 'functional'; 16Functional : 'functional';
15 17
16Abstract : 'abstract'; 18Abstract : 'abstract';
@@ -25,19 +27,21 @@ Minimize : 'minimize';
25 27
26Opposite : 'opposite'; 28Opposite : 'opposite';
27 29
28Current : 'current';
29
30Default : 'default'; 30Default : 'default';
31 31
32Extends : 'extends'; 32Extends : 'extends';
33 33
34Unknown : 'unknown'; 34Problem : 'problem';
35 35
36Exists : 'exists'; 36Unknown : 'unknown';
37 37
38Extern : 'extern'; 38Extern : 'extern';
39 39
40Forall : 'forall'; 40Import : 'import';
41
42Object : 'object';
43
44Refers : 'refers';
41 45
42Class : 'class'; 46Class : 'class';
43 47
@@ -53,7 +57,9 @@ Scope : 'scope';
53 57
54Else : 'else'; 58Else : 'else';
55 59
56Must : 'must'; 60Enum : 'enum';
61
62Root : 'root';
57 63
58Then : 'then'; 64Then : 'then';
59 65
@@ -65,16 +71,16 @@ Inf : 'inf';
65 71
66Let : 'let'; 72Let : 'let';
67 73
68May : 'may';
69
70ExclamationMarkEqualsSign : '!='; 74ExclamationMarkEqualsSign : '!=';
71 75
72HyphenMinusGreaterThanSign : '->'; 76HyphenMinusGreaterThanSign : '->';
73 77
74FullStopFullStop : '..';
75
76ColonHyphenMinus : ':-'; 78ColonHyphenMinus : ':-';
77 79
80ColonColon : '::';
81
82ColonEqualsSign : ':=';
83
78LessThanSignEqualsSign : '<='; 84LessThanSignEqualsSign : '<=';
79 85
80EqualsSignEqualsSign : '=='; 86EqualsSignEqualsSign : '==';
@@ -117,6 +123,8 @@ EqualsSign : '=';
117 123
118GreaterThanSign : '>'; 124GreaterThanSign : '>';
119 125
126QuestionMark : '?';
127
120LeftSquareBracket : '['; 128LeftSquareBracket : '[';
121 129
122RightSquareBracket : ']'; 130RightSquareBracket : ']';
@@ -129,6 +137,8 @@ VerticalLine : '|';
129 137
130RightCurlyBracket : '}'; 138RightCurlyBracket : '}';
131 139
140Tilde : '~';
141
132RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; 142RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
133 143
134RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; 144RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
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 b113baaf..4281bac0 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,77 +12,82 @@ 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 EqualsSignGreaterThanSign=38; 15 public static final int Enum=27;
16 public static final int True=27; 16 public static final int Import=17;
17 public static final int Count=19; 17 public static final int EqualsSignGreaterThanSign=41;
18 public static final int False=22; 18 public static final int True=30;
19 public static final int Must=25; 19 public static final int Count=21;
20 public static final int FullStopFullStopFullStop=28; 20 public static final int False=24;
21 public static final int LessThanSign=54; 21 public static final int FullStopFullStopFullStop=31;
22 public static final int Datatype=7; 22 public static final int LessThanSign=57;
23 public static final int LeftParenthesis=44; 23 public static final int Datatype=8;
24 public static final int Unknown=14; 24 public static final int LeftParenthesis=47;
25 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67; 25 public static final int Unknown=15;
26 public static final int FullStopFullStop=34; 26 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72;
27 public static final int Then=26; 27 public static final int Then=29;
28 public static final int Extends=13; 28 public static final int Extends=13;
29 public static final int Forall=17; 29 public static final int RightSquareBracket=62;
30 public static final int RightSquareBracket=58; 30 public static final int ExclamationMark=46;
31 public static final int ExclamationMark=43; 31 public static final int Opposite=11;
32 public static final int Opposite=10; 32 public static final int GreaterThanSign=59;
33 public static final int GreaterThanSign=56; 33 public static final int Root=28;
34 public static final int RULE_ID=69; 34 public static final int RULE_ID=74;
35 public static final int RULE_QUOTED_ID=64; 35 public static final int RULE_QUOTED_ID=69;
36 public static final int RightParenthesis=45; 36 public static final int RightParenthesis=48;
37 public static final int GreaterThanSignEqualsSign=39; 37 public static final int ColonEqualsSign=38;
38 public static final int Functional=4; 38 public static final int GreaterThanSignEqualsSign=42;
39 public static final int EqualsSignEqualsSign=37; 39 public static final int Functional=5;
40 public static final int VerticalLine=61; 40 public static final int ColonColon=37;
41 public static final int PlusSign=47; 41 public static final int EqualsSignEqualsSign=40;
42 public static final int RULE_INT=70; 42 public static final int VerticalLine=65;
43 public static final int Contains=6; 43 public static final int PlusSign=50;
44 public static final int RULE_ML_COMMENT=71; 44 public static final int RULE_INT=75;
45 public static final int RULE_TRANSITIVE_CLOSURE=66; 45 public static final int Contains=7;
46 public static final int Class=18; 46 public static final int RULE_ML_COMMENT=76;
47 public static final int LeftSquareBracket=57; 47 public static final int RULE_TRANSITIVE_CLOSURE=71;
48 public static final int RULE_FULL_STOP=68; 48 public static final int Problem=14;
49 public static final int Current=11; 49 public static final int Object=18;
50 public static final int If=41; 50 public static final int Class=20;
51 public static final int Inf=29; 51 public static final int LeftSquareBracket=61;
52 public static final int May=31; 52 public static final int RULE_FULL_STOP=73;
53 public static final int In=42; 53 public static final int If=44;
54 public static final int RULE_STRING=63; 54 public static final int Refers=19;
55 public static final int Inf=32;
56 public static final int In=45;
57 public static final int RULE_STRING=68;
55 public static final int Extern=16; 58 public static final int Extern=16;
56 public static final int RULE_SL_COMMENT=65; 59 public static final int RULE_SL_COMMENT=70;
57 public static final int Comma=48; 60 public static final int Comma=51;
58 public static final int EqualsSign=55; 61 public static final int EqualsSign=58;
59 public static final int Empty=20; 62 public static final int Empty=22;
60 public static final int As=40; 63 public static final int As=43;
61 public static final int HyphenMinus=49; 64 public static final int HyphenMinus=52;
62 public static final int Maximize=8; 65 public static final int Maximize=9;
63 public static final int LessThanSignEqualsSign=36; 66 public static final int LessThanSignEqualsSign=39;
64 public static final int Solidus=51; 67 public static final int Solidus=54;
65 public static final int Colon=52; 68 public static final int Colon=55;
66 public static final int RightCurlyBracket=62; 69 public static final int RightCurlyBracket=66;
67 public static final int EOF=-1; 70 public static final int EOF=-1;
68 public static final int Asterisk=46; 71 public static final int Asterisk=49;
69 public static final int FullStop=50; 72 public static final int Containment=4;
70 public static final int RULE_WS=72; 73 public static final int FullStop=53;
71 public static final int Abstract=5; 74 public static final int RULE_WS=77;
72 public static final int Minimize=9; 75 public static final int Abstract=6;
73 public static final int LeftCurlyBracket=60; 76 public static final int Minimize=10;
74 public static final int Error=21; 77 public static final int LeftCurlyBracket=64;
75 public static final int RULE_ANY_OTHER=73; 78 public static final int Error=23;
79 public static final int Tilde=67;
80 public static final int RULE_ANY_OTHER=78;
76 public static final int Default=12; 81 public static final int Default=12;
77 public static final int ColonHyphenMinus=35; 82 public static final int ColonHyphenMinus=36;
78 public static final int CircumflexAccent=59; 83 public static final int CircumflexAccent=63;
79 public static final int Semicolon=53; 84 public static final int Semicolon=56;
80 public static final int Scope=23; 85 public static final int Scope=25;
81 public static final int Exists=15; 86 public static final int QuestionMark=60;
82 public static final int Else=24; 87 public static final int Else=26;
83 public static final int Let=30; 88 public static final int Let=33;
84 public static final int ExclamationMarkEqualsSign=32; 89 public static final int ExclamationMarkEqualsSign=34;
85 public static final int HyphenMinusGreaterThanSign=33; 90 public static final int HyphenMinusGreaterThanSign=35;
86 91
87 // delegates 92 // delegates
88 // delegators 93 // delegators
@@ -97,13 +102,34 @@ public class InternalSolverLanguageLexer extends Lexer {
97 } 102 }
98 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } 103 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; }
99 104
105 // $ANTLR start "Containment"
106 public final void mContainment() throws RecognitionException {
107 try {
108 int _type = Containment;
109 int _channel = DEFAULT_TOKEN_CHANNEL;
110 // InternalSolverLanguageLexer.g:14:13: ( 'containment' )
111 // InternalSolverLanguageLexer.g:14:15: 'containment'
112 {
113 match("containment");
114
115
116 }
117
118 state.type = _type;
119 state.channel = _channel;
120 }
121 finally {
122 }
123 }
124 // $ANTLR end "Containment"
125
100 // $ANTLR start "Functional" 126 // $ANTLR start "Functional"
101 public final void mFunctional() throws RecognitionException { 127 public final void mFunctional() throws RecognitionException {
102 try { 128 try {
103 int _type = Functional; 129 int _type = Functional;
104 int _channel = DEFAULT_TOKEN_CHANNEL; 130 int _channel = DEFAULT_TOKEN_CHANNEL;
105 // InternalSolverLanguageLexer.g:14:12: ( 'functional' ) 131 // InternalSolverLanguageLexer.g:16:12: ( 'functional' )
106 // InternalSolverLanguageLexer.g:14:14: 'functional' 132 // InternalSolverLanguageLexer.g:16:14: 'functional'
107 { 133 {
108 match("functional"); 134 match("functional");
109 135
@@ -123,8 +149,8 @@ public class InternalSolverLanguageLexer extends Lexer {
123 try { 149 try {
124 int _type = Abstract; 150 int _type = Abstract;
125 int _channel = DEFAULT_TOKEN_CHANNEL; 151 int _channel = DEFAULT_TOKEN_CHANNEL;
126 // InternalSolverLanguageLexer.g:16:10: ( 'abstract' ) 152 // InternalSolverLanguageLexer.g:18:10: ( 'abstract' )
127 // InternalSolverLanguageLexer.g:16:12: 'abstract' 153 // InternalSolverLanguageLexer.g:18:12: 'abstract'
128 { 154 {
129 match("abstract"); 155 match("abstract");
130 156
@@ -144,8 +170,8 @@ public class InternalSolverLanguageLexer extends Lexer {
144 try { 170 try {
145 int _type = Contains; 171 int _type = Contains;
146 int _channel = DEFAULT_TOKEN_CHANNEL; 172 int _channel = DEFAULT_TOKEN_CHANNEL;
147 // InternalSolverLanguageLexer.g:18:10: ( 'contains' ) 173 // InternalSolverLanguageLexer.g:20:10: ( 'contains' )
148 // InternalSolverLanguageLexer.g:18:12: 'contains' 174 // InternalSolverLanguageLexer.g:20:12: 'contains'
149 { 175 {
150 match("contains"); 176 match("contains");
151 177
@@ -165,8 +191,8 @@ public class InternalSolverLanguageLexer extends Lexer {
165 try { 191 try {
166 int _type = Datatype; 192 int _type = Datatype;
167 int _channel = DEFAULT_TOKEN_CHANNEL; 193 int _channel = DEFAULT_TOKEN_CHANNEL;
168 // InternalSolverLanguageLexer.g:20:10: ( 'datatype' ) 194 // InternalSolverLanguageLexer.g:22:10: ( 'datatype' )
169 // InternalSolverLanguageLexer.g:20:12: 'datatype' 195 // InternalSolverLanguageLexer.g:22:12: 'datatype'
170 { 196 {
171 match("datatype"); 197 match("datatype");
172 198
@@ -186,8 +212,8 @@ public class InternalSolverLanguageLexer extends Lexer {
186 try { 212 try {
187 int _type = Maximize; 213 int _type = Maximize;
188 int _channel = DEFAULT_TOKEN_CHANNEL; 214 int _channel = DEFAULT_TOKEN_CHANNEL;
189 // InternalSolverLanguageLexer.g:22:10: ( 'maximize' ) 215 // InternalSolverLanguageLexer.g:24:10: ( 'maximize' )
190 // InternalSolverLanguageLexer.g:22:12: 'maximize' 216 // InternalSolverLanguageLexer.g:24:12: 'maximize'
191 { 217 {
192 match("maximize"); 218 match("maximize");
193 219
@@ -207,8 +233,8 @@ public class InternalSolverLanguageLexer extends Lexer {
207 try { 233 try {
208 int _type = Minimize; 234 int _type = Minimize;
209 int _channel = DEFAULT_TOKEN_CHANNEL; 235 int _channel = DEFAULT_TOKEN_CHANNEL;
210 // InternalSolverLanguageLexer.g:24:10: ( 'minimize' ) 236 // InternalSolverLanguageLexer.g:26:10: ( 'minimize' )
211 // InternalSolverLanguageLexer.g:24:12: 'minimize' 237 // InternalSolverLanguageLexer.g:26:12: 'minimize'
212 { 238 {
213 match("minimize"); 239 match("minimize");
214 240
@@ -228,8 +254,8 @@ public class InternalSolverLanguageLexer extends Lexer {
228 try { 254 try {
229 int _type = Opposite; 255 int _type = Opposite;
230 int _channel = DEFAULT_TOKEN_CHANNEL; 256 int _channel = DEFAULT_TOKEN_CHANNEL;
231 // InternalSolverLanguageLexer.g:26:10: ( 'opposite' ) 257 // InternalSolverLanguageLexer.g:28:10: ( 'opposite' )
232 // InternalSolverLanguageLexer.g:26:12: 'opposite' 258 // InternalSolverLanguageLexer.g:28:12: 'opposite'
233 { 259 {
234 match("opposite"); 260 match("opposite");
235 261
@@ -244,27 +270,6 @@ public class InternalSolverLanguageLexer extends Lexer {
244 } 270 }
245 // $ANTLR end "Opposite" 271 // $ANTLR end "Opposite"
246 272
247 // $ANTLR start "Current"
248 public final void mCurrent() throws RecognitionException {
249 try {
250 int _type = Current;
251 int _channel = DEFAULT_TOKEN_CHANNEL;
252 // InternalSolverLanguageLexer.g:28:9: ( 'current' )
253 // InternalSolverLanguageLexer.g:28:11: 'current'
254 {
255 match("current");
256
257
258 }
259
260 state.type = _type;
261 state.channel = _channel;
262 }
263 finally {
264 }
265 }
266 // $ANTLR end "Current"
267
268 // $ANTLR start "Default" 273 // $ANTLR start "Default"
269 public final void mDefault() throws RecognitionException { 274 public final void mDefault() throws RecognitionException {
270 try { 275 try {
@@ -307,15 +312,15 @@ public class InternalSolverLanguageLexer extends Lexer {
307 } 312 }
308 // $ANTLR end "Extends" 313 // $ANTLR end "Extends"
309 314
310 // $ANTLR start "Unknown" 315 // $ANTLR start "Problem"
311 public final void mUnknown() throws RecognitionException { 316 public final void mProblem() throws RecognitionException {
312 try { 317 try {
313 int _type = Unknown; 318 int _type = Problem;
314 int _channel = DEFAULT_TOKEN_CHANNEL; 319 int _channel = DEFAULT_TOKEN_CHANNEL;
315 // InternalSolverLanguageLexer.g:34:9: ( 'unknown' ) 320 // InternalSolverLanguageLexer.g:34:9: ( 'problem' )
316 // InternalSolverLanguageLexer.g:34:11: 'unknown' 321 // InternalSolverLanguageLexer.g:34:11: 'problem'
317 { 322 {
318 match("unknown"); 323 match("problem");
319 324
320 325
321 } 326 }
@@ -326,17 +331,17 @@ public class InternalSolverLanguageLexer extends Lexer {
326 finally { 331 finally {
327 } 332 }
328 } 333 }
329 // $ANTLR end "Unknown" 334 // $ANTLR end "Problem"
330 335
331 // $ANTLR start "Exists" 336 // $ANTLR start "Unknown"
332 public final void mExists() throws RecognitionException { 337 public final void mUnknown() throws RecognitionException {
333 try { 338 try {
334 int _type = Exists; 339 int _type = Unknown;
335 int _channel = DEFAULT_TOKEN_CHANNEL; 340 int _channel = DEFAULT_TOKEN_CHANNEL;
336 // InternalSolverLanguageLexer.g:36:8: ( 'exists' ) 341 // InternalSolverLanguageLexer.g:36:9: ( 'unknown' )
337 // InternalSolverLanguageLexer.g:36:10: 'exists' 342 // InternalSolverLanguageLexer.g:36:11: 'unknown'
338 { 343 {
339 match("exists"); 344 match("unknown");
340 345
341 346
342 } 347 }
@@ -347,7 +352,7 @@ public class InternalSolverLanguageLexer extends Lexer {
347 finally { 352 finally {
348 } 353 }
349 } 354 }
350 // $ANTLR end "Exists" 355 // $ANTLR end "Unknown"
351 356
352 // $ANTLR start "Extern" 357 // $ANTLR start "Extern"
353 public final void mExtern() throws RecognitionException { 358 public final void mExtern() throws RecognitionException {
@@ -370,15 +375,15 @@ public class InternalSolverLanguageLexer extends Lexer {
370 } 375 }
371 // $ANTLR end "Extern" 376 // $ANTLR end "Extern"
372 377
373 // $ANTLR start "Forall" 378 // $ANTLR start "Import"
374 public final void mForall() throws RecognitionException { 379 public final void mImport() throws RecognitionException {
375 try { 380 try {
376 int _type = Forall; 381 int _type = Import;
377 int _channel = DEFAULT_TOKEN_CHANNEL; 382 int _channel = DEFAULT_TOKEN_CHANNEL;
378 // InternalSolverLanguageLexer.g:40:8: ( 'forall' ) 383 // InternalSolverLanguageLexer.g:40:8: ( 'import' )
379 // InternalSolverLanguageLexer.g:40:10: 'forall' 384 // InternalSolverLanguageLexer.g:40:10: 'import'
380 { 385 {
381 match("forall"); 386 match("import");
382 387
383 388
384 } 389 }
@@ -389,15 +394,57 @@ public class InternalSolverLanguageLexer extends Lexer {
389 finally { 394 finally {
390 } 395 }
391 } 396 }
392 // $ANTLR end "Forall" 397 // $ANTLR end "Import"
398
399 // $ANTLR start "Object"
400 public final void mObject() throws RecognitionException {
401 try {
402 int _type = Object;
403 int _channel = DEFAULT_TOKEN_CHANNEL;
404 // InternalSolverLanguageLexer.g:42:8: ( 'object' )
405 // InternalSolverLanguageLexer.g:42:10: 'object'
406 {
407 match("object");
408
409
410 }
411
412 state.type = _type;
413 state.channel = _channel;
414 }
415 finally {
416 }
417 }
418 // $ANTLR end "Object"
419
420 // $ANTLR start "Refers"
421 public final void mRefers() throws RecognitionException {
422 try {
423 int _type = Refers;
424 int _channel = DEFAULT_TOKEN_CHANNEL;
425 // InternalSolverLanguageLexer.g:44:8: ( 'refers' )
426 // InternalSolverLanguageLexer.g:44:10: 'refers'
427 {
428 match("refers");
429
430
431 }
432
433 state.type = _type;
434 state.channel = _channel;
435 }
436 finally {
437 }
438 }
439 // $ANTLR end "Refers"
393 440
394 // $ANTLR start "Class" 441 // $ANTLR start "Class"
395 public final void mClass() throws RecognitionException { 442 public final void mClass() throws RecognitionException {
396 try { 443 try {
397 int _type = Class; 444 int _type = Class;
398 int _channel = DEFAULT_TOKEN_CHANNEL; 445 int _channel = DEFAULT_TOKEN_CHANNEL;
399 // InternalSolverLanguageLexer.g:42:7: ( 'class' ) 446 // InternalSolverLanguageLexer.g:46:7: ( 'class' )
400 // InternalSolverLanguageLexer.g:42:9: 'class' 447 // InternalSolverLanguageLexer.g:46:9: 'class'
401 { 448 {
402 match("class"); 449 match("class");
403 450
@@ -417,8 +464,8 @@ public class InternalSolverLanguageLexer extends Lexer {
417 try { 464 try {
418 int _type = Count; 465 int _type = Count;
419 int _channel = DEFAULT_TOKEN_CHANNEL; 466 int _channel = DEFAULT_TOKEN_CHANNEL;
420 // InternalSolverLanguageLexer.g:44:7: ( 'count' ) 467 // InternalSolverLanguageLexer.g:48:7: ( 'count' )
421 // InternalSolverLanguageLexer.g:44:9: 'count' 468 // InternalSolverLanguageLexer.g:48:9: 'count'
422 { 469 {
423 match("count"); 470 match("count");
424 471
@@ -438,8 +485,8 @@ public class InternalSolverLanguageLexer extends Lexer {
438 try { 485 try {
439 int _type = Empty; 486 int _type = Empty;
440 int _channel = DEFAULT_TOKEN_CHANNEL; 487 int _channel = DEFAULT_TOKEN_CHANNEL;
441 // InternalSolverLanguageLexer.g:46:7: ( 'empty' ) 488 // InternalSolverLanguageLexer.g:50:7: ( 'empty' )
442 // InternalSolverLanguageLexer.g:46:9: 'empty' 489 // InternalSolverLanguageLexer.g:50:9: 'empty'
443 { 490 {
444 match("empty"); 491 match("empty");
445 492
@@ -459,8 +506,8 @@ public class InternalSolverLanguageLexer extends Lexer {
459 try { 506 try {
460 int _type = Error; 507 int _type = Error;
461 int _channel = DEFAULT_TOKEN_CHANNEL; 508 int _channel = DEFAULT_TOKEN_CHANNEL;
462 // InternalSolverLanguageLexer.g:48:7: ( 'error' ) 509 // InternalSolverLanguageLexer.g:52:7: ( 'error' )
463 // InternalSolverLanguageLexer.g:48:9: 'error' 510 // InternalSolverLanguageLexer.g:52:9: 'error'
464 { 511 {
465 match("error"); 512 match("error");
466 513
@@ -480,8 +527,8 @@ public class InternalSolverLanguageLexer extends Lexer {
480 try { 527 try {
481 int _type = False; 528 int _type = False;
482 int _channel = DEFAULT_TOKEN_CHANNEL; 529 int _channel = DEFAULT_TOKEN_CHANNEL;
483 // InternalSolverLanguageLexer.g:50:7: ( 'false' ) 530 // InternalSolverLanguageLexer.g:54:7: ( 'false' )
484 // InternalSolverLanguageLexer.g:50:9: 'false' 531 // InternalSolverLanguageLexer.g:54:9: 'false'
485 { 532 {
486 match("false"); 533 match("false");
487 534
@@ -501,8 +548,8 @@ public class InternalSolverLanguageLexer extends Lexer {
501 try { 548 try {
502 int _type = Scope; 549 int _type = Scope;
503 int _channel = DEFAULT_TOKEN_CHANNEL; 550 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalSolverLanguageLexer.g:52:7: ( 'scope' ) 551 // InternalSolverLanguageLexer.g:56:7: ( 'scope' )
505 // InternalSolverLanguageLexer.g:52:9: 'scope' 552 // InternalSolverLanguageLexer.g:56:9: 'scope'
506 { 553 {
507 match("scope"); 554 match("scope");
508 555
@@ -522,8 +569,8 @@ public class InternalSolverLanguageLexer extends Lexer {
522 try { 569 try {
523 int _type = Else; 570 int _type = Else;
524 int _channel = DEFAULT_TOKEN_CHANNEL; 571 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalSolverLanguageLexer.g:54:6: ( 'else' ) 572 // InternalSolverLanguageLexer.g:58:6: ( 'else' )
526 // InternalSolverLanguageLexer.g:54:8: 'else' 573 // InternalSolverLanguageLexer.g:58:8: 'else'
527 { 574 {
528 match("else"); 575 match("else");
529 576
@@ -538,15 +585,15 @@ public class InternalSolverLanguageLexer extends Lexer {
538 } 585 }
539 // $ANTLR end "Else" 586 // $ANTLR end "Else"
540 587
541 // $ANTLR start "Must" 588 // $ANTLR start "Enum"
542 public final void mMust() throws RecognitionException { 589 public final void mEnum() throws RecognitionException {
543 try { 590 try {
544 int _type = Must; 591 int _type = Enum;
545 int _channel = DEFAULT_TOKEN_CHANNEL; 592 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalSolverLanguageLexer.g:56:6: ( 'must' ) 593 // InternalSolverLanguageLexer.g:60:6: ( 'enum' )
547 // InternalSolverLanguageLexer.g:56:8: 'must' 594 // InternalSolverLanguageLexer.g:60:8: 'enum'
548 { 595 {
549 match("must"); 596 match("enum");
550 597
551 598
552 } 599 }
@@ -557,15 +604,36 @@ public class InternalSolverLanguageLexer extends Lexer {
557 finally { 604 finally {
558 } 605 }
559 } 606 }
560 // $ANTLR end "Must" 607 // $ANTLR end "Enum"
608
609 // $ANTLR start "Root"
610 public final void mRoot() throws RecognitionException {
611 try {
612 int _type = Root;
613 int _channel = DEFAULT_TOKEN_CHANNEL;
614 // InternalSolverLanguageLexer.g:62:6: ( 'root' )
615 // InternalSolverLanguageLexer.g:62:8: 'root'
616 {
617 match("root");
618
619
620 }
621
622 state.type = _type;
623 state.channel = _channel;
624 }
625 finally {
626 }
627 }
628 // $ANTLR end "Root"
561 629
562 // $ANTLR start "Then" 630 // $ANTLR start "Then"
563 public final void mThen() throws RecognitionException { 631 public final void mThen() throws RecognitionException {
564 try { 632 try {
565 int _type = Then; 633 int _type = Then;
566 int _channel = DEFAULT_TOKEN_CHANNEL; 634 int _channel = DEFAULT_TOKEN_CHANNEL;
567 // InternalSolverLanguageLexer.g:58:6: ( 'then' ) 635 // InternalSolverLanguageLexer.g:64:6: ( 'then' )
568 // InternalSolverLanguageLexer.g:58:8: 'then' 636 // InternalSolverLanguageLexer.g:64:8: 'then'
569 { 637 {
570 match("then"); 638 match("then");
571 639
@@ -585,8 +653,8 @@ public class InternalSolverLanguageLexer extends Lexer {
585 try { 653 try {
586 int _type = True; 654 int _type = True;
587 int _channel = DEFAULT_TOKEN_CHANNEL; 655 int _channel = DEFAULT_TOKEN_CHANNEL;
588 // InternalSolverLanguageLexer.g:60:6: ( 'true' ) 656 // InternalSolverLanguageLexer.g:66:6: ( 'true' )
589 // InternalSolverLanguageLexer.g:60:8: 'true' 657 // InternalSolverLanguageLexer.g:66:8: 'true'
590 { 658 {
591 match("true"); 659 match("true");
592 660
@@ -606,8 +674,8 @@ public class InternalSolverLanguageLexer extends Lexer {
606 try { 674 try {
607 int _type = FullStopFullStopFullStop; 675 int _type = FullStopFullStopFullStop;
608 int _channel = DEFAULT_TOKEN_CHANNEL; 676 int _channel = DEFAULT_TOKEN_CHANNEL;
609 // InternalSolverLanguageLexer.g:62:26: ( '...' ) 677 // InternalSolverLanguageLexer.g:68:26: ( '...' )
610 // InternalSolverLanguageLexer.g:62:28: '...' 678 // InternalSolverLanguageLexer.g:68:28: '...'
611 { 679 {
612 match("..."); 680 match("...");
613 681
@@ -627,8 +695,8 @@ public class InternalSolverLanguageLexer extends Lexer {
627 try { 695 try {
628 int _type = Inf; 696 int _type = Inf;
629 int _channel = DEFAULT_TOKEN_CHANNEL; 697 int _channel = DEFAULT_TOKEN_CHANNEL;
630 // InternalSolverLanguageLexer.g:64:5: ( 'inf' ) 698 // InternalSolverLanguageLexer.g:70:5: ( 'inf' )
631 // InternalSolverLanguageLexer.g:64:7: 'inf' 699 // InternalSolverLanguageLexer.g:70:7: 'inf'
632 { 700 {
633 match("inf"); 701 match("inf");
634 702
@@ -648,8 +716,8 @@ public class InternalSolverLanguageLexer extends Lexer {
648 try { 716 try {
649 int _type = Let; 717 int _type = Let;
650 int _channel = DEFAULT_TOKEN_CHANNEL; 718 int _channel = DEFAULT_TOKEN_CHANNEL;
651 // InternalSolverLanguageLexer.g:66:5: ( 'let' ) 719 // InternalSolverLanguageLexer.g:72:5: ( 'let' )
652 // InternalSolverLanguageLexer.g:66:7: 'let' 720 // InternalSolverLanguageLexer.g:72:7: 'let'
653 { 721 {
654 match("let"); 722 match("let");
655 723
@@ -664,15 +732,15 @@ public class InternalSolverLanguageLexer extends Lexer {
664 } 732 }
665 // $ANTLR end "Let" 733 // $ANTLR end "Let"
666 734
667 // $ANTLR start "May" 735 // $ANTLR start "ExclamationMarkEqualsSign"
668 public final void mMay() throws RecognitionException { 736 public final void mExclamationMarkEqualsSign() throws RecognitionException {
669 try { 737 try {
670 int _type = May; 738 int _type = ExclamationMarkEqualsSign;
671 int _channel = DEFAULT_TOKEN_CHANNEL; 739 int _channel = DEFAULT_TOKEN_CHANNEL;
672 // InternalSolverLanguageLexer.g:68:5: ( 'may' ) 740 // InternalSolverLanguageLexer.g:74:27: ( '!=' )
673 // InternalSolverLanguageLexer.g:68:7: 'may' 741 // InternalSolverLanguageLexer.g:74:29: '!='
674 { 742 {
675 match("may"); 743 match("!=");
676 744
677 745
678 } 746 }
@@ -683,17 +751,17 @@ public class InternalSolverLanguageLexer extends Lexer {
683 finally { 751 finally {
684 } 752 }
685 } 753 }
686 // $ANTLR end "May" 754 // $ANTLR end "ExclamationMarkEqualsSign"
687 755
688 // $ANTLR start "ExclamationMarkEqualsSign" 756 // $ANTLR start "HyphenMinusGreaterThanSign"
689 public final void mExclamationMarkEqualsSign() throws RecognitionException { 757 public final void mHyphenMinusGreaterThanSign() throws RecognitionException {
690 try { 758 try {
691 int _type = ExclamationMarkEqualsSign; 759 int _type = HyphenMinusGreaterThanSign;
692 int _channel = DEFAULT_TOKEN_CHANNEL; 760 int _channel = DEFAULT_TOKEN_CHANNEL;
693 // InternalSolverLanguageLexer.g:70:27: ( '!=' ) 761 // InternalSolverLanguageLexer.g:76:28: ( '->' )
694 // InternalSolverLanguageLexer.g:70:29: '!=' 762 // InternalSolverLanguageLexer.g:76:30: '->'
695 { 763 {
696 match("!="); 764 match("->");
697 765
698 766
699 } 767 }
@@ -704,17 +772,17 @@ public class InternalSolverLanguageLexer extends Lexer {
704 finally { 772 finally {
705 } 773 }
706 } 774 }
707 // $ANTLR end "ExclamationMarkEqualsSign" 775 // $ANTLR end "HyphenMinusGreaterThanSign"
708 776
709 // $ANTLR start "HyphenMinusGreaterThanSign" 777 // $ANTLR start "ColonHyphenMinus"
710 public final void mHyphenMinusGreaterThanSign() throws RecognitionException { 778 public final void mColonHyphenMinus() throws RecognitionException {
711 try { 779 try {
712 int _type = HyphenMinusGreaterThanSign; 780 int _type = ColonHyphenMinus;
713 int _channel = DEFAULT_TOKEN_CHANNEL; 781 int _channel = DEFAULT_TOKEN_CHANNEL;
714 // InternalSolverLanguageLexer.g:72:28: ( '->' ) 782 // InternalSolverLanguageLexer.g:78:18: ( ':-' )
715 // InternalSolverLanguageLexer.g:72:30: '->' 783 // InternalSolverLanguageLexer.g:78:20: ':-'
716 { 784 {
717 match("->"); 785 match(":-");
718 786
719 787
720 } 788 }
@@ -725,17 +793,17 @@ public class InternalSolverLanguageLexer extends Lexer {
725 finally { 793 finally {
726 } 794 }
727 } 795 }
728 // $ANTLR end "HyphenMinusGreaterThanSign" 796 // $ANTLR end "ColonHyphenMinus"
729 797
730 // $ANTLR start "FullStopFullStop" 798 // $ANTLR start "ColonColon"
731 public final void mFullStopFullStop() throws RecognitionException { 799 public final void mColonColon() throws RecognitionException {
732 try { 800 try {
733 int _type = FullStopFullStop; 801 int _type = ColonColon;
734 int _channel = DEFAULT_TOKEN_CHANNEL; 802 int _channel = DEFAULT_TOKEN_CHANNEL;
735 // InternalSolverLanguageLexer.g:74:18: ( '..' ) 803 // InternalSolverLanguageLexer.g:80:12: ( '::' )
736 // InternalSolverLanguageLexer.g:74:20: '..' 804 // InternalSolverLanguageLexer.g:80:14: '::'
737 { 805 {
738 match(".."); 806 match("::");
739 807
740 808
741 } 809 }
@@ -746,17 +814,17 @@ public class InternalSolverLanguageLexer extends Lexer {
746 finally { 814 finally {
747 } 815 }
748 } 816 }
749 // $ANTLR end "FullStopFullStop" 817 // $ANTLR end "ColonColon"
750 818
751 // $ANTLR start "ColonHyphenMinus" 819 // $ANTLR start "ColonEqualsSign"
752 public final void mColonHyphenMinus() throws RecognitionException { 820 public final void mColonEqualsSign() throws RecognitionException {
753 try { 821 try {
754 int _type = ColonHyphenMinus; 822 int _type = ColonEqualsSign;
755 int _channel = DEFAULT_TOKEN_CHANNEL; 823 int _channel = DEFAULT_TOKEN_CHANNEL;
756 // InternalSolverLanguageLexer.g:76:18: ( ':-' ) 824 // InternalSolverLanguageLexer.g:82:17: ( ':=' )
757 // InternalSolverLanguageLexer.g:76:20: ':-' 825 // InternalSolverLanguageLexer.g:82:19: ':='
758 { 826 {
759 match(":-"); 827 match(":=");
760 828
761 829
762 } 830 }
@@ -767,15 +835,15 @@ public class InternalSolverLanguageLexer extends Lexer {
767 finally { 835 finally {
768 } 836 }
769 } 837 }
770 // $ANTLR end "ColonHyphenMinus" 838 // $ANTLR end "ColonEqualsSign"
771 839
772 // $ANTLR start "LessThanSignEqualsSign" 840 // $ANTLR start "LessThanSignEqualsSign"
773 public final void mLessThanSignEqualsSign() throws RecognitionException { 841 public final void mLessThanSignEqualsSign() throws RecognitionException {
774 try { 842 try {
775 int _type = LessThanSignEqualsSign; 843 int _type = LessThanSignEqualsSign;
776 int _channel = DEFAULT_TOKEN_CHANNEL; 844 int _channel = DEFAULT_TOKEN_CHANNEL;
777 // InternalSolverLanguageLexer.g:78:24: ( '<=' ) 845 // InternalSolverLanguageLexer.g:84:24: ( '<=' )
778 // InternalSolverLanguageLexer.g:78:26: '<=' 846 // InternalSolverLanguageLexer.g:84:26: '<='
779 { 847 {
780 match("<="); 848 match("<=");
781 849
@@ -795,8 +863,8 @@ public class InternalSolverLanguageLexer extends Lexer {
795 try { 863 try {
796 int _type = EqualsSignEqualsSign; 864 int _type = EqualsSignEqualsSign;
797 int _channel = DEFAULT_TOKEN_CHANNEL; 865 int _channel = DEFAULT_TOKEN_CHANNEL;
798 // InternalSolverLanguageLexer.g:80:22: ( '==' ) 866 // InternalSolverLanguageLexer.g:86:22: ( '==' )
799 // InternalSolverLanguageLexer.g:80:24: '==' 867 // InternalSolverLanguageLexer.g:86:24: '=='
800 { 868 {
801 match("=="); 869 match("==");
802 870
@@ -816,8 +884,8 @@ public class InternalSolverLanguageLexer extends Lexer {
816 try { 884 try {
817 int _type = EqualsSignGreaterThanSign; 885 int _type = EqualsSignGreaterThanSign;
818 int _channel = DEFAULT_TOKEN_CHANNEL; 886 int _channel = DEFAULT_TOKEN_CHANNEL;
819 // InternalSolverLanguageLexer.g:82:27: ( '=>' ) 887 // InternalSolverLanguageLexer.g:88:27: ( '=>' )
820 // InternalSolverLanguageLexer.g:82:29: '=>' 888 // InternalSolverLanguageLexer.g:88:29: '=>'
821 { 889 {
822 match("=>"); 890 match("=>");
823 891
@@ -837,8 +905,8 @@ public class InternalSolverLanguageLexer extends Lexer {
837 try { 905 try {
838 int _type = GreaterThanSignEqualsSign; 906 int _type = GreaterThanSignEqualsSign;
839 int _channel = DEFAULT_TOKEN_CHANNEL; 907 int _channel = DEFAULT_TOKEN_CHANNEL;
840 // InternalSolverLanguageLexer.g:84:27: ( '>=' ) 908 // InternalSolverLanguageLexer.g:90:27: ( '>=' )
841 // InternalSolverLanguageLexer.g:84:29: '>=' 909 // InternalSolverLanguageLexer.g:90:29: '>='
842 { 910 {
843 match(">="); 911 match(">=");
844 912
@@ -858,8 +926,8 @@ public class InternalSolverLanguageLexer extends Lexer {
858 try { 926 try {
859 int _type = As; 927 int _type = As;
860 int _channel = DEFAULT_TOKEN_CHANNEL; 928 int _channel = DEFAULT_TOKEN_CHANNEL;
861 // InternalSolverLanguageLexer.g:86:4: ( 'as' ) 929 // InternalSolverLanguageLexer.g:92:4: ( 'as' )
862 // InternalSolverLanguageLexer.g:86:6: 'as' 930 // InternalSolverLanguageLexer.g:92:6: 'as'
863 { 931 {
864 match("as"); 932 match("as");
865 933
@@ -879,8 +947,8 @@ public class InternalSolverLanguageLexer extends Lexer {
879 try { 947 try {
880 int _type = If; 948 int _type = If;
881 int _channel = DEFAULT_TOKEN_CHANNEL; 949 int _channel = DEFAULT_TOKEN_CHANNEL;
882 // InternalSolverLanguageLexer.g:88:4: ( 'if' ) 950 // InternalSolverLanguageLexer.g:94:4: ( 'if' )
883 // InternalSolverLanguageLexer.g:88:6: 'if' 951 // InternalSolverLanguageLexer.g:94:6: 'if'
884 { 952 {
885 match("if"); 953 match("if");
886 954
@@ -900,8 +968,8 @@ public class InternalSolverLanguageLexer extends Lexer {
900 try { 968 try {
901 int _type = In; 969 int _type = In;
902 int _channel = DEFAULT_TOKEN_CHANNEL; 970 int _channel = DEFAULT_TOKEN_CHANNEL;
903 // InternalSolverLanguageLexer.g:90:4: ( 'in' ) 971 // InternalSolverLanguageLexer.g:96:4: ( 'in' )
904 // InternalSolverLanguageLexer.g:90:6: 'in' 972 // InternalSolverLanguageLexer.g:96:6: 'in'
905 { 973 {
906 match("in"); 974 match("in");
907 975
@@ -921,8 +989,8 @@ public class InternalSolverLanguageLexer extends Lexer {
921 try { 989 try {
922 int _type = ExclamationMark; 990 int _type = ExclamationMark;
923 int _channel = DEFAULT_TOKEN_CHANNEL; 991 int _channel = DEFAULT_TOKEN_CHANNEL;
924 // InternalSolverLanguageLexer.g:92:17: ( '!' ) 992 // InternalSolverLanguageLexer.g:98:17: ( '!' )
925 // InternalSolverLanguageLexer.g:92:19: '!' 993 // InternalSolverLanguageLexer.g:98:19: '!'
926 { 994 {
927 match('!'); 995 match('!');
928 996
@@ -941,8 +1009,8 @@ public class InternalSolverLanguageLexer extends Lexer {
941 try { 1009 try {
942 int _type = LeftParenthesis; 1010 int _type = LeftParenthesis;
943 int _channel = DEFAULT_TOKEN_CHANNEL; 1011 int _channel = DEFAULT_TOKEN_CHANNEL;
944 // InternalSolverLanguageLexer.g:94:17: ( '(' ) 1012 // InternalSolverLanguageLexer.g:100:17: ( '(' )
945 // InternalSolverLanguageLexer.g:94:19: '(' 1013 // InternalSolverLanguageLexer.g:100:19: '('
946 { 1014 {
947 match('('); 1015 match('(');
948 1016
@@ -961,8 +1029,8 @@ public class InternalSolverLanguageLexer extends Lexer {
961 try { 1029 try {
962 int _type = RightParenthesis; 1030 int _type = RightParenthesis;
963 int _channel = DEFAULT_TOKEN_CHANNEL; 1031 int _channel = DEFAULT_TOKEN_CHANNEL;
964 // InternalSolverLanguageLexer.g:96:18: ( ')' ) 1032 // InternalSolverLanguageLexer.g:102:18: ( ')' )
965 // InternalSolverLanguageLexer.g:96:20: ')' 1033 // InternalSolverLanguageLexer.g:102:20: ')'
966 { 1034 {
967 match(')'); 1035 match(')');
968 1036
@@ -981,8 +1049,8 @@ public class InternalSolverLanguageLexer extends Lexer {
981 try { 1049 try {
982 int _type = Asterisk; 1050 int _type = Asterisk;
983 int _channel = DEFAULT_TOKEN_CHANNEL; 1051 int _channel = DEFAULT_TOKEN_CHANNEL;
984 // InternalSolverLanguageLexer.g:98:10: ( '*' ) 1052 // InternalSolverLanguageLexer.g:104:10: ( '*' )
985 // InternalSolverLanguageLexer.g:98:12: '*' 1053 // InternalSolverLanguageLexer.g:104:12: '*'
986 { 1054 {
987 match('*'); 1055 match('*');
988 1056
@@ -1001,8 +1069,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1001 try { 1069 try {
1002 int _type = PlusSign; 1070 int _type = PlusSign;
1003 int _channel = DEFAULT_TOKEN_CHANNEL; 1071 int _channel = DEFAULT_TOKEN_CHANNEL;
1004 // InternalSolverLanguageLexer.g:100:10: ( '+' ) 1072 // InternalSolverLanguageLexer.g:106:10: ( '+' )
1005 // InternalSolverLanguageLexer.g:100:12: '+' 1073 // InternalSolverLanguageLexer.g:106:12: '+'
1006 { 1074 {
1007 match('+'); 1075 match('+');
1008 1076
@@ -1021,8 +1089,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1021 try { 1089 try {
1022 int _type = Comma; 1090 int _type = Comma;
1023 int _channel = DEFAULT_TOKEN_CHANNEL; 1091 int _channel = DEFAULT_TOKEN_CHANNEL;
1024 // InternalSolverLanguageLexer.g:102:7: ( ',' ) 1092 // InternalSolverLanguageLexer.g:108:7: ( ',' )
1025 // InternalSolverLanguageLexer.g:102:9: ',' 1093 // InternalSolverLanguageLexer.g:108:9: ','
1026 { 1094 {
1027 match(','); 1095 match(',');
1028 1096
@@ -1041,8 +1109,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1041 try { 1109 try {
1042 int _type = HyphenMinus; 1110 int _type = HyphenMinus;
1043 int _channel = DEFAULT_TOKEN_CHANNEL; 1111 int _channel = DEFAULT_TOKEN_CHANNEL;
1044 // InternalSolverLanguageLexer.g:104:13: ( '-' ) 1112 // InternalSolverLanguageLexer.g:110:13: ( '-' )
1045 // InternalSolverLanguageLexer.g:104:15: '-' 1113 // InternalSolverLanguageLexer.g:110:15: '-'
1046 { 1114 {
1047 match('-'); 1115 match('-');
1048 1116
@@ -1061,8 +1129,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1061 try { 1129 try {
1062 int _type = FullStop; 1130 int _type = FullStop;
1063 int _channel = DEFAULT_TOKEN_CHANNEL; 1131 int _channel = DEFAULT_TOKEN_CHANNEL;
1064 // InternalSolverLanguageLexer.g:106:10: ( '.' ) 1132 // InternalSolverLanguageLexer.g:112:10: ( '.' )
1065 // InternalSolverLanguageLexer.g:106:12: '.' 1133 // InternalSolverLanguageLexer.g:112:12: '.'
1066 { 1134 {
1067 match('.'); 1135 match('.');
1068 1136
@@ -1081,8 +1149,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1081 try { 1149 try {
1082 int _type = Solidus; 1150 int _type = Solidus;
1083 int _channel = DEFAULT_TOKEN_CHANNEL; 1151 int _channel = DEFAULT_TOKEN_CHANNEL;
1084 // InternalSolverLanguageLexer.g:108:9: ( '/' ) 1152 // InternalSolverLanguageLexer.g:114:9: ( '/' )
1085 // InternalSolverLanguageLexer.g:108:11: '/' 1153 // InternalSolverLanguageLexer.g:114:11: '/'
1086 { 1154 {
1087 match('/'); 1155 match('/');
1088 1156
@@ -1101,8 +1169,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1101 try { 1169 try {
1102 int _type = Colon; 1170 int _type = Colon;
1103 int _channel = DEFAULT_TOKEN_CHANNEL; 1171 int _channel = DEFAULT_TOKEN_CHANNEL;
1104 // InternalSolverLanguageLexer.g:110:7: ( ':' ) 1172 // InternalSolverLanguageLexer.g:116:7: ( ':' )
1105 // InternalSolverLanguageLexer.g:110:9: ':' 1173 // InternalSolverLanguageLexer.g:116:9: ':'
1106 { 1174 {
1107 match(':'); 1175 match(':');
1108 1176
@@ -1121,8 +1189,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1121 try { 1189 try {
1122 int _type = Semicolon; 1190 int _type = Semicolon;
1123 int _channel = DEFAULT_TOKEN_CHANNEL; 1191 int _channel = DEFAULT_TOKEN_CHANNEL;
1124 // InternalSolverLanguageLexer.g:112:11: ( ';' ) 1192 // InternalSolverLanguageLexer.g:118:11: ( ';' )
1125 // InternalSolverLanguageLexer.g:112:13: ';' 1193 // InternalSolverLanguageLexer.g:118:13: ';'
1126 { 1194 {
1127 match(';'); 1195 match(';');
1128 1196
@@ -1141,8 +1209,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1141 try { 1209 try {
1142 int _type = LessThanSign; 1210 int _type = LessThanSign;
1143 int _channel = DEFAULT_TOKEN_CHANNEL; 1211 int _channel = DEFAULT_TOKEN_CHANNEL;
1144 // InternalSolverLanguageLexer.g:114:14: ( '<' ) 1212 // InternalSolverLanguageLexer.g:120:14: ( '<' )
1145 // InternalSolverLanguageLexer.g:114:16: '<' 1213 // InternalSolverLanguageLexer.g:120:16: '<'
1146 { 1214 {
1147 match('<'); 1215 match('<');
1148 1216
@@ -1161,8 +1229,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1161 try { 1229 try {
1162 int _type = EqualsSign; 1230 int _type = EqualsSign;
1163 int _channel = DEFAULT_TOKEN_CHANNEL; 1231 int _channel = DEFAULT_TOKEN_CHANNEL;
1164 // InternalSolverLanguageLexer.g:116:12: ( '=' ) 1232 // InternalSolverLanguageLexer.g:122:12: ( '=' )
1165 // InternalSolverLanguageLexer.g:116:14: '=' 1233 // InternalSolverLanguageLexer.g:122:14: '='
1166 { 1234 {
1167 match('='); 1235 match('=');
1168 1236
@@ -1181,8 +1249,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1181 try { 1249 try {
1182 int _type = GreaterThanSign; 1250 int _type = GreaterThanSign;
1183 int _channel = DEFAULT_TOKEN_CHANNEL; 1251 int _channel = DEFAULT_TOKEN_CHANNEL;
1184 // InternalSolverLanguageLexer.g:118:17: ( '>' ) 1252 // InternalSolverLanguageLexer.g:124:17: ( '>' )
1185 // InternalSolverLanguageLexer.g:118:19: '>' 1253 // InternalSolverLanguageLexer.g:124:19: '>'
1186 { 1254 {
1187 match('>'); 1255 match('>');
1188 1256
@@ -1196,13 +1264,33 @@ public class InternalSolverLanguageLexer extends Lexer {
1196 } 1264 }
1197 // $ANTLR end "GreaterThanSign" 1265 // $ANTLR end "GreaterThanSign"
1198 1266
1267 // $ANTLR start "QuestionMark"
1268 public final void mQuestionMark() throws RecognitionException {
1269 try {
1270 int _type = QuestionMark;
1271 int _channel = DEFAULT_TOKEN_CHANNEL;
1272 // InternalSolverLanguageLexer.g:126:14: ( '?' )
1273 // InternalSolverLanguageLexer.g:126:16: '?'
1274 {
1275 match('?');
1276
1277 }
1278
1279 state.type = _type;
1280 state.channel = _channel;
1281 }
1282 finally {
1283 }
1284 }
1285 // $ANTLR end "QuestionMark"
1286
1199 // $ANTLR start "LeftSquareBracket" 1287 // $ANTLR start "LeftSquareBracket"
1200 public final void mLeftSquareBracket() throws RecognitionException { 1288 public final void mLeftSquareBracket() throws RecognitionException {
1201 try { 1289 try {
1202 int _type = LeftSquareBracket; 1290 int _type = LeftSquareBracket;
1203 int _channel = DEFAULT_TOKEN_CHANNEL; 1291 int _channel = DEFAULT_TOKEN_CHANNEL;
1204 // InternalSolverLanguageLexer.g:120:19: ( '[' ) 1292 // InternalSolverLanguageLexer.g:128:19: ( '[' )
1205 // InternalSolverLanguageLexer.g:120:21: '[' 1293 // InternalSolverLanguageLexer.g:128:21: '['
1206 { 1294 {
1207 match('['); 1295 match('[');
1208 1296
@@ -1221,8 +1309,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1221 try { 1309 try {
1222 int _type = RightSquareBracket; 1310 int _type = RightSquareBracket;
1223 int _channel = DEFAULT_TOKEN_CHANNEL; 1311 int _channel = DEFAULT_TOKEN_CHANNEL;
1224 // InternalSolverLanguageLexer.g:122:20: ( ']' ) 1312 // InternalSolverLanguageLexer.g:130:20: ( ']' )
1225 // InternalSolverLanguageLexer.g:122:22: ']' 1313 // InternalSolverLanguageLexer.g:130:22: ']'
1226 { 1314 {
1227 match(']'); 1315 match(']');
1228 1316
@@ -1241,8 +1329,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1241 try { 1329 try {
1242 int _type = CircumflexAccent; 1330 int _type = CircumflexAccent;
1243 int _channel = DEFAULT_TOKEN_CHANNEL; 1331 int _channel = DEFAULT_TOKEN_CHANNEL;
1244 // InternalSolverLanguageLexer.g:124:18: ( '^' ) 1332 // InternalSolverLanguageLexer.g:132:18: ( '^' )
1245 // InternalSolverLanguageLexer.g:124:20: '^' 1333 // InternalSolverLanguageLexer.g:132:20: '^'
1246 { 1334 {
1247 match('^'); 1335 match('^');
1248 1336
@@ -1261,8 +1349,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1261 try { 1349 try {
1262 int _type = LeftCurlyBracket; 1350 int _type = LeftCurlyBracket;
1263 int _channel = DEFAULT_TOKEN_CHANNEL; 1351 int _channel = DEFAULT_TOKEN_CHANNEL;
1264 // InternalSolverLanguageLexer.g:126:18: ( '{' ) 1352 // InternalSolverLanguageLexer.g:134:18: ( '{' )
1265 // InternalSolverLanguageLexer.g:126:20: '{' 1353 // InternalSolverLanguageLexer.g:134:20: '{'
1266 { 1354 {
1267 match('{'); 1355 match('{');
1268 1356
@@ -1281,8 +1369,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1281 try { 1369 try {
1282 int _type = VerticalLine; 1370 int _type = VerticalLine;
1283 int _channel = DEFAULT_TOKEN_CHANNEL; 1371 int _channel = DEFAULT_TOKEN_CHANNEL;
1284 // InternalSolverLanguageLexer.g:128:14: ( '|' ) 1372 // InternalSolverLanguageLexer.g:136:14: ( '|' )
1285 // InternalSolverLanguageLexer.g:128:16: '|' 1373 // InternalSolverLanguageLexer.g:136:16: '|'
1286 { 1374 {
1287 match('|'); 1375 match('|');
1288 1376
@@ -1301,8 +1389,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1301 try { 1389 try {
1302 int _type = RightCurlyBracket; 1390 int _type = RightCurlyBracket;
1303 int _channel = DEFAULT_TOKEN_CHANNEL; 1391 int _channel = DEFAULT_TOKEN_CHANNEL;
1304 // InternalSolverLanguageLexer.g:130:19: ( '}' ) 1392 // InternalSolverLanguageLexer.g:138:19: ( '}' )
1305 // InternalSolverLanguageLexer.g:130:21: '}' 1393 // InternalSolverLanguageLexer.g:138:21: '}'
1306 { 1394 {
1307 match('}'); 1395 match('}');
1308 1396
@@ -1316,16 +1404,36 @@ public class InternalSolverLanguageLexer extends Lexer {
1316 } 1404 }
1317 // $ANTLR end "RightCurlyBracket" 1405 // $ANTLR end "RightCurlyBracket"
1318 1406
1407 // $ANTLR start "Tilde"
1408 public final void mTilde() throws RecognitionException {
1409 try {
1410 int _type = Tilde;
1411 int _channel = DEFAULT_TOKEN_CHANNEL;
1412 // InternalSolverLanguageLexer.g:140:7: ( '~' )
1413 // InternalSolverLanguageLexer.g:140:9: '~'
1414 {
1415 match('~');
1416
1417 }
1418
1419 state.type = _type;
1420 state.channel = _channel;
1421 }
1422 finally {
1423 }
1424 }
1425 // $ANTLR end "Tilde"
1426
1319 // $ANTLR start "RULE_STRING" 1427 // $ANTLR start "RULE_STRING"
1320 public final void mRULE_STRING() throws RecognitionException { 1428 public final void mRULE_STRING() throws RecognitionException {
1321 try { 1429 try {
1322 int _type = RULE_STRING; 1430 int _type = RULE_STRING;
1323 int _channel = DEFAULT_TOKEN_CHANNEL; 1431 int _channel = DEFAULT_TOKEN_CHANNEL;
1324 // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1432 // InternalSolverLanguageLexer.g:142:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1325 // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1433 // InternalSolverLanguageLexer.g:142:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1326 { 1434 {
1327 match('\"'); 1435 match('\"');
1328 // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1436 // InternalSolverLanguageLexer.g:142:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1329 loop1: 1437 loop1:
1330 do { 1438 do {
1331 int alt1=3; 1439 int alt1=3;
@@ -1341,7 +1449,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1341 1449
1342 switch (alt1) { 1450 switch (alt1) {
1343 case 1 : 1451 case 1 :
1344 // InternalSolverLanguageLexer.g:132:20: '\\\\' . 1452 // InternalSolverLanguageLexer.g:142:20: '\\\\' .
1345 { 1453 {
1346 match('\\'); 1454 match('\\');
1347 matchAny(); 1455 matchAny();
@@ -1349,7 +1457,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1349 } 1457 }
1350 break; 1458 break;
1351 case 2 : 1459 case 2 :
1352 // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) ) 1460 // InternalSolverLanguageLexer.g:142:27: ~ ( ( '\\\\' | '\"' ) )
1353 { 1461 {
1354 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1462 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1355 input.consume(); 1463 input.consume();
@@ -1386,11 +1494,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1386 try { 1494 try {
1387 int _type = RULE_QUOTED_ID; 1495 int _type = RULE_QUOTED_ID;
1388 int _channel = DEFAULT_TOKEN_CHANNEL; 1496 int _channel = DEFAULT_TOKEN_CHANNEL;
1389 // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1497 // InternalSolverLanguageLexer.g:144:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1390 // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 1498 // InternalSolverLanguageLexer.g:144:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1391 { 1499 {
1392 match('\''); 1500 match('\'');
1393 // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 1501 // InternalSolverLanguageLexer.g:144:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1394 loop2: 1502 loop2:
1395 do { 1503 do {
1396 int alt2=3; 1504 int alt2=3;
@@ -1406,7 +1514,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1406 1514
1407 switch (alt2) { 1515 switch (alt2) {
1408 case 1 : 1516 case 1 :
1409 // InternalSolverLanguageLexer.g:134:24: '\\\\' . 1517 // InternalSolverLanguageLexer.g:144:24: '\\\\' .
1410 { 1518 {
1411 match('\\'); 1519 match('\\');
1412 matchAny(); 1520 matchAny();
@@ -1414,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1414 } 1522 }
1415 break; 1523 break;
1416 case 2 : 1524 case 2 :
1417 // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) ) 1525 // InternalSolverLanguageLexer.g:144:31: ~ ( ( '\\\\' | '\\'' ) )
1418 { 1526 {
1419 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1527 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1420 input.consume(); 1528 input.consume();
@@ -1451,10 +1559,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1451 try { 1559 try {
1452 int _type = RULE_SL_COMMENT; 1560 int _type = RULE_SL_COMMENT;
1453 int _channel = DEFAULT_TOKEN_CHANNEL; 1561 int _channel = DEFAULT_TOKEN_CHANNEL;
1454 // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1562 // InternalSolverLanguageLexer.g:146:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1455 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1563 // InternalSolverLanguageLexer.g:146:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1456 { 1564 {
1457 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) 1565 // InternalSolverLanguageLexer.g:146:19: ( '%' | '//' )
1458 int alt3=2; 1566 int alt3=2;
1459 int LA3_0 = input.LA(1); 1567 int LA3_0 = input.LA(1);
1460 1568
@@ -1472,14 +1580,14 @@ public class InternalSolverLanguageLexer extends Lexer {
1472 } 1580 }
1473 switch (alt3) { 1581 switch (alt3) {
1474 case 1 : 1582 case 1 :
1475 // InternalSolverLanguageLexer.g:136:20: '%' 1583 // InternalSolverLanguageLexer.g:146:20: '%'
1476 { 1584 {
1477 match('%'); 1585 match('%');
1478 1586
1479 } 1587 }
1480 break; 1588 break;
1481 case 2 : 1589 case 2 :
1482 // InternalSolverLanguageLexer.g:136:24: '//' 1590 // InternalSolverLanguageLexer.g:146:24: '//'
1483 { 1591 {
1484 match("//"); 1592 match("//");
1485 1593
@@ -1489,7 +1597,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1489 1597
1490 } 1598 }
1491 1599
1492 // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )* 1600 // InternalSolverLanguageLexer.g:146:30: (~ ( ( '\\n' | '\\r' ) ) )*
1493 loop4: 1601 loop4:
1494 do { 1602 do {
1495 int alt4=2; 1603 int alt4=2;
@@ -1502,7 +1610,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1502 1610
1503 switch (alt4) { 1611 switch (alt4) {
1504 case 1 : 1612 case 1 :
1505 // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\n' | '\\r' ) ) 1613 // InternalSolverLanguageLexer.g:146:30: ~ ( ( '\\n' | '\\r' ) )
1506 { 1614 {
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') ) { 1615 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') ) {
1508 input.consume(); 1616 input.consume();
@@ -1522,7 +1630,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1522 } 1630 }
1523 } while (true); 1631 } while (true);
1524 1632
1525 // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )? 1633 // InternalSolverLanguageLexer.g:146:46: ( ( '\\r' )? '\\n' )?
1526 int alt6=2; 1634 int alt6=2;
1527 int LA6_0 = input.LA(1); 1635 int LA6_0 = input.LA(1);
1528 1636
@@ -1531,9 +1639,9 @@ public class InternalSolverLanguageLexer extends Lexer {
1531 } 1639 }
1532 switch (alt6) { 1640 switch (alt6) {
1533 case 1 : 1641 case 1 :
1534 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n' 1642 // InternalSolverLanguageLexer.g:146:47: ( '\\r' )? '\\n'
1535 { 1643 {
1536 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? 1644 // InternalSolverLanguageLexer.g:146:47: ( '\\r' )?
1537 int alt5=2; 1645 int alt5=2;
1538 int LA5_0 = input.LA(1); 1646 int LA5_0 = input.LA(1);
1539 1647
@@ -1542,7 +1650,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1542 } 1650 }
1543 switch (alt5) { 1651 switch (alt5) {
1544 case 1 : 1652 case 1 :
1545 // InternalSolverLanguageLexer.g:136:47: '\\r' 1653 // InternalSolverLanguageLexer.g:146:47: '\\r'
1546 { 1654 {
1547 match('\r'); 1655 match('\r');
1548 1656
@@ -1572,8 +1680,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1572 // $ANTLR start "RULE_TRANSITIVE_CLOSURE" 1680 // $ANTLR start "RULE_TRANSITIVE_CLOSURE"
1573 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { 1681 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException {
1574 try { 1682 try {
1575 // InternalSolverLanguageLexer.g:138:34: () 1683 // InternalSolverLanguageLexer.g:148:34: ()
1576 // InternalSolverLanguageLexer.g:138:36: 1684 // InternalSolverLanguageLexer.g:148:36:
1577 { 1685 {
1578 } 1686 }
1579 1687
@@ -1586,8 +1694,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1586 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" 1694 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE"
1587 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { 1695 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException {
1588 try { 1696 try {
1589 // InternalSolverLanguageLexer.g:140:44: () 1697 // InternalSolverLanguageLexer.g:150:44: ()
1590 // InternalSolverLanguageLexer.g:140:46: 1698 // InternalSolverLanguageLexer.g:150:46:
1591 { 1699 {
1592 } 1700 }
1593 1701
@@ -1600,8 +1708,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1600 // $ANTLR start "RULE_FULL_STOP" 1708 // $ANTLR start "RULE_FULL_STOP"
1601 public final void mRULE_FULL_STOP() throws RecognitionException { 1709 public final void mRULE_FULL_STOP() throws RecognitionException {
1602 try { 1710 try {
1603 // InternalSolverLanguageLexer.g:142:25: () 1711 // InternalSolverLanguageLexer.g:152:25: ()
1604 // InternalSolverLanguageLexer.g:142:27: 1712 // InternalSolverLanguageLexer.g:152:27:
1605 { 1713 {
1606 } 1714 }
1607 1715
@@ -1616,10 +1724,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1616 try { 1724 try {
1617 int _type = RULE_ID; 1725 int _type = RULE_ID;
1618 int _channel = DEFAULT_TOKEN_CHANNEL; 1726 int _channel = DEFAULT_TOKEN_CHANNEL;
1619 // InternalSolverLanguageLexer.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1727 // InternalSolverLanguageLexer.g:154:9: ( ( '^' )? ( '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' )* 1728 // InternalSolverLanguageLexer.g:154:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1621 { 1729 {
1622 // InternalSolverLanguageLexer.g:144:11: ( '^' )? 1730 // InternalSolverLanguageLexer.g:154:11: ( '^' )?
1623 int alt7=2; 1731 int alt7=2;
1624 int LA7_0 = input.LA(1); 1732 int LA7_0 = input.LA(1);
1625 1733
@@ -1628,7 +1736,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1628 } 1736 }
1629 switch (alt7) { 1737 switch (alt7) {
1630 case 1 : 1738 case 1 :
1631 // InternalSolverLanguageLexer.g:144:11: '^' 1739 // InternalSolverLanguageLexer.g:154:11: '^'
1632 { 1740 {
1633 match('^'); 1741 match('^');
1634 1742
@@ -1646,7 +1754,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1646 recover(mse); 1754 recover(mse);
1647 throw mse;} 1755 throw mse;}
1648 1756
1649 // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1757 // InternalSolverLanguageLexer.g:154:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1650 loop8: 1758 loop8:
1651 do { 1759 do {
1652 int alt8=2; 1760 int alt8=2;
@@ -1695,10 +1803,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1695 try { 1803 try {
1696 int _type = RULE_INT; 1804 int _type = RULE_INT;
1697 int _channel = DEFAULT_TOKEN_CHANNEL; 1805 int _channel = DEFAULT_TOKEN_CHANNEL;
1698 // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ ) 1806 // InternalSolverLanguageLexer.g:156:10: ( ( '0' .. '9' )+ )
1699 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ 1807 // InternalSolverLanguageLexer.g:156:12: ( '0' .. '9' )+
1700 { 1808 {
1701 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ 1809 // InternalSolverLanguageLexer.g:156:12: ( '0' .. '9' )+
1702 int cnt9=0; 1810 int cnt9=0;
1703 loop9: 1811 loop9:
1704 do { 1812 do {
@@ -1712,7 +1820,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1712 1820
1713 switch (alt9) { 1821 switch (alt9) {
1714 case 1 : 1822 case 1 :
1715 // InternalSolverLanguageLexer.g:146:13: '0' .. '9' 1823 // InternalSolverLanguageLexer.g:156:13: '0' .. '9'
1716 { 1824 {
1717 matchRange('0','9'); 1825 matchRange('0','9');
1718 1826
@@ -1744,12 +1852,12 @@ public class InternalSolverLanguageLexer extends Lexer {
1744 try { 1852 try {
1745 int _type = RULE_ML_COMMENT; 1853 int _type = RULE_ML_COMMENT;
1746 int _channel = DEFAULT_TOKEN_CHANNEL; 1854 int _channel = DEFAULT_TOKEN_CHANNEL;
1747 // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1855 // InternalSolverLanguageLexer.g:158:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
1748 // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/' 1856 // InternalSolverLanguageLexer.g:158:19: '/*' ( options {greedy=false; } : . )* '*/'
1749 { 1857 {
1750 match("/*"); 1858 match("/*");
1751 1859
1752 // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )* 1860 // InternalSolverLanguageLexer.g:158:24: ( options {greedy=false; } : . )*
1753 loop10: 1861 loop10:
1754 do { 1862 do {
1755 int alt10=2; 1863 int alt10=2;
@@ -1774,7 +1882,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1774 1882
1775 switch (alt10) { 1883 switch (alt10) {
1776 case 1 : 1884 case 1 :
1777 // InternalSolverLanguageLexer.g:148:52: . 1885 // InternalSolverLanguageLexer.g:158:52: .
1778 { 1886 {
1779 matchAny(); 1887 matchAny();
1780 1888
@@ -1804,10 +1912,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1804 try { 1912 try {
1805 int _type = RULE_WS; 1913 int _type = RULE_WS;
1806 int _channel = DEFAULT_TOKEN_CHANNEL; 1914 int _channel = DEFAULT_TOKEN_CHANNEL;
1807 // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1915 // InternalSolverLanguageLexer.g:160:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1808 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1916 // InternalSolverLanguageLexer.g:160:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1809 { 1917 {
1810 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1918 // InternalSolverLanguageLexer.g:160:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1811 int cnt11=0; 1919 int cnt11=0;
1812 loop11: 1920 loop11:
1813 do { 1921 do {
@@ -1861,8 +1969,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1861 try { 1969 try {
1862 int _type = RULE_ANY_OTHER; 1970 int _type = RULE_ANY_OTHER;
1863 int _channel = DEFAULT_TOKEN_CHANNEL; 1971 int _channel = DEFAULT_TOKEN_CHANNEL;
1864 // InternalSolverLanguageLexer.g:152:16: ( . ) 1972 // InternalSolverLanguageLexer.g:162:16: ( . )
1865 // InternalSolverLanguageLexer.g:152:18: . 1973 // InternalSolverLanguageLexer.g:162:18: .
1866 { 1974 {
1867 matchAny(); 1975 matchAny();
1868 1976
@@ -1877,474 +1985,509 @@ public class InternalSolverLanguageLexer extends Lexer {
1877 // $ANTLR end "RULE_ANY_OTHER" 1985 // $ANTLR end "RULE_ANY_OTHER"
1878 1986
1879 public void mTokens() throws RecognitionException { 1987 public void mTokens() throws RecognitionException {
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 ) 1988 // InternalSolverLanguageLexer.g:1:8: ( Containment | Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Default | Extends | Problem | Unknown | Extern | Import | Object | Refers | Class | Count | Empty | Error | False | Scope | Else | Enum | Root | Then | True | FullStopFullStopFullStop | Inf | Let | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | ColonHyphenMinus | ColonColon | ColonEqualsSign | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | QuestionMark | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | Tilde | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER )
1881 int alt12=67; 1989 int alt12=72;
1882 alt12 = dfa12.predict(input); 1990 alt12 = dfa12.predict(input);
1883 switch (alt12) { 1991 switch (alt12) {
1884 case 1 : 1992 case 1 :
1885 // InternalSolverLanguageLexer.g:1:10: Functional 1993 // InternalSolverLanguageLexer.g:1:10: Containment
1886 { 1994 {
1887 mFunctional(); 1995 mContainment();
1888 1996
1889 } 1997 }
1890 break; 1998 break;
1891 case 2 : 1999 case 2 :
1892 // InternalSolverLanguageLexer.g:1:21: Abstract 2000 // InternalSolverLanguageLexer.g:1:22: Functional
1893 { 2001 {
1894 mAbstract(); 2002 mFunctional();
1895 2003
1896 } 2004 }
1897 break; 2005 break;
1898 case 3 : 2006 case 3 :
1899 // InternalSolverLanguageLexer.g:1:30: Contains 2007 // InternalSolverLanguageLexer.g:1:33: Abstract
1900 { 2008 {
1901 mContains(); 2009 mAbstract();
1902 2010
1903 } 2011 }
1904 break; 2012 break;
1905 case 4 : 2013 case 4 :
1906 // InternalSolverLanguageLexer.g:1:39: Datatype 2014 // InternalSolverLanguageLexer.g:1:42: Contains
1907 { 2015 {
1908 mDatatype(); 2016 mContains();
1909 2017
1910 } 2018 }
1911 break; 2019 break;
1912 case 5 : 2020 case 5 :
1913 // InternalSolverLanguageLexer.g:1:48: Maximize 2021 // InternalSolverLanguageLexer.g:1:51: Datatype
1914 { 2022 {
1915 mMaximize(); 2023 mDatatype();
1916 2024
1917 } 2025 }
1918 break; 2026 break;
1919 case 6 : 2027 case 6 :
1920 // InternalSolverLanguageLexer.g:1:57: Minimize 2028 // InternalSolverLanguageLexer.g:1:60: Maximize
1921 { 2029 {
1922 mMinimize(); 2030 mMaximize();
1923 2031
1924 } 2032 }
1925 break; 2033 break;
1926 case 7 : 2034 case 7 :
1927 // InternalSolverLanguageLexer.g:1:66: Opposite 2035 // InternalSolverLanguageLexer.g:1:69: Minimize
1928 { 2036 {
1929 mOpposite(); 2037 mMinimize();
1930 2038
1931 } 2039 }
1932 break; 2040 break;
1933 case 8 : 2041 case 8 :
1934 // InternalSolverLanguageLexer.g:1:75: Current 2042 // InternalSolverLanguageLexer.g:1:78: Opposite
1935 { 2043 {
1936 mCurrent(); 2044 mOpposite();
1937 2045
1938 } 2046 }
1939 break; 2047 break;
1940 case 9 : 2048 case 9 :
1941 // InternalSolverLanguageLexer.g:1:83: Default 2049 // InternalSolverLanguageLexer.g:1:87: Default
1942 { 2050 {
1943 mDefault(); 2051 mDefault();
1944 2052
1945 } 2053 }
1946 break; 2054 break;
1947 case 10 : 2055 case 10 :
1948 // InternalSolverLanguageLexer.g:1:91: Extends 2056 // InternalSolverLanguageLexer.g:1:95: Extends
1949 { 2057 {
1950 mExtends(); 2058 mExtends();
1951 2059
1952 } 2060 }
1953 break; 2061 break;
1954 case 11 : 2062 case 11 :
1955 // InternalSolverLanguageLexer.g:1:99: Unknown 2063 // InternalSolverLanguageLexer.g:1:103: Problem
1956 { 2064 {
1957 mUnknown(); 2065 mProblem();
1958 2066
1959 } 2067 }
1960 break; 2068 break;
1961 case 12 : 2069 case 12 :
1962 // InternalSolverLanguageLexer.g:1:107: Exists 2070 // InternalSolverLanguageLexer.g:1:111: Unknown
1963 { 2071 {
1964 mExists(); 2072 mUnknown();
1965 2073
1966 } 2074 }
1967 break; 2075 break;
1968 case 13 : 2076 case 13 :
1969 // InternalSolverLanguageLexer.g:1:114: Extern 2077 // InternalSolverLanguageLexer.g:1:119: Extern
1970 { 2078 {
1971 mExtern(); 2079 mExtern();
1972 2080
1973 } 2081 }
1974 break; 2082 break;
1975 case 14 : 2083 case 14 :
1976 // InternalSolverLanguageLexer.g:1:121: Forall 2084 // InternalSolverLanguageLexer.g:1:126: Import
1977 { 2085 {
1978 mForall(); 2086 mImport();
1979 2087
1980 } 2088 }
1981 break; 2089 break;
1982 case 15 : 2090 case 15 :
1983 // InternalSolverLanguageLexer.g:1:128: Class 2091 // InternalSolverLanguageLexer.g:1:133: Object
1984 { 2092 {
1985 mClass(); 2093 mObject();
1986 2094
1987 } 2095 }
1988 break; 2096 break;
1989 case 16 : 2097 case 16 :
1990 // InternalSolverLanguageLexer.g:1:134: Count 2098 // InternalSolverLanguageLexer.g:1:140: Refers
1991 { 2099 {
1992 mCount(); 2100 mRefers();
1993 2101
1994 } 2102 }
1995 break; 2103 break;
1996 case 17 : 2104 case 17 :
1997 // InternalSolverLanguageLexer.g:1:140: Empty 2105 // InternalSolverLanguageLexer.g:1:147: Class
1998 { 2106 {
1999 mEmpty(); 2107 mClass();
2000 2108
2001 } 2109 }
2002 break; 2110 break;
2003 case 18 : 2111 case 18 :
2004 // InternalSolverLanguageLexer.g:1:146: Error 2112 // InternalSolverLanguageLexer.g:1:153: Count
2005 { 2113 {
2006 mError(); 2114 mCount();
2007 2115
2008 } 2116 }
2009 break; 2117 break;
2010 case 19 : 2118 case 19 :
2011 // InternalSolverLanguageLexer.g:1:152: False 2119 // InternalSolverLanguageLexer.g:1:159: Empty
2012 { 2120 {
2013 mFalse(); 2121 mEmpty();
2014 2122
2015 } 2123 }
2016 break; 2124 break;
2017 case 20 : 2125 case 20 :
2018 // InternalSolverLanguageLexer.g:1:158: Scope 2126 // InternalSolverLanguageLexer.g:1:165: Error
2019 { 2127 {
2020 mScope(); 2128 mError();
2021 2129
2022 } 2130 }
2023 break; 2131 break;
2024 case 21 : 2132 case 21 :
2025 // InternalSolverLanguageLexer.g:1:164: Else 2133 // InternalSolverLanguageLexer.g:1:171: False
2026 { 2134 {
2027 mElse(); 2135 mFalse();
2028 2136
2029 } 2137 }
2030 break; 2138 break;
2031 case 22 : 2139 case 22 :
2032 // InternalSolverLanguageLexer.g:1:169: Must 2140 // InternalSolverLanguageLexer.g:1:177: Scope
2033 { 2141 {
2034 mMust(); 2142 mScope();
2035 2143
2036 } 2144 }
2037 break; 2145 break;
2038 case 23 : 2146 case 23 :
2039 // InternalSolverLanguageLexer.g:1:174: Then 2147 // InternalSolverLanguageLexer.g:1:183: Else
2040 { 2148 {
2041 mThen(); 2149 mElse();
2042 2150
2043 } 2151 }
2044 break; 2152 break;
2045 case 24 : 2153 case 24 :
2046 // InternalSolverLanguageLexer.g:1:179: True 2154 // InternalSolverLanguageLexer.g:1:188: Enum
2047 { 2155 {
2048 mTrue(); 2156 mEnum();
2049 2157
2050 } 2158 }
2051 break; 2159 break;
2052 case 25 : 2160 case 25 :
2053 // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop 2161 // InternalSolverLanguageLexer.g:1:193: Root
2054 { 2162 {
2055 mFullStopFullStopFullStop(); 2163 mRoot();
2056 2164
2057 } 2165 }
2058 break; 2166 break;
2059 case 26 : 2167 case 26 :
2060 // InternalSolverLanguageLexer.g:1:209: Inf 2168 // InternalSolverLanguageLexer.g:1:198: Then
2061 { 2169 {
2062 mInf(); 2170 mThen();
2063 2171
2064 } 2172 }
2065 break; 2173 break;
2066 case 27 : 2174 case 27 :
2067 // InternalSolverLanguageLexer.g:1:213: Let 2175 // InternalSolverLanguageLexer.g:1:203: True
2068 { 2176 {
2069 mLet(); 2177 mTrue();
2070 2178
2071 } 2179 }
2072 break; 2180 break;
2073 case 28 : 2181 case 28 :
2074 // InternalSolverLanguageLexer.g:1:217: May 2182 // InternalSolverLanguageLexer.g:1:208: FullStopFullStopFullStop
2075 { 2183 {
2076 mMay(); 2184 mFullStopFullStopFullStop();
2077 2185
2078 } 2186 }
2079 break; 2187 break;
2080 case 29 : 2188 case 29 :
2081 // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign 2189 // InternalSolverLanguageLexer.g:1:233: Inf
2082 { 2190 {
2083 mExclamationMarkEqualsSign(); 2191 mInf();
2084 2192
2085 } 2193 }
2086 break; 2194 break;
2087 case 30 : 2195 case 30 :
2088 // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign 2196 // InternalSolverLanguageLexer.g:1:237: Let
2089 { 2197 {
2090 mHyphenMinusGreaterThanSign(); 2198 mLet();
2091 2199
2092 } 2200 }
2093 break; 2201 break;
2094 case 31 : 2202 case 31 :
2095 // InternalSolverLanguageLexer.g:1:274: FullStopFullStop 2203 // InternalSolverLanguageLexer.g:1:241: ExclamationMarkEqualsSign
2096 { 2204 {
2097 mFullStopFullStop(); 2205 mExclamationMarkEqualsSign();
2098 2206
2099 } 2207 }
2100 break; 2208 break;
2101 case 32 : 2209 case 32 :
2102 // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus 2210 // InternalSolverLanguageLexer.g:1:267: HyphenMinusGreaterThanSign
2103 { 2211 {
2104 mColonHyphenMinus(); 2212 mHyphenMinusGreaterThanSign();
2105 2213
2106 } 2214 }
2107 break; 2215 break;
2108 case 33 : 2216 case 33 :
2109 // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign 2217 // InternalSolverLanguageLexer.g:1:294: ColonHyphenMinus
2110 { 2218 {
2111 mLessThanSignEqualsSign(); 2219 mColonHyphenMinus();
2112 2220
2113 } 2221 }
2114 break; 2222 break;
2115 case 34 : 2223 case 34 :
2116 // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign 2224 // InternalSolverLanguageLexer.g:1:311: ColonColon
2117 { 2225 {
2118 mEqualsSignEqualsSign(); 2226 mColonColon();
2119 2227
2120 } 2228 }
2121 break; 2229 break;
2122 case 35 : 2230 case 35 :
2123 // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign 2231 // InternalSolverLanguageLexer.g:1:322: ColonEqualsSign
2124 { 2232 {
2125 mEqualsSignGreaterThanSign(); 2233 mColonEqualsSign();
2126 2234
2127 } 2235 }
2128 break; 2236 break;
2129 case 36 : 2237 case 36 :
2130 // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign 2238 // InternalSolverLanguageLexer.g:1:338: LessThanSignEqualsSign
2131 { 2239 {
2132 mGreaterThanSignEqualsSign(); 2240 mLessThanSignEqualsSign();
2133 2241
2134 } 2242 }
2135 break; 2243 break;
2136 case 37 : 2244 case 37 :
2137 // InternalSolverLanguageLexer.g:1:404: As 2245 // InternalSolverLanguageLexer.g:1:361: EqualsSignEqualsSign
2138 { 2246 {
2139 mAs(); 2247 mEqualsSignEqualsSign();
2140 2248
2141 } 2249 }
2142 break; 2250 break;
2143 case 38 : 2251 case 38 :
2144 // InternalSolverLanguageLexer.g:1:407: If 2252 // InternalSolverLanguageLexer.g:1:382: EqualsSignGreaterThanSign
2145 { 2253 {
2146 mIf(); 2254 mEqualsSignGreaterThanSign();
2147 2255
2148 } 2256 }
2149 break; 2257 break;
2150 case 39 : 2258 case 39 :
2151 // InternalSolverLanguageLexer.g:1:410: In 2259 // InternalSolverLanguageLexer.g:1:408: GreaterThanSignEqualsSign
2152 { 2260 {
2153 mIn(); 2261 mGreaterThanSignEqualsSign();
2154 2262
2155 } 2263 }
2156 break; 2264 break;
2157 case 40 : 2265 case 40 :
2158 // InternalSolverLanguageLexer.g:1:413: ExclamationMark 2266 // InternalSolverLanguageLexer.g:1:434: As
2159 { 2267 {
2160 mExclamationMark(); 2268 mAs();
2161 2269
2162 } 2270 }
2163 break; 2271 break;
2164 case 41 : 2272 case 41 :
2165 // InternalSolverLanguageLexer.g:1:429: LeftParenthesis 2273 // InternalSolverLanguageLexer.g:1:437: If
2166 { 2274 {
2167 mLeftParenthesis(); 2275 mIf();
2168 2276
2169 } 2277 }
2170 break; 2278 break;
2171 case 42 : 2279 case 42 :
2172 // InternalSolverLanguageLexer.g:1:445: RightParenthesis 2280 // InternalSolverLanguageLexer.g:1:440: In
2173 { 2281 {
2174 mRightParenthesis(); 2282 mIn();
2175 2283
2176 } 2284 }
2177 break; 2285 break;
2178 case 43 : 2286 case 43 :
2179 // InternalSolverLanguageLexer.g:1:462: Asterisk 2287 // InternalSolverLanguageLexer.g:1:443: ExclamationMark
2180 { 2288 {
2181 mAsterisk(); 2289 mExclamationMark();
2182 2290
2183 } 2291 }
2184 break; 2292 break;
2185 case 44 : 2293 case 44 :
2186 // InternalSolverLanguageLexer.g:1:471: PlusSign 2294 // InternalSolverLanguageLexer.g:1:459: LeftParenthesis
2187 { 2295 {
2188 mPlusSign(); 2296 mLeftParenthesis();
2189 2297
2190 } 2298 }
2191 break; 2299 break;
2192 case 45 : 2300 case 45 :
2193 // InternalSolverLanguageLexer.g:1:480: Comma 2301 // InternalSolverLanguageLexer.g:1:475: RightParenthesis
2194 { 2302 {
2195 mComma(); 2303 mRightParenthesis();
2196 2304
2197 } 2305 }
2198 break; 2306 break;
2199 case 46 : 2307 case 46 :
2200 // InternalSolverLanguageLexer.g:1:486: HyphenMinus 2308 // InternalSolverLanguageLexer.g:1:492: Asterisk
2201 { 2309 {
2202 mHyphenMinus(); 2310 mAsterisk();
2203 2311
2204 } 2312 }
2205 break; 2313 break;
2206 case 47 : 2314 case 47 :
2207 // InternalSolverLanguageLexer.g:1:498: FullStop 2315 // InternalSolverLanguageLexer.g:1:501: PlusSign
2208 { 2316 {
2209 mFullStop(); 2317 mPlusSign();
2210 2318
2211 } 2319 }
2212 break; 2320 break;
2213 case 48 : 2321 case 48 :
2214 // InternalSolverLanguageLexer.g:1:507: Solidus 2322 // InternalSolverLanguageLexer.g:1:510: Comma
2215 { 2323 {
2216 mSolidus(); 2324 mComma();
2217 2325
2218 } 2326 }
2219 break; 2327 break;
2220 case 49 : 2328 case 49 :
2221 // InternalSolverLanguageLexer.g:1:515: Colon 2329 // InternalSolverLanguageLexer.g:1:516: HyphenMinus
2222 { 2330 {
2223 mColon(); 2331 mHyphenMinus();
2224 2332
2225 } 2333 }
2226 break; 2334 break;
2227 case 50 : 2335 case 50 :
2228 // InternalSolverLanguageLexer.g:1:521: Semicolon 2336 // InternalSolverLanguageLexer.g:1:528: FullStop
2229 { 2337 {
2230 mSemicolon(); 2338 mFullStop();
2231 2339
2232 } 2340 }
2233 break; 2341 break;
2234 case 51 : 2342 case 51 :
2235 // InternalSolverLanguageLexer.g:1:531: LessThanSign 2343 // InternalSolverLanguageLexer.g:1:537: Solidus
2236 { 2344 {
2237 mLessThanSign(); 2345 mSolidus();
2238 2346
2239 } 2347 }
2240 break; 2348 break;
2241 case 52 : 2349 case 52 :
2242 // InternalSolverLanguageLexer.g:1:544: EqualsSign 2350 // InternalSolverLanguageLexer.g:1:545: Colon
2243 { 2351 {
2244 mEqualsSign(); 2352 mColon();
2245 2353
2246 } 2354 }
2247 break; 2355 break;
2248 case 53 : 2356 case 53 :
2249 // InternalSolverLanguageLexer.g:1:555: GreaterThanSign 2357 // InternalSolverLanguageLexer.g:1:551: Semicolon
2250 { 2358 {
2251 mGreaterThanSign(); 2359 mSemicolon();
2252 2360
2253 } 2361 }
2254 break; 2362 break;
2255 case 54 : 2363 case 54 :
2256 // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket 2364 // InternalSolverLanguageLexer.g:1:561: LessThanSign
2257 { 2365 {
2258 mLeftSquareBracket(); 2366 mLessThanSign();
2259 2367
2260 } 2368 }
2261 break; 2369 break;
2262 case 55 : 2370 case 55 :
2263 // InternalSolverLanguageLexer.g:1:589: RightSquareBracket 2371 // InternalSolverLanguageLexer.g:1:574: EqualsSign
2264 { 2372 {
2265 mRightSquareBracket(); 2373 mEqualsSign();
2266 2374
2267 } 2375 }
2268 break; 2376 break;
2269 case 56 : 2377 case 56 :
2270 // InternalSolverLanguageLexer.g:1:608: CircumflexAccent 2378 // InternalSolverLanguageLexer.g:1:585: GreaterThanSign
2271 { 2379 {
2272 mCircumflexAccent(); 2380 mGreaterThanSign();
2273 2381
2274 } 2382 }
2275 break; 2383 break;
2276 case 57 : 2384 case 57 :
2277 // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket 2385 // InternalSolverLanguageLexer.g:1:601: QuestionMark
2278 { 2386 {
2279 mLeftCurlyBracket(); 2387 mQuestionMark();
2280 2388
2281 } 2389 }
2282 break; 2390 break;
2283 case 58 : 2391 case 58 :
2284 // InternalSolverLanguageLexer.g:1:642: VerticalLine 2392 // InternalSolverLanguageLexer.g:1:614: LeftSquareBracket
2285 { 2393 {
2286 mVerticalLine(); 2394 mLeftSquareBracket();
2287 2395
2288 } 2396 }
2289 break; 2397 break;
2290 case 59 : 2398 case 59 :
2291 // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket 2399 // InternalSolverLanguageLexer.g:1:632: RightSquareBracket
2292 { 2400 {
2293 mRightCurlyBracket(); 2401 mRightSquareBracket();
2294 2402
2295 } 2403 }
2296 break; 2404 break;
2297 case 60 : 2405 case 60 :
2298 // InternalSolverLanguageLexer.g:1:673: RULE_STRING 2406 // InternalSolverLanguageLexer.g:1:651: CircumflexAccent
2299 { 2407 {
2300 mRULE_STRING(); 2408 mCircumflexAccent();
2301 2409
2302 } 2410 }
2303 break; 2411 break;
2304 case 61 : 2412 case 61 :
2305 // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID 2413 // InternalSolverLanguageLexer.g:1:668: LeftCurlyBracket
2306 { 2414 {
2307 mRULE_QUOTED_ID(); 2415 mLeftCurlyBracket();
2308 2416
2309 } 2417 }
2310 break; 2418 break;
2311 case 62 : 2419 case 62 :
2312 // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT 2420 // InternalSolverLanguageLexer.g:1:685: VerticalLine
2313 { 2421 {
2314 mRULE_SL_COMMENT(); 2422 mVerticalLine();
2315 2423
2316 } 2424 }
2317 break; 2425 break;
2318 case 63 : 2426 case 63 :
2319 // InternalSolverLanguageLexer.g:1:716: RULE_ID 2427 // InternalSolverLanguageLexer.g:1:698: RightCurlyBracket
2320 { 2428 {
2321 mRULE_ID(); 2429 mRightCurlyBracket();
2322 2430
2323 } 2431 }
2324 break; 2432 break;
2325 case 64 : 2433 case 64 :
2326 // InternalSolverLanguageLexer.g:1:724: RULE_INT 2434 // InternalSolverLanguageLexer.g:1:716: Tilde
2327 { 2435 {
2328 mRULE_INT(); 2436 mTilde();
2329 2437
2330 } 2438 }
2331 break; 2439 break;
2332 case 65 : 2440 case 65 :
2333 // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT 2441 // InternalSolverLanguageLexer.g:1:722: RULE_STRING
2334 { 2442 {
2335 mRULE_ML_COMMENT(); 2443 mRULE_STRING();
2336 2444
2337 } 2445 }
2338 break; 2446 break;
2339 case 66 : 2447 case 66 :
2340 // InternalSolverLanguageLexer.g:1:749: RULE_WS 2448 // InternalSolverLanguageLexer.g:1:734: RULE_QUOTED_ID
2341 { 2449 {
2342 mRULE_WS(); 2450 mRULE_QUOTED_ID();
2343 2451
2344 } 2452 }
2345 break; 2453 break;
2346 case 67 : 2454 case 67 :
2347 // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER 2455 // InternalSolverLanguageLexer.g:1:749: RULE_SL_COMMENT
2456 {
2457 mRULE_SL_COMMENT();
2458
2459 }
2460 break;
2461 case 68 :
2462 // InternalSolverLanguageLexer.g:1:765: RULE_ID
2463 {
2464 mRULE_ID();
2465
2466 }
2467 break;
2468 case 69 :
2469 // InternalSolverLanguageLexer.g:1:773: RULE_INT
2470 {
2471 mRULE_INT();
2472
2473 }
2474 break;
2475 case 70 :
2476 // InternalSolverLanguageLexer.g:1:782: RULE_ML_COMMENT
2477 {
2478 mRULE_ML_COMMENT();
2479
2480 }
2481 break;
2482 case 71 :
2483 // InternalSolverLanguageLexer.g:1:798: RULE_WS
2484 {
2485 mRULE_WS();
2486
2487 }
2488 break;
2489 case 72 :
2490 // InternalSolverLanguageLexer.g:1:806: RULE_ANY_OTHER
2348 { 2491 {
2349 mRULE_ANY_OTHER(); 2492 mRULE_ANY_OTHER();
2350 2493
@@ -2358,74 +2501,69 @@ public class InternalSolverLanguageLexer extends Lexer {
2358 2501
2359 protected DFA12 dfa12 = new DFA12(this); 2502 protected DFA12 dfa12 = new DFA12(this);
2360 static final String DFA12_eotS = 2503 static final String DFA12_eotS =
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"; 2504 "\1\uffff\15\56\1\111\1\56\1\114\1\116\1\122\1\124\1\127\1\131\5\uffff\1\141\4\uffff\1\146\4\uffff\2\53\5\uffff\2\56\1\uffff\3\56\1\165\16\56\1\u0085\1\u0086\5\56\2\uffff\1\56\44\uffff\6\56\1\uffff\16\56\1\u00a1\2\uffff\5\56\1\u00a7\17\56\1\u00b8\1\u00b9\3\56\1\uffff\1\56\1\u00be\1\56\1\u00c0\1\u00c1\1\uffff\1\56\1\u00c3\1\u00c4\1\56\1\u00c6\11\56\1\u00d0\1\u00d1\2\uffff\4\56\1\uffff\1\u00d6\2\uffff\1\56\2\uffff\1\56\1\uffff\6\56\1\u00df\1\56\1\u00e1\2\uffff\2\56\1\u00e4\1\u00e5\1\uffff\4\56\1\u00eb\3\56\1\uffff\1\u00ef\1\uffff\1\u00f0\1\u00f1\2\uffff\1\56\1\u00f3\1\56\1\u00f5\1\u00f6\1\uffff\1\u00f7\1\u00f8\1\u00f9\3\uffff\1\56\1\uffff\1\56\5\uffff\1\56\1\u00fd\1\u00fe\2\uffff";
2362 static final String DFA12_eofS = 2505 static final String DFA12_eofS =
2363 "\u00eb\uffff"; 2506 "\u00ff\uffff";
2364 static final String DFA12_minS = 2507 static final String DFA12_minS =
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"; 2508 "\1\0\1\154\1\141\1\142\2\141\1\142\1\154\1\162\1\156\1\146\1\145\1\143\1\150\1\56\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\4\uffff\1\101\4\uffff\2\0\5\uffff\1\156\1\141\1\uffff\1\156\1\154\1\163\1\60\1\164\1\146\1\170\1\156\1\160\1\152\1\164\1\160\1\162\1\163\1\165\1\157\1\153\1\160\2\60\1\146\2\157\1\145\1\165\2\uffff\1\164\44\uffff\1\164\1\156\1\163\1\143\1\163\1\164\1\uffff\2\141\2\151\1\157\2\145\1\164\1\157\1\145\1\155\1\142\1\156\1\157\1\60\2\uffff\1\145\1\164\1\160\1\156\1\145\1\60\1\141\1\164\1\163\1\164\1\145\1\162\1\164\1\165\2\155\1\163\1\143\1\156\1\171\1\162\2\60\1\154\1\157\1\162\1\uffff\1\162\1\60\1\145\2\60\1\uffff\1\151\2\60\1\151\1\60\1\141\1\171\1\154\3\151\1\164\1\144\1\156\2\60\2\uffff\1\145\1\167\1\164\1\163\1\uffff\1\60\2\uffff\1\156\2\uffff\1\157\1\uffff\1\143\1\160\1\164\2\172\1\164\1\60\1\163\1\60\2\uffff\1\155\1\156\2\60\1\uffff\1\155\1\156\1\164\1\145\1\60\3\145\1\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\60\1\141\2\60\1\uffff\3\60\3\uffff\1\156\1\uffff\1\154\5\uffff\1\164\2\60\2\uffff";
2366 static final String DFA12_maxS = 2509 static final String DFA12_maxS =
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"; 2510 "\1\uffff\1\157\1\165\1\163\1\145\1\151\1\160\1\170\1\162\2\156\1\157\1\143\1\162\1\56\1\145\1\75\1\76\2\75\1\76\1\75\5\uffff\1\57\4\uffff\1\172\4\uffff\2\uffff\5\uffff\1\165\1\141\1\uffff\1\156\1\154\1\163\1\172\1\164\1\146\1\170\1\156\1\160\1\152\1\164\1\160\1\162\1\163\1\165\1\157\1\153\1\160\2\172\1\146\2\157\1\145\1\165\2\uffff\1\164\44\uffff\1\164\1\156\1\163\1\143\1\163\1\164\1\uffff\2\141\2\151\1\157\2\145\1\164\1\157\1\145\1\155\1\142\1\156\1\157\1\172\2\uffff\1\145\1\164\1\160\1\156\1\145\1\172\1\141\1\164\1\163\1\164\1\145\1\162\1\164\1\165\2\155\1\163\1\143\1\162\1\171\1\162\2\172\1\154\1\157\1\162\1\uffff\1\162\1\172\1\145\2\172\1\uffff\1\151\2\172\1\151\1\172\1\141\1\171\1\154\3\151\1\164\1\144\1\156\2\172\2\uffff\1\145\1\167\1\164\1\163\1\uffff\1\172\2\uffff\1\156\2\uffff\1\157\1\uffff\1\143\1\160\1\164\2\172\1\164\1\172\1\163\1\172\2\uffff\1\155\1\156\2\172\1\uffff\1\163\1\156\1\164\1\145\1\172\3\145\1\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\172\1\141\2\172\1\uffff\3\172\3\uffff\1\156\1\uffff\1\154\5\uffff\1\164\2\172\2\uffff";
2368 static final String DFA12_acceptS = 2511 static final String DFA12_acceptS =
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"; 2512 "\26\uffff\1\54\1\55\1\56\1\57\1\60\1\uffff\1\65\1\71\1\72\1\73\1\uffff\1\75\1\76\1\77\1\100\2\uffff\1\103\1\104\1\105\1\107\1\110\2\uffff\1\104\31\uffff\1\34\1\62\1\uffff\1\37\1\53\1\40\1\61\1\41\1\42\1\43\1\64\1\44\1\66\1\45\1\46\1\67\1\47\1\70\1\54\1\55\1\56\1\57\1\60\1\103\1\106\1\63\1\65\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\105\1\107\6\uffff\1\50\17\uffff\1\52\1\51\32\uffff\1\35\5\uffff\1\36\20\uffff\1\27\1\30\4\uffff\1\31\1\uffff\1\32\1\33\1\uffff\1\22\1\21\1\uffff\1\25\11\uffff\1\23\1\24\4\uffff\1\26\10\uffff\1\17\1\uffff\1\15\2\uffff\1\16\1\20\5\uffff\1\11\3\uffff\1\12\1\13\1\14\1\uffff\1\4\1\uffff\1\3\1\5\1\6\1\7\1\10\3\uffff\1\2\1\1";
2370 static final String DFA12_specialS = 2513 static final String DFA12_specialS =
2371 "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>"; 2514 "\1\1\44\uffff\1\0\1\2\u00d8\uffff}>";
2372 static final String[] DFA12_transitionS = { 2515 static final String[] DFA12_transitionS = {
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", 2516 "\11\53\2\52\2\53\1\52\22\53\1\52\1\20\1\45\2\53\1\47\1\53\1\46\1\26\1\27\1\30\1\31\1\32\1\21\1\16\1\33\12\51\1\22\1\34\1\23\1\24\1\25\1\35\1\53\32\50\1\36\1\53\1\37\1\40\1\50\1\53\1\3\1\50\1\1\1\4\1\7\1\2\2\50\1\12\2\50\1\17\1\5\1\50\1\6\1\10\1\50\1\13\1\14\1\15\1\11\5\50\1\41\1\42\1\43\1\44\uff81\53",
2374 "\1\52\15\uffff\1\51\5\uffff\1\50", 2517 "\1\55\2\uffff\1\54",
2375 "\1\54\20\uffff\1\55", 2518 "\1\60\23\uffff\1\57",
2376 "\1\60\2\uffff\1\56\5\uffff\1\57", 2519 "\1\61\20\uffff\1\62",
2377 "\1\61\3\uffff\1\62", 2520 "\1\63\3\uffff\1\64",
2378 "\1\63\7\uffff\1\64\13\uffff\1\65", 2521 "\1\65\7\uffff\1\66",
2379 "\1\66", 2522 "\1\70\15\uffff\1\67",
2380 "\1\72\1\70\4\uffff\1\71\5\uffff\1\67", 2523 "\1\74\1\72\1\75\3\uffff\1\73\5\uffff\1\71",
2381 "\1\73", 2524 "\1\76",
2382 "\1\74",
2383 "\1\75\11\uffff\1\76",
2384 "\1\77", 2525 "\1\77",
2385 "\1\102\7\uffff\1\101", 2526 "\1\102\6\uffff\1\100\1\101",
2386 "\1\103", 2527 "\1\103\11\uffff\1\104",
2387 "\1\104", 2528 "\1\105",
2388 "\1\106", 2529 "\1\106\11\uffff\1\107",
2389 "\1\110", 2530 "\1\110",
2390 "\1\112", 2531 "\1\112",
2391 "\1\114\1\115", 2532 "\1\113",
2392 "\1\117", 2533 "\1\115",
2534 "\1\117\14\uffff\1\120\2\uffff\1\121",
2535 "\1\123",
2536 "\1\125\1\126",
2537 "\1\130",
2538 "",
2393 "", 2539 "",
2394 "", 2540 "",
2395 "", 2541 "",
2396 "", 2542 "",
2543 "\1\140\4\uffff\1\137",
2397 "", 2544 "",
2398 "\1\127\4\uffff\1\126",
2399 "", 2545 "",
2400 "", 2546 "",
2401 "", 2547 "",
2402 "\32\53\4\uffff\1\53\1\uffff\32\53", 2548 "\32\56\4\uffff\1\56\1\uffff\32\56",
2403 "", 2549 "",
2404 "", 2550 "",
2405 "", 2551 "",
2406 "\0\140",
2407 "\0\141",
2408 "", 2552 "",
2553 "\0\153",
2554 "\0\154",
2409 "", 2555 "",
2410 "", 2556 "",
2411 "", 2557 "",
2412 "", 2558 "",
2413 "\1\144",
2414 "\1\145",
2415 "\1\146",
2416 "", 2559 "",
2417 "\1\147", 2560 "\1\157\6\uffff\1\160",
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", 2561 "\1\161",
2562 "",
2426 "\1\162", 2563 "\1\162",
2427 "\1\163", 2564 "\1\163",
2428 "\1\165\12\uffff\1\164", 2565 "\1\164",
2566 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2429 "\1\166", 2567 "\1\166",
2430 "\1\167", 2568 "\1\167",
2431 "\1\170", 2569 "\1\170",
@@ -2434,10 +2572,25 @@ public class InternalSolverLanguageLexer extends Lexer {
2434 "\1\173", 2572 "\1\173",
2435 "\1\174", 2573 "\1\174",
2436 "\1\175", 2574 "\1\175",
2437 "", 2575 "\1\176",
2438 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\177\24\53", 2576 "\1\177",
2439 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2577 "\1\u0080",
2578 "\1\u0081",
2440 "\1\u0082", 2579 "\1\u0082",
2580 "\1\u0083",
2581 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\5\56\1\u0084\24\56",
2582 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2583 "\1\u0087",
2584 "\1\u0088",
2585 "\1\u0089",
2586 "\1\u008a",
2587 "\1\u008b",
2588 "",
2589 "",
2590 "\1\u008c",
2591 "",
2592 "",
2593 "",
2441 "", 2594 "",
2442 "", 2595 "",
2443 "", 2596 "",
@@ -2470,23 +2623,14 @@ public class InternalSolverLanguageLexer extends Lexer {
2470 "", 2623 "",
2471 "", 2624 "",
2472 "", 2625 "",
2473 "\1\u0083",
2474 "\1\u0084",
2475 "\1\u0085",
2476 "\1\u0086",
2477 "", 2626 "",
2478 "\1\u0087",
2479 "\1\u0088",
2480 "\1\u0089",
2481 "\1\u008a",
2482 "\1\u008b",
2483 "\1\u008c",
2484 "\1\u008d", 2627 "\1\u008d",
2485 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2628 "\1\u008e",
2486 "\1\u008f", 2629 "\1\u008f",
2487 "\1\u0090", 2630 "\1\u0090",
2488 "\1\u0091", 2631 "\1\u0091",
2489 "\1\u0092", 2632 "\1\u0092",
2633 "",
2490 "\1\u0093", 2634 "\1\u0093",
2491 "\1\u0094", 2635 "\1\u0094",
2492 "\1\u0095", 2636 "\1\u0095",
@@ -2495,115 +2639,134 @@ public class InternalSolverLanguageLexer extends Lexer {
2495 "\1\u0098", 2639 "\1\u0098",
2496 "\1\u0099", 2640 "\1\u0099",
2497 "\1\u009a", 2641 "\1\u009a",
2498 "", 2642 "\1\u009b",
2499 "", 2643 "\1\u009c",
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", 2644 "\1\u009d",
2505 "\1\u009e", 2645 "\1\u009e",
2506 "\1\u009f", 2646 "\1\u009f",
2507 "\1\u00a0", 2647 "\1\u00a0",
2508 "\1\u00a1", 2648 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2649 "",
2650 "",
2509 "\1\u00a2", 2651 "\1\u00a2",
2510 "\1\u00a3", 2652 "\1\u00a3",
2511 "\1\u00a4", 2653 "\1\u00a4",
2512 "\1\u00a5", 2654 "\1\u00a5",
2513 "\1\u00a6", 2655 "\1\u00a6",
2514 "\1\u00a7", 2656 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2515 "",
2516 "\1\u00a8", 2657 "\1\u00a8",
2517 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2658 "\1\u00a9",
2518 "\1\u00aa", 2659 "\1\u00aa",
2519 "\1\u00ab\3\uffff\1\u00ac", 2660 "\1\u00ab",
2661 "\1\u00ac",
2520 "\1\u00ad", 2662 "\1\u00ad",
2521 "\1\u00ae", 2663 "\1\u00ae",
2522 "\1\u00af", 2664 "\1\u00af",
2523 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2665 "\1\u00b0",
2524 "\1\u00b1", 2666 "\1\u00b1",
2525 "\1\u00b2", 2667 "\1\u00b2",
2526 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2668 "\1\u00b3",
2527 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2669 "\1\u00b4\3\uffff\1\u00b5",
2528 "",
2529 "",
2530 "\1\u00b5",
2531 "\1\u00b6", 2670 "\1\u00b6",
2532 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2671 "\1\u00b7",
2533 "\1\u00b8", 2672 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2534 "\1\u00b9", 2673 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2535 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2674 "\1\u00ba",
2536 "\1\u00bb", 2675 "\1\u00bb",
2537 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2676 "\1\u00bc",
2677 "",
2538 "\1\u00bd", 2678 "\1\u00bd",
2539 "\1\u00be", 2679 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2540 "\1\u00bf", 2680 "\1\u00bf",
2541 "\1\u00c0", 2681 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2682 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2542 "", 2683 "",
2543 "\1\u00c1",
2544 "\1\u00c2", 2684 "\1\u00c2",
2545 "\1\u00c3", 2685 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2546 "\1\u00c4", 2686 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2547 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2687 "\1\u00c5",
2548 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2688 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2549 "",
2550 "\1\u00c7", 2689 "\1\u00c7",
2551 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2690 "\1\u00c8",
2552 "",
2553 "",
2554 "\1\u00c9", 2691 "\1\u00c9",
2555 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2692 "\1\u00ca",
2556 "",
2557 "\1\u00cb", 2693 "\1\u00cb",
2558 "\1\u00cc", 2694 "\1\u00cc",
2559 "",
2560 "\1\u00cd", 2695 "\1\u00cd",
2561 "",
2562 "\1\u00ce", 2696 "\1\u00ce",
2563 "\1\u00cf", 2697 "\1\u00cf",
2564 "\1\u00d0", 2698 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2565 "\1\u00d1", 2699 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2700 "",
2701 "",
2566 "\1\u00d2", 2702 "\1\u00d2",
2567 "\1\u00d3", 2703 "\1\u00d3",
2568 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2704 "\1\u00d4",
2569 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2705 "\1\u00d5",
2570 "", 2706 "",
2707 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2571 "", 2708 "",
2572 "\1\u00d6",
2573 "", 2709 "",
2574 "\1\u00d7", 2710 "\1\u00d7",
2575 "", 2711 "",
2712 "",
2576 "\1\u00d8", 2713 "\1\u00d8",
2714 "",
2577 "\1\u00d9", 2715 "\1\u00d9",
2578 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2716 "\1\u00da",
2579 "\1\u00db", 2717 "\1\u00db",
2580 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2718 "\1\u00dc",
2581 "\1\u00dd", 2719 "\1\u00dd",
2582 "\1\u00de", 2720 "\1\u00de",
2583 "\1\u00df", 2721 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2584 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2722 "\1\u00e0",
2723 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2585 "", 2724 "",
2586 "", 2725 "",
2587 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2588 "\1\u00e2", 2726 "\1\u00e2",
2589 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2727 "\1\u00e3",
2590 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2728 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2729 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2591 "", 2730 "",
2592 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2731 "\1\u00e6\5\uffff\1\u00e7",
2732 "\1\u00e8",
2733 "\1\u00e9",
2734 "\1\u00ea",
2735 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2736 "\1\u00ec",
2737 "\1\u00ed",
2738 "\1\u00ee",
2593 "", 2739 "",
2594 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2740 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
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",
2597 "", 2741 "",
2742 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2743 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2744 "",
2745 "",
2746 "\1\u00f2",
2747 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2748 "\1\u00f4",
2749 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2750 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2751 "",
2752 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2753 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2754 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2598 "", 2755 "",
2599 "\1\u00e9",
2600 "", 2756 "",
2601 "", 2757 "",
2758 "\1\u00fa",
2602 "", 2759 "",
2760 "\1\u00fb",
2603 "", 2761 "",
2604 "", 2762 "",
2605 "", 2763 "",
2606 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", 2764 "",
2765 "",
2766 "\1\u00fc",
2767 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2768 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2769 "",
2607 "" 2770 ""
2608 }; 2771 };
2609 2772
@@ -2637,41 +2800,31 @@ public class InternalSolverLanguageLexer extends Lexer {
2637 this.transition = DFA12_transition; 2800 this.transition = DFA12_transition;
2638 } 2801 }
2639 public String getDescription() { 2802 public String getDescription() {
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 );"; 2803 return "1:1: Tokens : ( Containment | Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Default | Extends | Problem | Unknown | Extern | Import | Object | Refers | Class | Count | Empty | Error | False | Scope | Else | Enum | Root | Then | True | FullStopFullStopFullStop | Inf | Let | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | ColonHyphenMinus | ColonColon | ColonEqualsSign | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | QuestionMark | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | Tilde | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );";
2641 } 2804 }
2642 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2805 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2643 IntStream input = _input; 2806 IntStream input = _input;
2644 int _s = s; 2807 int _s = s;
2645 switch ( s ) { 2808 switch ( s ) {
2646 case 0 : 2809 case 0 :
2647 int LA12_33 = input.LA(1); 2810 int LA12_37 = input.LA(1);
2648 2811
2649 s = -1; 2812 s = -1;
2650 if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;} 2813 if ( ((LA12_37>='\u0000' && LA12_37<='\uFFFF')) ) {s = 107;}
2651 2814
2652 else s = 39; 2815 else s = 43;
2653 2816
2654 if ( s>=0 ) return s; 2817 if ( s>=0 ) return s;
2655 break; 2818 break;
2656 case 1 : 2819 case 1 :
2657 int LA12_34 = input.LA(1);
2658
2659 s = -1;
2660 if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;}
2661
2662 else s = 39;
2663
2664 if ( s>=0 ) return s;
2665 break;
2666 case 2 :
2667 int LA12_0 = input.LA(1); 2820 int LA12_0 = input.LA(1);
2668 2821
2669 s = -1; 2822 s = -1;
2670 if ( (LA12_0=='f') ) {s = 1;} 2823 if ( (LA12_0=='c') ) {s = 1;}
2671 2824
2672 else if ( (LA12_0=='a') ) {s = 2;} 2825 else if ( (LA12_0=='f') ) {s = 2;}
2673 2826
2674 else if ( (LA12_0=='c') ) {s = 3;} 2827 else if ( (LA12_0=='a') ) {s = 3;}
2675 2828
2676 else if ( (LA12_0=='d') ) {s = 4;} 2829 else if ( (LA12_0=='d') ) {s = 4;}
2677 2830
@@ -2681,69 +2834,87 @@ public class InternalSolverLanguageLexer extends Lexer {
2681 2834
2682 else if ( (LA12_0=='e') ) {s = 7;} 2835 else if ( (LA12_0=='e') ) {s = 7;}
2683 2836
2684 else if ( (LA12_0=='u') ) {s = 8;} 2837 else if ( (LA12_0=='p') ) {s = 8;}
2838
2839 else if ( (LA12_0=='u') ) {s = 9;}
2685 2840
2686 else if ( (LA12_0=='s') ) {s = 9;} 2841 else if ( (LA12_0=='i') ) {s = 10;}
2687 2842
2688 else if ( (LA12_0=='t') ) {s = 10;} 2843 else if ( (LA12_0=='r') ) {s = 11;}
2689 2844
2690 else if ( (LA12_0=='.') ) {s = 11;} 2845 else if ( (LA12_0=='s') ) {s = 12;}
2691 2846
2692 else if ( (LA12_0=='i') ) {s = 12;} 2847 else if ( (LA12_0=='t') ) {s = 13;}
2693 2848
2694 else if ( (LA12_0=='l') ) {s = 13;} 2849 else if ( (LA12_0=='.') ) {s = 14;}
2695 2850
2696 else if ( (LA12_0=='!') ) {s = 14;} 2851 else if ( (LA12_0=='l') ) {s = 15;}
2697 2852
2698 else if ( (LA12_0=='-') ) {s = 15;} 2853 else if ( (LA12_0=='!') ) {s = 16;}
2699 2854
2700 else if ( (LA12_0==':') ) {s = 16;} 2855 else if ( (LA12_0=='-') ) {s = 17;}
2701 2856
2702 else if ( (LA12_0=='<') ) {s = 17;} 2857 else if ( (LA12_0==':') ) {s = 18;}
2703 2858
2704 else if ( (LA12_0=='=') ) {s = 18;} 2859 else if ( (LA12_0=='<') ) {s = 19;}
2705 2860
2706 else if ( (LA12_0=='>') ) {s = 19;} 2861 else if ( (LA12_0=='=') ) {s = 20;}
2707 2862
2708 else if ( (LA12_0=='(') ) {s = 20;} 2863 else if ( (LA12_0=='>') ) {s = 21;}
2709 2864
2710 else if ( (LA12_0==')') ) {s = 21;} 2865 else if ( (LA12_0=='(') ) {s = 22;}
2711 2866
2712 else if ( (LA12_0=='*') ) {s = 22;} 2867 else if ( (LA12_0==')') ) {s = 23;}
2713 2868
2714 else if ( (LA12_0=='+') ) {s = 23;} 2869 else if ( (LA12_0=='*') ) {s = 24;}
2715 2870
2716 else if ( (LA12_0==',') ) {s = 24;} 2871 else if ( (LA12_0=='+') ) {s = 25;}
2717 2872
2718 else if ( (LA12_0=='/') ) {s = 25;} 2873 else if ( (LA12_0==',') ) {s = 26;}
2719 2874
2720 else if ( (LA12_0==';') ) {s = 26;} 2875 else if ( (LA12_0=='/') ) {s = 27;}
2721 2876
2722 else if ( (LA12_0=='[') ) {s = 27;} 2877 else if ( (LA12_0==';') ) {s = 28;}
2723 2878
2724 else if ( (LA12_0==']') ) {s = 28;} 2879 else if ( (LA12_0=='?') ) {s = 29;}
2725 2880
2726 else if ( (LA12_0=='^') ) {s = 29;} 2881 else if ( (LA12_0=='[') ) {s = 30;}
2727 2882
2728 else if ( (LA12_0=='{') ) {s = 30;} 2883 else if ( (LA12_0==']') ) {s = 31;}
2729 2884
2730 else if ( (LA12_0=='|') ) {s = 31;} 2885 else if ( (LA12_0=='^') ) {s = 32;}
2731 2886
2732 else if ( (LA12_0=='}') ) {s = 32;} 2887 else if ( (LA12_0=='{') ) {s = 33;}
2733 2888
2734 else if ( (LA12_0=='\"') ) {s = 33;} 2889 else if ( (LA12_0=='|') ) {s = 34;}
2735 2890
2736 else if ( (LA12_0=='\'') ) {s = 34;} 2891 else if ( (LA12_0=='}') ) {s = 35;}
2737 2892
2738 else if ( (LA12_0=='%') ) {s = 35;} 2893 else if ( (LA12_0=='~') ) {s = 36;}
2739 2894
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;} 2895 else if ( (LA12_0=='\"') ) {s = 37;}
2741 2896
2742 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;} 2897 else if ( (LA12_0=='\'') ) {s = 38;}
2743 2898
2744 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;} 2899 else if ( (LA12_0=='%') ) {s = 39;}
2900
2901 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=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 40;}
2902
2903 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 41;}
2904
2905 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 42;}
2906
2907 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>='\u007F' && LA12_0<='\uFFFF')) ) {s = 43;}
2908
2909 if ( s>=0 ) return s;
2910 break;
2911 case 2 :
2912 int LA12_38 = input.LA(1);
2913
2914 s = -1;
2915 if ( ((LA12_38>='\u0000' && LA12_38<='\uFFFF')) ) {s = 108;}
2745 2916
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;} 2917 else s = 43;
2747 2918
2748 if ( s>=0 ) return s; 2919 if ( s>=0 ) return s;
2749 break; 2920 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 178103e2..f6269b97 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,70 +1,75 @@
1Abstract=5 1Abstract=6
2As=40 2As=43
3Asterisk=46 3Asterisk=49
4CircumflexAccent=59 4CircumflexAccent=63
5Class=18 5Class=20
6Colon=52 6Colon=55
7ColonHyphenMinus=35 7ColonColon=37
8Comma=48 8ColonEqualsSign=38
9Contains=6 9ColonHyphenMinus=36
10Count=19 10Comma=51
11Current=11 11Containment=4
12Datatype=7 12Contains=7
13Count=21
14Datatype=8
13Default=12 15Default=12
14Else=24 16Else=26
15Empty=20 17Empty=22
16EqualsSign=55 18Enum=27
17EqualsSignEqualsSign=37 19EqualsSign=58
18EqualsSignGreaterThanSign=38 20EqualsSignEqualsSign=40
19Error=21 21EqualsSignGreaterThanSign=41
20ExclamationMark=43 22Error=23
21ExclamationMarkEqualsSign=32 23ExclamationMark=46
22Exists=15 24ExclamationMarkEqualsSign=34
23Extends=13 25Extends=13
24Extern=16 26Extern=16
25False=22 27False=24
26Forall=17 28FullStop=53
27FullStop=50 29FullStopFullStopFullStop=31
28FullStopFullStop=34 30Functional=5
29FullStopFullStopFullStop=28 31GreaterThanSign=59
30Functional=4 32GreaterThanSignEqualsSign=42
31GreaterThanSign=56 33HyphenMinus=52
32GreaterThanSignEqualsSign=39 34HyphenMinusGreaterThanSign=35
33HyphenMinus=49 35If=44
34HyphenMinusGreaterThanSign=33 36Import=17
35If=41 37In=45
36In=42 38Inf=32
37Inf=29 39LeftCurlyBracket=64
38LeftCurlyBracket=60 40LeftParenthesis=47
39LeftParenthesis=44 41LeftSquareBracket=61
40LeftSquareBracket=57 42LessThanSign=57
41LessThanSign=54 43LessThanSignEqualsSign=39
42LessThanSignEqualsSign=36 44Let=33
43Let=30 45Maximize=9
44Maximize=8 46Minimize=10
45May=31 47Object=18
46Minimize=9 48Opposite=11
47Must=25 49PlusSign=50
48Opposite=10 50Problem=14
49PlusSign=47 51QuestionMark=60
50RULE_ANY_OTHER=73 52RULE_ANY_OTHER=78
51RULE_FULL_STOP=68 53RULE_FULL_STOP=73
52RULE_ID=69 54RULE_ID=74
53RULE_INT=70 55RULE_INT=75
54RULE_ML_COMMENT=71 56RULE_ML_COMMENT=76
55RULE_QUOTED_ID=64 57RULE_QUOTED_ID=69
56RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67 58RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72
57RULE_SL_COMMENT=65 59RULE_SL_COMMENT=70
58RULE_STRING=63 60RULE_STRING=68
59RULE_TRANSITIVE_CLOSURE=66 61RULE_TRANSITIVE_CLOSURE=71
60RULE_WS=72 62RULE_WS=77
61RightCurlyBracket=62 63Refers=19
62RightParenthesis=45 64RightCurlyBracket=66
63RightSquareBracket=58 65RightParenthesis=48
64Scope=23 66RightSquareBracket=62
65Semicolon=53 67Root=28
66Solidus=51 68Scope=25
67Then=26 69Semicolon=56
68True=27 70Solidus=54
69Unknown=14 71Then=29
70VerticalLine=61 72Tilde=67
73True=30
74Unknown=15
75VerticalLine=65
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 dc93975f..49326024 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,52 +10,58 @@ 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.Attribute;
13import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; 15import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
14import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; 16import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
15import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; 17import org.eclipse.viatra.solver.language.solverLanguage.BoundedScope;
16import org.eclipse.viatra.solver.language.solverLanguage.Call; 18import org.eclipse.viatra.solver.language.solverLanguage.Call;
17import org.eclipse.viatra.solver.language.solverLanguage.Case; 19import org.eclipse.viatra.solver.language.solverLanguage.Case;
18import org.eclipse.viatra.solver.language.solverLanguage.CastExpression; 20import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
19import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; 21import org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration;
20import org.eclipse.viatra.solver.language.solverLanguage.Comparison; 22import org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression;
21import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; 23import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
22import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; 24import org.eclipse.viatra.solver.language.solverLanguage.Count;
25import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion;
23import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; 26import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
24import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; 27import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral;
28import org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral;
25import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; 30import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
26import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; 31import org.eclipse.viatra.solver.language.solverLanguage.ExactScope;
27import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; 32import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
28import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition; 33import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration;
29import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; 34import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration;
30import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; 35import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration;
31import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; 36import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration;
32import org.eclipse.viatra.solver.language.solverLanguage.IfElse; 37import org.eclipse.viatra.solver.language.solverLanguage.Field;
38import org.eclipse.viatra.solver.language.solverLanguage.Forall;
39import org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition;
33import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; 40import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
34import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; 41import org.eclipse.viatra.solver.language.solverLanguage.IntLiteral;
35import org.eclipse.viatra.solver.language.solverLanguage.Interval; 42import org.eclipse.viatra.solver.language.solverLanguage.Interval;
36import org.eclipse.viatra.solver.language.solverLanguage.Let;
37import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; 43import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
38import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; 44import org.eclipse.viatra.solver.language.solverLanguage.LetExpression;
39import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; 45import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
40import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; 46import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope;
41import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; 47import org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport;
42import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; 48import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration;
43import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; 49import org.eclipse.viatra.solver.language.solverLanguage.PathComponent;
44import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
45import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
46import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; 50import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
47import org.eclipse.viatra.solver.language.solverLanguage.Problem; 51import org.eclipse.viatra.solver.language.solverLanguage.Problem;
48import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression; 52import org.eclipse.viatra.solver.language.solverLanguage.RealLiteral;
49import org.eclipse.viatra.solver.language.solverLanguage.Reference; 53import org.eclipse.viatra.solver.language.solverLanguage.Reference;
50import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
51import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; 55import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
52import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; 56import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
53import org.eclipse.viatra.solver.language.solverLanguage.Switch; 57import org.eclipse.viatra.solver.language.solverLanguage.Switch;
54import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; 58import org.eclipse.viatra.solver.language.solverLanguage.TypeReference;
55import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; 59import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
60import org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument;
56import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; 61import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
57import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; 62import org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity;
58import org.eclipse.viatra.solver.language.solverLanguage.Variable; 63import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion;
64import org.eclipse.viatra.solver.language.solverLanguage.UriImport;
59import org.eclipse.xtext.Action; 65import org.eclipse.xtext.Action;
60import org.eclipse.xtext.Parameter; 66import org.eclipse.xtext.Parameter;
61import org.eclipse.xtext.ParserRule; 67import org.eclipse.xtext.ParserRule;
@@ -84,14 +90,20 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
84 case SolverLanguagePackage.ARGUMENT_LIST: 90 case SolverLanguagePackage.ARGUMENT_LIST:
85 sequence_ArgumentList(context, (ArgumentList) semanticObject); 91 sequence_ArgumentList(context, (ArgumentList) semanticObject);
86 return; 92 return;
93 case SolverLanguagePackage.ASSERTION:
94 sequence_AssertionOrDefinition(context, (Assertion) semanticObject);
95 return;
96 case SolverLanguagePackage.ATTRIBUTE:
97 sequence_Attribute(context, (Attribute) semanticObject);
98 return;
87 case SolverLanguagePackage.BINARY_EXPRESSION: 99 case SolverLanguagePackage.BINARY_EXPRESSION:
88 sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); 100 sequence_AdditiveExpression_ComparisonExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject);
89 return; 101 return;
90 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: 102 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
91 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); 103 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject);
92 return; 104 return;
93 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: 105 case SolverLanguagePackage.BOUNDED_SCOPE:
94 sequence_BoundedScopeDefinition(context, (BoundedScopeDefinition) semanticObject); 106 sequence_BoundedScope(context, (BoundedScope) semanticObject);
95 return; 107 return;
96 case SolverLanguagePackage.CALL: 108 case SolverLanguagePackage.CALL:
97 sequence_Call(context, (Call) semanticObject); 109 sequence_Call(context, (Call) semanticObject);
@@ -109,97 +121,103 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
109 case SolverLanguagePackage.CAST_EXPRESSION: 121 case SolverLanguagePackage.CAST_EXPRESSION:
110 sequence_CastExpression(context, (CastExpression) semanticObject); 122 sequence_CastExpression(context, (CastExpression) semanticObject);
111 return; 123 return;
112 case SolverLanguagePackage.CLASS_DEFINITION: 124 case SolverLanguagePackage.CLASS_DECLARATION:
113 sequence_ClassDefinition(context, (ClassDefinition) semanticObject); 125 sequence_ClassDeclaration(context, (ClassDeclaration) semanticObject);
114 return; 126 return;
115 case SolverLanguagePackage.COMPARISON: 127 case SolverLanguagePackage.CONDITIONAL_EXPRESSION:
116 sequence_ComparisonExpression(context, (Comparison) semanticObject); 128 sequence_ConditionalExpression(context, (ConditionalExpression) semanticObject);
117 return; 129 return;
118 case SolverLanguagePackage.CONJUNCTION: 130 case SolverLanguagePackage.CONJUNCTION:
119 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); 131 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject);
120 return; 132 return;
121 case SolverLanguagePackage.DEFAULT_DEFINITION: 133 case SolverLanguagePackage.COUNT:
122 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); 134 sequence_Count(context, (Count) semanticObject);
135 return;
136 case SolverLanguagePackage.DEFAULT_ASSERTION:
137 sequence_DefaultAssertion(context, (DefaultAssertion) semanticObject);
123 return; 138 return;
124 case SolverLanguagePackage.DISJUNCTION: 139 case SolverLanguagePackage.DISJUNCTION:
125 sequence_DisjunctiveExpression(context, (Disjunction) semanticObject); 140 sequence_DisjunctiveExpression(context, (Disjunction) semanticObject);
126 return; 141 return;
127 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: 142 case SolverLanguagePackage.EMPTY_LITERAL:
128 sequence_EmptyIntervalLiteral(context, (EmptyIntervalLiteral) semanticObject); 143 sequence_EmptyLiteral(context, (EmptyLiteral) semanticObject);
144 return;
145 case SolverLanguagePackage.ENUM_DECLARATION:
146 sequence_EnumDeclaration(context, (EnumDeclaration) semanticObject);
147 return;
148 case SolverLanguagePackage.ENUM_LITERAL:
149 sequence_EnumLiteral(context, (EnumLiteral) semanticObject);
129 return; 150 return;
130 case SolverLanguagePackage.EXACT_MULTIPLICITY: 151 case SolverLanguagePackage.EXACT_MULTIPLICITY:
131 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject); 152 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject);
132 return; 153 return;
133 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: 154 case SolverLanguagePackage.EXACT_SCOPE:
134 sequence_ExactScopeDefinition(context, (ExactScopeDefinition) semanticObject); 155 sequence_ExactScope(context, (ExactScope) semanticObject);
135 return; 156 return;
136 case SolverLanguagePackage.EXPRESSION_ARGUMENT: 157 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
137 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); 158 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject);
138 return; 159 return;
139 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: 160 case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION:
140 sequence_ExternAggregatorDefinition(context, (ExternAggregatorDefinition) semanticObject); 161 sequence_ExternAggregationOperatorDeclaration(context, (ExternAggregationOperatorDeclaration) semanticObject);
162 return;
163 case SolverLanguagePackage.EXTERN_DATATYPE_DECLARATION:
164 sequence_ExternDatatypeDeclaration(context, (ExternDatatypeDeclaration) semanticObject);
141 return; 165 return;
142 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: 166 case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION:
143 sequence_ExternDatatypeDefinition(context, (ExternDatatypeDefinition) semanticObject); 167 sequence_ExternFunctionDeclaration(context, (ExternFunctionDeclaration) semanticObject);
144 return; 168 return;
145 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: 169 case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION:
146 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); 170 sequence_ExternPredicateDeclaration(context, (ExternPredicateDeclaration) semanticObject);
147 return; 171 return;
148 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: 172 case SolverLanguagePackage.FIELD:
149 sequence_ExternPredicateDefinition(context, (ExternPredicateDefinition) semanticObject); 173 sequence_Field(context, (Field) semanticObject);
150 return; 174 return;
151 case SolverLanguagePackage.IF_ELSE: 175 case SolverLanguagePackage.FORALL:
152 sequence_IfElse(context, (IfElse) semanticObject); 176 sequence_Expression(context, (Forall) semanticObject);
153 return; 177 return;
178 case SolverLanguagePackage.FUNCTION_DEFINITION:
179 if (rule == grammarAccess.getAssertionOrDefinitionRule()) {
180 sequence_AssertionOrDefinition(context, (FunctionDefinition) semanticObject);
181 return;
182 }
183 else if (rule == grammarAccess.getStatementRule()) {
184 sequence_AssertionOrDefinition_FunctionDefinition(context, (FunctionDefinition) semanticObject);
185 return;
186 }
187 else if (rule == grammarAccess.getFunctionDefinitionRule()) {
188 sequence_FunctionDefinition(context, (FunctionDefinition) semanticObject);
189 return;
190 }
191 else break;
154 case SolverLanguagePackage.INFINITY_LITERAL: 192 case SolverLanguagePackage.INFINITY_LITERAL:
155 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); 193 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject);
156 return; 194 return;
157 case SolverLanguagePackage.INTERPRETATION: 195 case SolverLanguagePackage.INT_LITERAL:
158 sequence_AssertionOrDefinition(context, (Interpretation) semanticObject); 196 sequence_IntLiteral(context, (IntLiteral) semanticObject);
159 return; 197 return;
160 case SolverLanguagePackage.INTERVAL: 198 case SolverLanguagePackage.INTERVAL:
161 sequence_Interval(context, (Interval) semanticObject); 199 sequence_Interval(context, (Interval) semanticObject);
162 return; 200 return;
163 case SolverLanguagePackage.LET:
164 sequence_Let(context, (Let) semanticObject);
165 return;
166 case SolverLanguagePackage.LET_BINDING: 201 case SolverLanguagePackage.LET_BINDING:
167 sequence_LetBinding(context, (LetBinding) semanticObject); 202 sequence_LetBinding(context, (LetBinding) semanticObject);
168 return; 203 return;
169 case SolverLanguagePackage.LOCAL_VARIABLES: 204 case SolverLanguagePackage.LET_EXPRESSION:
170 sequence_LocalVariables(context, (LocalVariables) semanticObject); 205 sequence_LetExpression(context, (LetExpression) semanticObject);
171 return; 206 return;
172 case SolverLanguagePackage.LOGIC_LITERAL: 207 case SolverLanguagePackage.LOGIC_LITERAL:
173 sequence_LogicLiteral(context, (LogicLiteral) semanticObject); 208 sequence_LogicLiteral(context, (LogicLiteral) semanticObject);
174 return; 209 return;
175 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: 210 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE:
176 sequence_LowerBoundedScopeDefinition(context, (LowerBoundedScopeDefinition) semanticObject); 211 sequence_LowerBoundedScope(context, (LowerBoundedScope) semanticObject);
177 return; 212 return;
178 case SolverLanguagePackage.MANY_MULTIPLICITY: 213 case SolverLanguagePackage.NAMESPACE_IMPORT:
179 sequence_ManyMultiplicity(context, (ManyMultiplicity) semanticObject); 214 sequence_NamespaceImport(context, (NamespaceImport) semanticObject);
180 return; 215 return;
181 case SolverLanguagePackage.MEMBER_DEFINITION: 216 case SolverLanguagePackage.OBJECTIVE_DECLARATION:
182 sequence_MemberDefinition(context, (MemberDefinition) semanticObject); 217 sequence_ObjectiveDeclaration(context, (ObjectiveDeclaration) semanticObject);
183 return; 218 return;
184 case SolverLanguagePackage.METRIC_DEFINITION: 219 case SolverLanguagePackage.PATH_COMPONENT:
185 if (rule == grammarAccess.getAssertionOrDefinitionRule()) { 220 sequence_PathComponent(context, (PathComponent) semanticObject);
186 sequence_AssertionOrDefinition(context, (MetricDefinition) semanticObject);
187 return;
188 }
189 else if (rule == grammarAccess.getStatementRule()) {
190 sequence_AssertionOrDefinition_MetricDefinition(context, (MetricDefinition) semanticObject);
191 return;
192 }
193 else if (rule == grammarAccess.getMetricDefinitionRule()) {
194 sequence_MetricDefinition(context, (MetricDefinition) semanticObject);
195 return;
196 }
197 else break;
198 case SolverLanguagePackage.NUMERIC_LITERAL:
199 sequence_NumericLiteral(context, (NumericLiteral) semanticObject);
200 return;
201 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
202 sequence_ObjectiveDefinition(context, (ObjectiveDefinition) semanticObject);
203 return; 221 return;
204 case SolverLanguagePackage.PREDICATE_DEFINITION: 222 case SolverLanguagePackage.PREDICATE_DEFINITION:
205 if (rule == grammarAccess.getAssertionOrDefinitionRule()) { 223 if (rule == grammarAccess.getAssertionOrDefinitionRule()) {
@@ -218,8 +236,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
218 case SolverLanguagePackage.PROBLEM: 236 case SolverLanguagePackage.PROBLEM:
219 sequence_Problem(context, (Problem) semanticObject); 237 sequence_Problem(context, (Problem) semanticObject);
220 return; 238 return;
221 case SolverLanguagePackage.QUANTIFIED_EXPRESSION: 239 case SolverLanguagePackage.REAL_LITERAL:
222 sequence_QuantifiedExpression(context, (QuantifiedExpression) semanticObject); 240 sequence_RealLiteral(context, (RealLiteral) semanticObject);
223 return; 241 return;
224 case SolverLanguagePackage.REFERENCE: 242 case SolverLanguagePackage.REFERENCE:
225 sequence_Reference(context, (Reference) semanticObject); 243 sequence_Reference(context, (Reference) semanticObject);
@@ -233,20 +251,26 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
233 case SolverLanguagePackage.SWITCH: 251 case SolverLanguagePackage.SWITCH:
234 sequence_DisjunctiveExpression(context, (Switch) semanticObject); 252 sequence_DisjunctiveExpression(context, (Switch) semanticObject);
235 return; 253 return;
236 case SolverLanguagePackage.TYPED_ARGUMENT: 254 case SolverLanguagePackage.TYPE_REFERENCE:
237 sequence_TypedArgument(context, (TypedArgument) semanticObject); 255 sequence_TypeReference(context, (TypeReference) semanticObject);
238 return; 256 return;
239 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: 257 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
240 sequence_TypedStarArgument(context, (TypedStarArgument) semanticObject); 258 sequence_TypedStarArgument(context, (TypedStarArgument) semanticObject);
241 return; 259 return;
260 case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT:
261 sequence_TypedVariableArgument(context, (TypedVariableArgument) semanticObject);
262 return;
242 case SolverLanguagePackage.UNARY_EXPRESSION: 263 case SolverLanguagePackage.UNARY_EXPRESSION:
243 sequence_UnaryExpression(context, (UnaryExpression) semanticObject); 264 sequence_UnaryExpression(context, (UnaryExpression) semanticObject);
244 return; 265 return;
245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: 266 case SolverLanguagePackage.UNBOUNDED_MULTIPLICITY:
246 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); 267 sequence_UnboundedMultiplicity(context, (UnboundedMultiplicity) semanticObject);
247 return; 268 return;
248 case SolverLanguagePackage.VARIABLE: 269 case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION:
249 sequence_Variable(context, (Variable) semanticObject); 270 sequence_UnnamedErrorPredicateDefintion(context, (UnnamedErrorPredicateDefintion) semanticObject);
271 return;
272 case SolverLanguagePackage.URI_IMPORT:
273 sequence_UriImport(context, (UriImport) semanticObject);
250 return; 274 return;
251 } 275 }
252 if (errorAcceptor != null) 276 if (errorAcceptor != null)
@@ -255,21 +279,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
255 279
256 /** 280 /**
257 * Contexts: 281 * Contexts:
258 * Statement returns BinaryExpression 282 * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression
259 * AssertionOrDefinition returns BinaryExpression
260 * AssertionOrDefinition.Interpretation_1_0_0 returns BinaryExpression
261 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression 283 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression
262 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression 284 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns BinaryExpression
263 * Expression returns BinaryExpression 285 * Expression returns BinaryExpression
264 * ImplicationExpression returns BinaryExpression 286 * Expression.Forall_2_1_0 returns BinaryExpression
265 * ImplicationExpression.BinaryExpression_1_0 returns BinaryExpression
266 * DisjunctiveExpression returns BinaryExpression 287 * DisjunctiveExpression returns BinaryExpression
267 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression 288 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression
268 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression 289 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression
269 * ConjunctiveExpression returns BinaryExpression 290 * ConjunctiveExpression returns BinaryExpression
270 * ConjunctiveExpression.Conjunction_1_0 returns BinaryExpression 291 * ConjunctiveExpression.Conjunction_1_0 returns BinaryExpression
271 * ComparisonExpression returns BinaryExpression 292 * ComparisonExpression returns BinaryExpression
272 * ComparisonExpression.Comparison_1_0 returns BinaryExpression 293 * ComparisonExpression.BinaryExpression_1_0 returns BinaryExpression
273 * AdditiveExpression returns BinaryExpression 294 * AdditiveExpression returns BinaryExpression
274 * AdditiveExpression.BinaryExpression_1_0 returns BinaryExpression 295 * AdditiveExpression.BinaryExpression_1_0 returns BinaryExpression
275 * MultiplicativeExpression returns BinaryExpression 296 * MultiplicativeExpression returns BinaryExpression
@@ -279,39 +300,36 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
279 * CastExpression returns BinaryExpression 300 * CastExpression returns BinaryExpression
280 * CastExpression.CastExpression_1_0 returns BinaryExpression 301 * CastExpression.CastExpression_1_0 returns BinaryExpression
281 * UnaryExpression returns BinaryExpression 302 * UnaryExpression returns BinaryExpression
282 * AggregationExpression returns BinaryExpression 303 * BracedAggregateExpression returns BinaryExpression
283 * AtomicExpression returns BinaryExpression 304 * AtomicExpression returns BinaryExpression
284 * 305 *
285 * Constraint: 306 * Constraint:
286 * ( 307 * (
287 * (left=ImplicationExpression_BinaryExpression_1_0 op=ImplicationOperator right=ImplicationExpression) | 308 * (left=ComparisonExpression_BinaryExpression_1_0 op=ComparisonOperator right=AdditiveExpression) |
288 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) | 309 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) |
289 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) | 310 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) |
290 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=CastExpression) 311 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=CastExpression)
291 * ) 312 * )
292 */ 313 */
293 protected void sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { 314 protected void sequence_AdditiveExpression_ComparisonExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) {
294 genericSequencer.createSequence(context, semanticObject); 315 genericSequencer.createSequence(context, semanticObject);
295 } 316 }
296 317
297 318
298 /** 319 /**
299 * Contexts: 320 * Contexts:
300 * Statement returns Aggregation 321 * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation
301 * AssertionOrDefinition returns Aggregation
302 * AssertionOrDefinition.Interpretation_1_0_0 returns Aggregation
303 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation 322 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation
304 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation 323 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Aggregation
305 * Expression returns Aggregation 324 * Expression returns Aggregation
306 * ImplicationExpression returns Aggregation 325 * Expression.Forall_2_1_0 returns Aggregation
307 * ImplicationExpression.BinaryExpression_1_0 returns Aggregation
308 * DisjunctiveExpression returns Aggregation 326 * DisjunctiveExpression returns Aggregation
309 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation 327 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation
310 * DisjunctiveExpression.Case_1_1_0 returns Aggregation 328 * DisjunctiveExpression.Case_1_1_0 returns Aggregation
311 * ConjunctiveExpression returns Aggregation 329 * ConjunctiveExpression returns Aggregation
312 * ConjunctiveExpression.Conjunction_1_0 returns Aggregation 330 * ConjunctiveExpression.Conjunction_1_0 returns Aggregation
313 * ComparisonExpression returns Aggregation 331 * ComparisonExpression returns Aggregation
314 * ComparisonExpression.Comparison_1_0 returns Aggregation 332 * ComparisonExpression.BinaryExpression_1_0 returns Aggregation
315 * AdditiveExpression returns Aggregation 333 * AdditiveExpression returns Aggregation
316 * AdditiveExpression.BinaryExpression_1_0 returns Aggregation 334 * AdditiveExpression.BinaryExpression_1_0 returns Aggregation
317 * MultiplicativeExpression returns Aggregation 335 * MultiplicativeExpression returns Aggregation
@@ -321,15 +339,27 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
321 * CastExpression returns Aggregation 339 * CastExpression returns Aggregation
322 * CastExpression.CastExpression_1_0 returns Aggregation 340 * CastExpression.CastExpression_1_0 returns Aggregation
323 * UnaryExpression returns Aggregation 341 * UnaryExpression returns Aggregation
324 * AggregationExpression returns Aggregation 342 * BracedAggregateExpression returns Aggregation
325 * Aggregation returns Aggregation 343 * Aggregation returns Aggregation
326 * AtomicExpression returns Aggregation 344 * AtomicExpression returns Aggregation
327 * 345 *
328 * Constraint: 346 * Constraint:
329 * (op=[NamedElement|QualifiedName] localVariables=LocalVariables? body=Expression condition=Expression?) 347 * (op=[Symbol|QualifiedName] value=Expression condition=Expression)
330 */ 348 */
331 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { 349 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) {
332 genericSequencer.createSequence(context, semanticObject); 350 if (errorAcceptor != null) {
351 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP) == ValueTransient.YES)
352 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP));
353 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__VALUE) == ValueTransient.YES)
354 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__VALUE));
355 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES)
356 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION));
357 }
358 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
359 feeder.accept(grammarAccess.getAggregationAccess().getOpSymbolQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.AGGREGATION__OP, false));
360 feeder.accept(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0(), semanticObject.getValue());
361 feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition());
362 feeder.finish();
333 } 363 }
334 364
335 365
@@ -347,42 +377,33 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
347 377
348 /** 378 /**
349 * Contexts: 379 * Contexts:
350 * Statement returns Interpretation 380 * Statement returns Assertion
351 * AssertionOrDefinition returns Interpretation 381 * AssertionOrDefinition returns Assertion
352 * 382 *
353 * Constraint: 383 * Constraint:
354 * (body=AssertionOrDefinition_Interpretation_1_0_0 range=Expression) 384 * (expression=AssertionOrDefinition_Assertion_1_0_0 range=Expression?)
355 */ 385 */
356 protected void sequence_AssertionOrDefinition(ISerializationContext context, Interpretation semanticObject) { 386 protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) {
357 if (errorAcceptor != null) { 387 genericSequencer.createSequence(context, semanticObject);
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();
367 } 388 }
368 389
369 390
370 /** 391 /**
371 * Contexts: 392 * Contexts:
372 * AssertionOrDefinition returns MetricDefinition 393 * AssertionOrDefinition returns FunctionDefinition
373 * 394 *
374 * Constraint: 395 * Constraint:
375 * (head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) 396 * (head=AssertionOrDefinition_FunctionDefinition_1_2_0 body=Expression)
376 */ 397 */
377 protected void sequence_AssertionOrDefinition(ISerializationContext context, MetricDefinition semanticObject) { 398 protected void sequence_AssertionOrDefinition(ISerializationContext context, FunctionDefinition semanticObject) {
378 if (errorAcceptor != null) { 399 if (errorAcceptor != null) {
379 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) 400 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES)
380 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); 401 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD));
381 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES) 402 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES)
382 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); 403 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY));
383 } 404 }
384 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 405 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
385 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), semanticObject.getHead()); 406 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(), semanticObject.getHead());
386 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0(), semanticObject.getBody()); 407 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0(), semanticObject.getBody());
387 feeder.finish(); 408 feeder.finish();
388 } 409 }
@@ -390,12 +411,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
390 411
391 /** 412 /**
392 * Contexts: 413 * Contexts:
393 * Statement returns MetricDefinition 414 * Statement returns FunctionDefinition
394 * 415 *
395 * Constraint: 416 * Constraint:
396 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=[NamedElement|QualifiedName] head=Call body=Expression)) 417 * ((head=AssertionOrDefinition_FunctionDefinition_1_2_0 body=Expression) | (resultType=[Symbol|QualifiedName] head=Call body=Expression))
397 */ 418 */
398 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { 419 protected void sequence_AssertionOrDefinition_FunctionDefinition(ISerializationContext context, FunctionDefinition semanticObject) {
399 genericSequencer.createSequence(context, semanticObject); 420 genericSequencer.createSequence(context, semanticObject);
400 } 421 }
401 422
@@ -409,10 +430,10 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
409 */ 430 */
410 protected void sequence_AssertionOrDefinition(ISerializationContext context, PredicateDefinition semanticObject) { 431 protected void sequence_AssertionOrDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
411 if (errorAcceptor != null) { 432 if (errorAcceptor != null) {
412 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) 433 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES)
413 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD)); 434 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD));
414 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY) == ValueTransient.YES) 435 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES)
415 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY)); 436 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY));
416 } 437 }
417 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 438 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
418 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), semanticObject.getHead()); 439 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), semanticObject.getHead());
@@ -438,6 +459,28 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
438 459
439 /** 460 /**
440 * Contexts: 461 * Contexts:
462 * Statement returns Attribute
463 * Attribute returns Attribute
464 *
465 * Constraint:
466 * (kind=AttributeKind target=[Symbol|QualifiedName])
467 */
468 protected void sequence_Attribute(ISerializationContext context, Attribute semanticObject) {
469 if (errorAcceptor != null) {
470 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__KIND) == ValueTransient.YES)
471 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__KIND));
472 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__TARGET) == ValueTransient.YES)
473 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__TARGET));
474 }
475 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
476 feeder.accept(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0(), semanticObject.getKind());
477 feeder.accept(grammarAccess.getAttributeAccess().getTargetSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.ATTRIBUTE__TARGET, false));
478 feeder.finish();
479 }
480
481
482 /**
483 * Contexts:
441 * Multiplicity returns BoundedMultiplicity 484 * Multiplicity returns BoundedMultiplicity
442 * BoundedMultiplicity returns BoundedMultiplicity 485 * BoundedMultiplicity returns BoundedMultiplicity
443 * 486 *
@@ -460,35 +503,32 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
460 503
461 /** 504 /**
462 * Contexts: 505 * Contexts:
463 * Statement returns BoundedScopeDefinition 506 * Statement returns BoundedScope
464 * ScopeDefinition returns BoundedScopeDefinition 507 * ScopeDeclaration returns BoundedScope
465 * BoundedScopeDefinition returns BoundedScopeDefinition 508 * BoundedScope returns BoundedScope
466 * 509 *
467 * Constraint: 510 * Constraint:
468 * ((lowerBound=INT? type=[NamedElement|QualifiedName] upperBound=INT) | (upperBound=INT type=[NamedElement|QualifiedName] lowerBound=INT?)) 511 * ((lowerBound=INT? type=[Symbol|QualifiedName] upperBound=INT) | (upperBound=INT type=[Symbol|QualifiedName] lowerBound=INT?))
469 */ 512 */
470 protected void sequence_BoundedScopeDefinition(ISerializationContext context, BoundedScopeDefinition semanticObject) { 513 protected void sequence_BoundedScope(ISerializationContext context, BoundedScope semanticObject) {
471 genericSequencer.createSequence(context, semanticObject); 514 genericSequencer.createSequence(context, semanticObject);
472 } 515 }
473 516
474 517
475 /** 518 /**
476 * Contexts: 519 * Contexts:
477 * Statement returns Call 520 * AssertionOrDefinition.Assertion_1_0_0 returns Call
478 * AssertionOrDefinition returns Call
479 * AssertionOrDefinition.Interpretation_1_0_0 returns Call
480 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call 521 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call
481 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call 522 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Call
482 * Expression returns Call 523 * Expression returns Call
483 * ImplicationExpression returns Call 524 * Expression.Forall_2_1_0 returns Call
484 * ImplicationExpression.BinaryExpression_1_0 returns Call
485 * DisjunctiveExpression returns Call 525 * DisjunctiveExpression returns Call
486 * DisjunctiveExpression.Disjunction_1_0_0 returns Call 526 * DisjunctiveExpression.Disjunction_1_0_0 returns Call
487 * DisjunctiveExpression.Case_1_1_0 returns Call 527 * DisjunctiveExpression.Case_1_1_0 returns Call
488 * ConjunctiveExpression returns Call 528 * ConjunctiveExpression returns Call
489 * ConjunctiveExpression.Conjunction_1_0 returns Call 529 * ConjunctiveExpression.Conjunction_1_0 returns Call
490 * ComparisonExpression returns Call 530 * ComparisonExpression returns Call
491 * ComparisonExpression.Comparison_1_0 returns Call 531 * ComparisonExpression.BinaryExpression_1_0 returns Call
492 * AdditiveExpression returns Call 532 * AdditiveExpression returns Call
493 * AdditiveExpression.BinaryExpression_1_0 returns Call 533 * AdditiveExpression.BinaryExpression_1_0 returns Call
494 * MultiplicativeExpression returns Call 534 * MultiplicativeExpression returns Call
@@ -498,19 +538,24 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
498 * CastExpression returns Call 538 * CastExpression returns Call
499 * CastExpression.CastExpression_1_0 returns Call 539 * CastExpression.CastExpression_1_0 returns Call
500 * UnaryExpression returns Call 540 * UnaryExpression returns Call
501 * AggregationExpression returns Call 541 * BracedAggregateExpression returns Call
502 * AtomicExpression returns Call 542 * AtomicExpression returns Call
503 * Call returns Call 543 * Call returns Call
504 * 544 *
505 * Constraint: 545 * Constraint:
506 * ( 546 * (functor=Reference argumentList=ArgumentList)
507 * functor=Reference
508 * (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
509 * argumentList=ArgumentList
510 * )
511 */ 547 */
512 protected void sequence_Call(ISerializationContext context, Call semanticObject) { 548 protected void sequence_Call(ISerializationContext context, Call semanticObject) {
513 genericSequencer.createSequence(context, semanticObject); 549 if (errorAcceptor != null) {
550 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR) == ValueTransient.YES)
551 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR));
552 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST) == ValueTransient.YES)
553 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST));
554 }
555 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
556 feeder.accept(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0(), semanticObject.getFunctor());
557 feeder.accept(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList());
558 feeder.finish();
514 } 559 }
515 560
516 561
@@ -537,21 +582,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
537 582
538 /** 583 /**
539 * Contexts: 584 * Contexts:
540 * Statement returns CastExpression 585 * AssertionOrDefinition.Assertion_1_0_0 returns CastExpression
541 * AssertionOrDefinition returns CastExpression
542 * AssertionOrDefinition.Interpretation_1_0_0 returns CastExpression
543 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression 586 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression
544 * AssertionOrDefinition.MetricDefinition_1_2_0 returns CastExpression 587 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns CastExpression
545 * Expression returns CastExpression 588 * Expression returns CastExpression
546 * ImplicationExpression returns CastExpression 589 * Expression.Forall_2_1_0 returns CastExpression
547 * ImplicationExpression.BinaryExpression_1_0 returns CastExpression
548 * DisjunctiveExpression returns CastExpression 590 * DisjunctiveExpression returns CastExpression
549 * DisjunctiveExpression.Disjunction_1_0_0 returns CastExpression 591 * DisjunctiveExpression.Disjunction_1_0_0 returns CastExpression
550 * DisjunctiveExpression.Case_1_1_0 returns CastExpression 592 * DisjunctiveExpression.Case_1_1_0 returns CastExpression
551 * ConjunctiveExpression returns CastExpression 593 * ConjunctiveExpression returns CastExpression
552 * ConjunctiveExpression.Conjunction_1_0 returns CastExpression 594 * ConjunctiveExpression.Conjunction_1_0 returns CastExpression
553 * ComparisonExpression returns CastExpression 595 * ComparisonExpression returns CastExpression
554 * ComparisonExpression.Comparison_1_0 returns CastExpression 596 * ComparisonExpression.BinaryExpression_1_0 returns CastExpression
555 * AdditiveExpression returns CastExpression 597 * AdditiveExpression returns CastExpression
556 * AdditiveExpression.BinaryExpression_1_0 returns CastExpression 598 * AdditiveExpression.BinaryExpression_1_0 returns CastExpression
557 * MultiplicativeExpression returns CastExpression 599 * MultiplicativeExpression returns CastExpression
@@ -561,110 +603,100 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
561 * CastExpression returns CastExpression 603 * CastExpression returns CastExpression
562 * CastExpression.CastExpression_1_0 returns CastExpression 604 * CastExpression.CastExpression_1_0 returns CastExpression
563 * UnaryExpression returns CastExpression 605 * UnaryExpression returns CastExpression
564 * AggregationExpression returns CastExpression 606 * BracedAggregateExpression returns CastExpression
565 * AtomicExpression returns CastExpression 607 * AtomicExpression returns CastExpression
566 * 608 *
567 * Constraint: 609 * Constraint:
568 * (body=CastExpression_CastExpression_1_0 type=[NamedElement|QualifiedName]) 610 * (body=CastExpression_CastExpression_1_0 targetType=[Symbol|QualifiedName])
569 */ 611 */
570 protected void sequence_CastExpression(ISerializationContext context, CastExpression semanticObject) { 612 protected void sequence_CastExpression(ISerializationContext context, CastExpression semanticObject) {
571 if (errorAcceptor != null) { 613 if (errorAcceptor != null) {
572 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY) == ValueTransient.YES) 614 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY) == ValueTransient.YES)
573 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY)); 615 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY));
574 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE) == ValueTransient.YES) 616 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_TYPE) == ValueTransient.YES)
575 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE)); 617 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_TYPE));
576 } 618 }
577 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 619 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
578 feeder.accept(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), semanticObject.getBody()); 620 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)); 621 feeder.accept(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_TYPE, false));
580 feeder.finish(); 622 feeder.finish();
581 } 623 }
582 624
583 625
584 /** 626 /**
585 * Contexts: 627 * Contexts:
586 * Statement returns ClassDefinition 628 * Statement returns ClassDeclaration
587 * ClassDefinition returns ClassDefinition 629 * ClassDeclaration returns ClassDeclaration
588 * 630 *
589 * Constraint: 631 * Constraint:
590 * ( 632 * ((abstract?='abstract' | root?='root')* name=ID (supertypes+=[Symbol|QualifiedName] supertypes+=[Symbol|QualifiedName]*)? fields+=Field*)
591 * abstract?='abstract'?
592 * name=ID
593 * (superclasses+=[NamedElement|QualifiedName] superclasses+=[NamedElement|QualifiedName]*)?
594 * members+=MemberDefinition*
595 * )
596 */ 633 */
597 protected void sequence_ClassDefinition(ISerializationContext context, ClassDefinition semanticObject) { 634 protected void sequence_ClassDeclaration(ISerializationContext context, ClassDeclaration semanticObject) {
598 genericSequencer.createSequence(context, semanticObject); 635 genericSequencer.createSequence(context, semanticObject);
599 } 636 }
600 637
601 638
602 /** 639 /**
603 * Contexts: 640 * Contexts:
604 * Statement returns Comparison 641 * AssertionOrDefinition.Assertion_1_0_0 returns ConditionalExpression
605 * AssertionOrDefinition returns Comparison 642 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns ConditionalExpression
606 * AssertionOrDefinition.Interpretation_1_0_0 returns Comparison 643 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns ConditionalExpression
607 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison 644 * Expression returns ConditionalExpression
608 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison 645 * Expression.Forall_2_1_0 returns ConditionalExpression
609 * Expression returns Comparison 646 * ConditionalExpression returns ConditionalExpression
610 * ImplicationExpression returns Comparison 647 * DisjunctiveExpression returns ConditionalExpression
611 * ImplicationExpression.BinaryExpression_1_0 returns Comparison 648 * DisjunctiveExpression.Disjunction_1_0_0 returns ConditionalExpression
612 * DisjunctiveExpression returns Comparison 649 * DisjunctiveExpression.Case_1_1_0 returns ConditionalExpression
613 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison 650 * ConjunctiveExpression returns ConditionalExpression
614 * DisjunctiveExpression.Case_1_1_0 returns Comparison 651 * ConjunctiveExpression.Conjunction_1_0 returns ConditionalExpression
615 * ConjunctiveExpression returns Comparison 652 * ComparisonExpression returns ConditionalExpression
616 * ConjunctiveExpression.Conjunction_1_0 returns Comparison 653 * ComparisonExpression.BinaryExpression_1_0 returns ConditionalExpression
617 * ComparisonExpression returns Comparison 654 * AdditiveExpression returns ConditionalExpression
618 * ComparisonExpression.Comparison_1_0 returns Comparison 655 * AdditiveExpression.BinaryExpression_1_0 returns ConditionalExpression
619 * AdditiveExpression returns Comparison 656 * MultiplicativeExpression returns ConditionalExpression
620 * AdditiveExpression.BinaryExpression_1_0 returns Comparison 657 * MultiplicativeExpression.BinaryExpression_1_0 returns ConditionalExpression
621 * MultiplicativeExpression returns Comparison 658 * ExponentialExpression returns ConditionalExpression
622 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison 659 * ExponentialExpression.BinaryExpression_1_0 returns ConditionalExpression
623 * ExponentialExpression returns Comparison 660 * CastExpression returns ConditionalExpression
624 * ExponentialExpression.BinaryExpression_1_0 returns Comparison 661 * CastExpression.CastExpression_1_0 returns ConditionalExpression
625 * CastExpression returns Comparison 662 * UnaryExpression returns ConditionalExpression
626 * CastExpression.CastExpression_1_0 returns Comparison 663 * BracedAggregateExpression returns ConditionalExpression
627 * UnaryExpression returns Comparison 664 * AtomicExpression returns ConditionalExpression
628 * AggregationExpression returns Comparison
629 * AtomicExpression returns Comparison
630 * 665 *
631 * Constraint: 666 * Constraint:
632 * (left=ComparisonExpression_Comparison_1_0 op=ComparisonOperator right=AdditiveExpression) 667 * (condition=DisjunctiveExpression then=Expression else=Expression)
633 */ 668 */
634 protected void sequence_ComparisonExpression(ISerializationContext context, Comparison semanticObject) { 669 protected void sequence_ConditionalExpression(ISerializationContext context, ConditionalExpression semanticObject) {
635 if (errorAcceptor != null) { 670 if (errorAcceptor != null) {
636 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT) == ValueTransient.YES) 671 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__CONDITION) == ValueTransient.YES)
637 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT)); 672 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__CONDITION));
638 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP) == ValueTransient.YES) 673 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__THEN) == ValueTransient.YES)
639 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP)); 674 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__THEN));
640 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES) 675 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__ELSE) == ValueTransient.YES)
641 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT)); 676 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__ELSE));
642 } 677 }
643 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 678 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
644 feeder.accept(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft()); 679 feeder.accept(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0(), semanticObject.getCondition());
645 feeder.accept(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0(), semanticObject.getOp()); 680 feeder.accept(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen());
646 feeder.accept(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0(), semanticObject.getRight()); 681 feeder.accept(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse());
647 feeder.finish(); 682 feeder.finish();
648 } 683 }
649 684
650 685
651 /** 686 /**
652 * Contexts: 687 * Contexts:
653 * Statement returns Conjunction 688 * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction
654 * AssertionOrDefinition returns Conjunction
655 * AssertionOrDefinition.Interpretation_1_0_0 returns Conjunction
656 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction 689 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction
657 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction 690 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Conjunction
658 * Expression returns Conjunction 691 * Expression returns Conjunction
659 * ImplicationExpression returns Conjunction 692 * Expression.Forall_2_1_0 returns Conjunction
660 * ImplicationExpression.BinaryExpression_1_0 returns Conjunction
661 * DisjunctiveExpression returns Conjunction 693 * DisjunctiveExpression returns Conjunction
662 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction 694 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction
663 * DisjunctiveExpression.Case_1_1_0 returns Conjunction 695 * DisjunctiveExpression.Case_1_1_0 returns Conjunction
664 * ConjunctiveExpression returns Conjunction 696 * ConjunctiveExpression returns Conjunction
665 * ConjunctiveExpression.Conjunction_1_0 returns Conjunction 697 * ConjunctiveExpression.Conjunction_1_0 returns Conjunction
666 * ComparisonExpression returns Conjunction 698 * ComparisonExpression returns Conjunction
667 * ComparisonExpression.Comparison_1_0 returns Conjunction 699 * ComparisonExpression.BinaryExpression_1_0 returns Conjunction
668 * AdditiveExpression returns Conjunction 700 * AdditiveExpression returns Conjunction
669 * AdditiveExpression.BinaryExpression_1_0 returns Conjunction 701 * AdditiveExpression.BinaryExpression_1_0 returns Conjunction
670 * MultiplicativeExpression returns Conjunction 702 * MultiplicativeExpression returns Conjunction
@@ -674,7 +706,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
674 * CastExpression returns Conjunction 706 * CastExpression returns Conjunction
675 * CastExpression.CastExpression_1_0 returns Conjunction 707 * CastExpression.CastExpression_1_0 returns Conjunction
676 * UnaryExpression returns Conjunction 708 * UnaryExpression returns Conjunction
677 * AggregationExpression returns Conjunction 709 * BracedAggregateExpression returns Conjunction
678 * AtomicExpression returns Conjunction 710 * AtomicExpression returns Conjunction
679 * 711 *
680 * Constraint: 712 * Constraint:
@@ -687,43 +719,72 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
687 719
688 /** 720 /**
689 * Contexts: 721 * Contexts:
690 * Statement returns DefaultDefinition 722 * AssertionOrDefinition.Assertion_1_0_0 returns Count
691 * DefaultDefinition returns DefaultDefinition 723 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count
724 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Count
725 * Expression returns Count
726 * Expression.Forall_2_1_0 returns Count
727 * DisjunctiveExpression returns Count
728 * DisjunctiveExpression.Disjunction_1_0_0 returns Count
729 * DisjunctiveExpression.Case_1_1_0 returns Count
730 * ConjunctiveExpression returns Count
731 * ConjunctiveExpression.Conjunction_1_0 returns Count
732 * ComparisonExpression returns Count
733 * ComparisonExpression.BinaryExpression_1_0 returns Count
734 * AdditiveExpression returns Count
735 * AdditiveExpression.BinaryExpression_1_0 returns Count
736 * MultiplicativeExpression returns Count
737 * MultiplicativeExpression.BinaryExpression_1_0 returns Count
738 * ExponentialExpression returns Count
739 * ExponentialExpression.BinaryExpression_1_0 returns Count
740 * CastExpression returns Count
741 * CastExpression.CastExpression_1_0 returns Count
742 * UnaryExpression returns Count
743 * BracedAggregateExpression returns Count
744 * Count returns Count
745 * AtomicExpression returns Count
692 * 746 *
693 * Constraint: 747 * Constraint:
694 * (head=Call range=Expression) 748 * condition=Expression
695 */ 749 */
696 protected void sequence_DefaultDefinition(ISerializationContext context, DefaultDefinition semanticObject) { 750 protected void sequence_Count(ISerializationContext context, Count semanticObject) {
697 if (errorAcceptor != null) { 751 if (errorAcceptor != null) {
698 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD) == ValueTransient.YES) 752 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES)
699 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD)); 753 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION));
700 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE) == ValueTransient.YES)
701 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE));
702 } 754 }
703 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 755 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
704 feeder.accept(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); 756 feeder.accept(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0(), semanticObject.getCondition());
705 feeder.accept(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0(), semanticObject.getRange());
706 feeder.finish(); 757 feeder.finish();
707 } 758 }
708 759
709 760
710 /** 761 /**
711 * Contexts: 762 * Contexts:
712 * Statement returns Disjunction 763 * Statement returns DefaultAssertion
713 * AssertionOrDefinition returns Disjunction 764 * DefaultAssertion returns DefaultAssertion
714 * AssertionOrDefinition.Interpretation_1_0_0 returns Disjunction 765 *
766 * Constraint:
767 * (expression=Call range=Expression?)
768 */
769 protected void sequence_DefaultAssertion(ISerializationContext context, DefaultAssertion semanticObject) {
770 genericSequencer.createSequence(context, semanticObject);
771 }
772
773
774 /**
775 * Contexts:
776 * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction
715 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction 777 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction
716 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction 778 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Disjunction
717 * Expression returns Disjunction 779 * Expression returns Disjunction
718 * ImplicationExpression returns Disjunction 780 * Expression.Forall_2_1_0 returns Disjunction
719 * ImplicationExpression.BinaryExpression_1_0 returns Disjunction
720 * DisjunctiveExpression returns Disjunction 781 * DisjunctiveExpression returns Disjunction
721 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction 782 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction
722 * DisjunctiveExpression.Case_1_1_0 returns Disjunction 783 * DisjunctiveExpression.Case_1_1_0 returns Disjunction
723 * ConjunctiveExpression returns Disjunction 784 * ConjunctiveExpression returns Disjunction
724 * ConjunctiveExpression.Conjunction_1_0 returns Disjunction 785 * ConjunctiveExpression.Conjunction_1_0 returns Disjunction
725 * ComparisonExpression returns Disjunction 786 * ComparisonExpression returns Disjunction
726 * ComparisonExpression.Comparison_1_0 returns Disjunction 787 * ComparisonExpression.BinaryExpression_1_0 returns Disjunction
727 * AdditiveExpression returns Disjunction 788 * AdditiveExpression returns Disjunction
728 * AdditiveExpression.BinaryExpression_1_0 returns Disjunction 789 * AdditiveExpression.BinaryExpression_1_0 returns Disjunction
729 * MultiplicativeExpression returns Disjunction 790 * MultiplicativeExpression returns Disjunction
@@ -733,7 +794,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
733 * CastExpression returns Disjunction 794 * CastExpression returns Disjunction
734 * CastExpression.CastExpression_1_0 returns Disjunction 795 * CastExpression.CastExpression_1_0 returns Disjunction
735 * UnaryExpression returns Disjunction 796 * UnaryExpression returns Disjunction
736 * AggregationExpression returns Disjunction 797 * BracedAggregateExpression returns Disjunction
737 * AtomicExpression returns Disjunction 798 * AtomicExpression returns Disjunction
738 * 799 *
739 * Constraint: 800 * Constraint:
@@ -746,21 +807,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
746 807
747 /** 808 /**
748 * Contexts: 809 * Contexts:
749 * Statement returns Switch 810 * AssertionOrDefinition.Assertion_1_0_0 returns Switch
750 * AssertionOrDefinition returns Switch
751 * AssertionOrDefinition.Interpretation_1_0_0 returns Switch
752 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch 811 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch
753 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch 812 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Switch
754 * Expression returns Switch 813 * Expression returns Switch
755 * ImplicationExpression returns Switch 814 * Expression.Forall_2_1_0 returns Switch
756 * ImplicationExpression.BinaryExpression_1_0 returns Switch
757 * DisjunctiveExpression returns Switch 815 * DisjunctiveExpression returns Switch
758 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch 816 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch
759 * DisjunctiveExpression.Case_1_1_0 returns Switch 817 * DisjunctiveExpression.Case_1_1_0 returns Switch
760 * ConjunctiveExpression returns Switch 818 * ConjunctiveExpression returns Switch
761 * ConjunctiveExpression.Conjunction_1_0 returns Switch 819 * ConjunctiveExpression.Conjunction_1_0 returns Switch
762 * ComparisonExpression returns Switch 820 * ComparisonExpression returns Switch
763 * ComparisonExpression.Comparison_1_0 returns Switch 821 * ComparisonExpression.BinaryExpression_1_0 returns Switch
764 * AdditiveExpression returns Switch 822 * AdditiveExpression returns Switch
765 * AdditiveExpression.BinaryExpression_1_0 returns Switch 823 * AdditiveExpression.BinaryExpression_1_0 returns Switch
766 * MultiplicativeExpression returns Switch 824 * MultiplicativeExpression returns Switch
@@ -770,7 +828,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
770 * CastExpression returns Switch 828 * CastExpression returns Switch
771 * CastExpression.CastExpression_1_0 returns Switch 829 * CastExpression.CastExpression_1_0 returns Switch
772 * UnaryExpression returns Switch 830 * UnaryExpression returns Switch
773 * AggregationExpression returns Switch 831 * BracedAggregateExpression returns Switch
774 * AtomicExpression returns Switch 832 * AtomicExpression returns Switch
775 * 833 *
776 * Constraint: 834 * Constraint:
@@ -804,81 +862,109 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
804 862
805 /** 863 /**
806 * Contexts: 864 * Contexts:
807 * Statement returns EmptyIntervalLiteral 865 * AssertionOrDefinition.Assertion_1_0_0 returns EmptyLiteral
808 * AssertionOrDefinition returns EmptyIntervalLiteral 866 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyLiteral
809 * AssertionOrDefinition.Interpretation_1_0_0 returns EmptyIntervalLiteral 867 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns EmptyLiteral
810 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral 868 * Expression returns EmptyLiteral
811 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral 869 * Expression.Forall_2_1_0 returns EmptyLiteral
812 * Expression returns EmptyIntervalLiteral 870 * DisjunctiveExpression returns EmptyLiteral
813 * ImplicationExpression returns EmptyIntervalLiteral 871 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyLiteral
814 * ImplicationExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 872 * DisjunctiveExpression.Case_1_1_0 returns EmptyLiteral
815 * DisjunctiveExpression returns EmptyIntervalLiteral 873 * ConjunctiveExpression returns EmptyLiteral
816 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral 874 * ConjunctiveExpression.Conjunction_1_0 returns EmptyLiteral
817 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral 875 * ComparisonExpression returns EmptyLiteral
818 * ConjunctiveExpression returns EmptyIntervalLiteral 876 * ComparisonExpression.BinaryExpression_1_0 returns EmptyLiteral
819 * ConjunctiveExpression.Conjunction_1_0 returns EmptyIntervalLiteral 877 * AdditiveExpression returns EmptyLiteral
820 * ComparisonExpression returns EmptyIntervalLiteral 878 * AdditiveExpression.BinaryExpression_1_0 returns EmptyLiteral
821 * ComparisonExpression.Comparison_1_0 returns EmptyIntervalLiteral 879 * MultiplicativeExpression returns EmptyLiteral
822 * AdditiveExpression returns EmptyIntervalLiteral 880 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyLiteral
823 * AdditiveExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 881 * ExponentialExpression returns EmptyLiteral
824 * MultiplicativeExpression returns EmptyIntervalLiteral 882 * ExponentialExpression.BinaryExpression_1_0 returns EmptyLiteral
825 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 883 * CastExpression returns EmptyLiteral
826 * ExponentialExpression returns EmptyIntervalLiteral 884 * CastExpression.CastExpression_1_0 returns EmptyLiteral
827 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 885 * UnaryExpression returns EmptyLiteral
828 * CastExpression returns EmptyIntervalLiteral 886 * BracedAggregateExpression returns EmptyLiteral
829 * CastExpression.CastExpression_1_0 returns EmptyIntervalLiteral 887 * AtomicExpression returns EmptyLiteral
830 * UnaryExpression returns EmptyIntervalLiteral 888 * Literal returns EmptyLiteral
831 * AggregationExpression returns EmptyIntervalLiteral 889 * EmptyLiteral returns EmptyLiteral
832 * AtomicExpression returns EmptyIntervalLiteral
833 * Literal returns EmptyIntervalLiteral
834 * EmptyIntervalLiteral returns EmptyIntervalLiteral
835 * 890 *
836 * Constraint: 891 * Constraint:
837 * {EmptyIntervalLiteral} 892 * {EmptyLiteral}
838 */ 893 */
839 protected void sequence_EmptyIntervalLiteral(ISerializationContext context, EmptyIntervalLiteral semanticObject) { 894 protected void sequence_EmptyLiteral(ISerializationContext context, EmptyLiteral semanticObject) {
840 genericSequencer.createSequence(context, semanticObject); 895 genericSequencer.createSequence(context, semanticObject);
841 } 896 }
842 897
843 898
844 /** 899 /**
845 * Contexts: 900 * Contexts:
901 * Statement returns EnumDeclaration
902 * EnumDeclaration returns EnumDeclaration
903 *
904 * Constraint:
905 * (name=ID (literals+=EnumLiteral literals+=EnumLiteral*)?)
906 */
907 protected void sequence_EnumDeclaration(ISerializationContext context, EnumDeclaration semanticObject) {
908 genericSequencer.createSequence(context, semanticObject);
909 }
910
911
912 /**
913 * Contexts:
914 * EnumLiteral returns EnumLiteral
915 *
916 * Constraint:
917 * name=ID
918 */
919 protected void sequence_EnumLiteral(ISerializationContext context, EnumLiteral semanticObject) {
920 if (errorAcceptor != null) {
921 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ENUM_LITERAL__NAME) == ValueTransient.YES)
922 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ENUM_LITERAL__NAME));
923 }
924 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
925 feeder.accept(grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
926 feeder.finish();
927 }
928
929
930 /**
931 * Contexts:
846 * Multiplicity returns ExactMultiplicity 932 * Multiplicity returns ExactMultiplicity
847 * ExactMultiplicity returns ExactMultiplicity 933 * ExactMultiplicity returns ExactMultiplicity
848 * 934 *
849 * Constraint: 935 * Constraint:
850 * multiplicity=UpperMultiplicty 936 * value=UpperMultiplicty
851 */ 937 */
852 protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) { 938 protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) {
853 if (errorAcceptor != null) { 939 if (errorAcceptor != null) {
854 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY) == ValueTransient.YES) 940 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__VALUE) == ValueTransient.YES)
855 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY)); 941 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__VALUE));
856 } 942 }
857 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 943 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
858 feeder.accept(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0(), semanticObject.getMultiplicity()); 944 feeder.accept(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0(), semanticObject.getValue());
859 feeder.finish(); 945 feeder.finish();
860 } 946 }
861 947
862 948
863 /** 949 /**
864 * Contexts: 950 * Contexts:
865 * Statement returns ExactScopeDefinition 951 * Statement returns ExactScope
866 * ScopeDefinition returns ExactScopeDefinition 952 * ScopeDeclaration returns ExactScope
867 * ExactScopeDefinition returns ExactScopeDefinition 953 * ExactScope returns ExactScope
868 * 954 *
869 * Constraint: 955 * Constraint:
870 * (type=[NamedElement|QualifiedName] exactScope=INT) 956 * (type=[Symbol|QualifiedName] size=INT)
871 */ 957 */
872 protected void sequence_ExactScopeDefinition(ISerializationContext context, ExactScopeDefinition semanticObject) { 958 protected void sequence_ExactScope(ISerializationContext context, ExactScope semanticObject) {
873 if (errorAcceptor != null) { 959 if (errorAcceptor != null) {
874 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE) == ValueTransient.YES) 960 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE) == ValueTransient.YES)
875 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE)); 961 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE));
876 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE) == ValueTransient.YES) 962 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE__SIZE) == ValueTransient.YES)
877 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE)); 963 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE__SIZE));
878 } 964 }
879 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 965 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
880 feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE, false)); 966 feeder.accept(grammarAccess.getExactScopeAccess().getTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE, false));
881 feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0(), semanticObject.getExactScope()); 967 feeder.accept(grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0(), semanticObject.getSize());
882 feeder.finish(); 968 feeder.finish();
883 } 969 }
884 970
@@ -889,171 +975,204 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
889 * ExpressionArgument returns ExpressionArgument 975 * ExpressionArgument returns ExpressionArgument
890 * 976 *
891 * Constraint: 977 * Constraint:
892 * body=ComparisonExpression 978 * expression=ComparisonExpression
893 */ 979 */
894 protected void sequence_ExpressionArgument(ISerializationContext context, ExpressionArgument semanticObject) { 980 protected void sequence_ExpressionArgument(ISerializationContext context, ExpressionArgument semanticObject) {
895 if (errorAcceptor != null) { 981 if (errorAcceptor != null) {
896 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY) == ValueTransient.YES) 982 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__EXPRESSION) == ValueTransient.YES)
897 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY)); 983 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__EXPRESSION));
898 } 984 }
899 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 985 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
900 feeder.accept(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0(), semanticObject.getBody()); 986 feeder.accept(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0(), semanticObject.getExpression());
901 feeder.finish(); 987 feeder.finish();
902 } 988 }
903 989
904 990
905 /** 991 /**
906 * Contexts: 992 * Contexts:
907 * Statement returns ExternAggregatorDefinition 993 * AssertionOrDefinition.Assertion_1_0_0 returns Forall
908 * ExternAggregatorDefinition returns ExternAggregatorDefinition 994 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Forall
995 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Forall
996 * Expression returns Forall
997 * Expression.Forall_2_1_0 returns Forall
998 * DisjunctiveExpression returns Forall
999 * DisjunctiveExpression.Disjunction_1_0_0 returns Forall
1000 * DisjunctiveExpression.Case_1_1_0 returns Forall
1001 * ConjunctiveExpression returns Forall
1002 * ConjunctiveExpression.Conjunction_1_0 returns Forall
1003 * ComparisonExpression returns Forall
1004 * ComparisonExpression.BinaryExpression_1_0 returns Forall
1005 * AdditiveExpression returns Forall
1006 * AdditiveExpression.BinaryExpression_1_0 returns Forall
1007 * MultiplicativeExpression returns Forall
1008 * MultiplicativeExpression.BinaryExpression_1_0 returns Forall
1009 * ExponentialExpression returns Forall
1010 * ExponentialExpression.BinaryExpression_1_0 returns Forall
1011 * CastExpression returns Forall
1012 * CastExpression.CastExpression_1_0 returns Forall
1013 * UnaryExpression returns Forall
1014 * BracedAggregateExpression returns Forall
1015 * AtomicExpression returns Forall
909 * 1016 *
910 * Constraint: 1017 * Constraint:
911 * (type=[NamedElement|QualifiedName] name=QualifiedName inputType=[NamedElement|QualifiedName]) 1018 * (condition=Expression_Forall_2_1_0 body=DisjunctiveExpression)
912 */ 1019 */
913 protected void sequence_ExternAggregatorDefinition(ISerializationContext context, ExternAggregatorDefinition semanticObject) { 1020 protected void sequence_Expression(ISerializationContext context, Forall semanticObject) {
914 if (errorAcceptor != null) { 1021 if (errorAcceptor != null) {
915 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE) == ValueTransient.YES) 1022 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES)
916 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE)); 1023 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION));
917 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME) == ValueTransient.YES) 1024 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FORALL__BODY) == ValueTransient.YES)
918 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME)); 1025 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FORALL__BODY));
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 } 1026 }
922 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1027 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
923 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE, false)); 1028 feeder.accept(grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(), semanticObject.getCondition());
924 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); 1029 feeder.accept(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0(), semanticObject.getBody());
925 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, false));
926 feeder.finish(); 1030 feeder.finish();
927 } 1031 }
928 1032
929 1033
930 /** 1034 /**
931 * Contexts: 1035 * Contexts:
932 * Statement returns ExternDatatypeDefinition 1036 * Statement returns ExternAggregationOperatorDeclaration
933 * ExternDatatypeDefinition returns ExternDatatypeDefinition 1037 * ExternDeclaration returns ExternAggregationOperatorDeclaration
1038 * ExternAggregationOperatorDeclaration returns ExternAggregationOperatorDeclaration
934 * 1039 *
935 * Constraint: 1040 * Constraint:
936 * (name=QualifiedName supertypes+=[NamedElement|QualifiedName] supertypes+=[NamedElement|QualifiedName]*) 1041 * (resultType=[Symbol|QualifiedName] name=QualifiedName argumentType=[Symbol|QualifiedName])
937 */ 1042 */
938 protected void sequence_ExternDatatypeDefinition(ISerializationContext context, ExternDatatypeDefinition semanticObject) { 1043 protected void sequence_ExternAggregationOperatorDeclaration(ISerializationContext context, ExternAggregationOperatorDeclaration semanticObject) {
939 genericSequencer.createSequence(context, semanticObject); 1044 if (errorAcceptor != null) {
1045 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE) == ValueTransient.YES)
1046 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE));
1047 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES)
1048 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME));
1049 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE) == ValueTransient.YES)
1050 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE));
1051 }
1052 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1053 feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, false));
1054 feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
1055 feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE, false));
1056 feeder.finish();
940 } 1057 }
941 1058
942 1059
943 /** 1060 /**
944 * Contexts: 1061 * Contexts:
945 * Statement returns ExternMetricDefinition 1062 * Statement returns ExternDatatypeDeclaration
946 * ExternMetricDefinition returns ExternMetricDefinition 1063 * ExternDeclaration returns ExternDatatypeDeclaration
1064 * ExternDatatypeDeclaration returns ExternDatatypeDeclaration
947 * 1065 *
948 * Constraint: 1066 * Constraint:
949 * (type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList) 1067 * name=QualifiedName
950 */ 1068 */
951 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) { 1069 protected void sequence_ExternDatatypeDeclaration(ISerializationContext context, ExternDatatypeDeclaration semanticObject) {
952 if (errorAcceptor != null) { 1070 if (errorAcceptor != null) {
953 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES) 1071 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES)
954 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE)); 1072 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME));
955 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME) == ValueTransient.YES)
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));
959 } 1073 }
960 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1074 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
961 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE, false)); 1075 feeder.accept(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
962 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
963 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList());
964 feeder.finish(); 1076 feeder.finish();
965 } 1077 }
966 1078
967 1079
968 /** 1080 /**
969 * Contexts: 1081 * Contexts:
970 * Statement returns ExternPredicateDefinition 1082 * Statement returns ExternFunctionDeclaration
971 * ExternPredicateDefinition returns ExternPredicateDefinition 1083 * ExternDeclaration returns ExternFunctionDeclaration
1084 * ExternFunctionDeclaration returns ExternFunctionDeclaration
972 * 1085 *
973 * Constraint: 1086 * Constraint:
974 * (name=QualifiedName argumentList=ArgumentList) 1087 * (resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList)
975 */ 1088 */
976 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) { 1089 protected void sequence_ExternFunctionDeclaration(ISerializationContext context, ExternFunctionDeclaration semanticObject) {
977 if (errorAcceptor != null) { 1090 if (errorAcceptor != null) {
978 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME) == ValueTransient.YES) 1091 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE) == ValueTransient.YES)
979 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME)); 1092 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE));
980 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) 1093 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES)
981 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST)); 1094 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME));
1095 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST) == ValueTransient.YES)
1096 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST));
982 } 1097 }
983 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1098 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
984 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName()); 1099 feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, false));
985 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0(), semanticObject.getArgumentList()); 1100 feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
1101 feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList());
986 feeder.finish(); 1102 feeder.finish();
987 } 1103 }
988 1104
989 1105
990 /** 1106 /**
991 * Contexts: 1107 * Contexts:
992 * Statement returns IfElse 1108 * Statement returns ExternPredicateDeclaration
993 * AssertionOrDefinition returns IfElse 1109 * ExternDeclaration returns ExternPredicateDeclaration
994 * AssertionOrDefinition.Interpretation_1_0_0 returns IfElse 1110 * ExternPredicateDeclaration returns ExternPredicateDeclaration
995 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse 1111 *
996 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse 1112 * Constraint:
997 * Expression returns IfElse 1113 * ((functional?='functional' | error?='error')* name=QualifiedName argumentList=ArgumentList)
998 * IfElse returns IfElse 1114 */
999 * ImplicationExpression returns IfElse 1115 protected void sequence_ExternPredicateDeclaration(ISerializationContext context, ExternPredicateDeclaration semanticObject) {
1000 * ImplicationExpression.BinaryExpression_1_0 returns IfElse 1116 genericSequencer.createSequence(context, semanticObject);
1001 * DisjunctiveExpression returns IfElse 1117 }
1002 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse 1118
1003 * DisjunctiveExpression.Case_1_1_0 returns IfElse 1119
1004 * ConjunctiveExpression returns IfElse 1120 /**
1005 * ConjunctiveExpression.Conjunction_1_0 returns IfElse 1121 * Contexts:
1006 * ComparisonExpression returns IfElse 1122 * Field returns Field
1007 * ComparisonExpression.Comparison_1_0 returns IfElse 1123 *
1008 * AdditiveExpression returns IfElse 1124 * Constraint:
1009 * AdditiveExpression.BinaryExpression_1_0 returns IfElse 1125 * (
1010 * MultiplicativeExpression returns IfElse 1126 * (containment?='contains' | crossReference?='refers')?
1011 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse 1127 * type=[Symbol|QualifiedName]
1012 * ExponentialExpression returns IfElse 1128 * multiplicity=Multiplicity?
1013 * ExponentialExpression.BinaryExpression_1_0 returns IfElse 1129 * name=ID
1014 * CastExpression returns IfElse 1130 * opposite=[Symbol|QualifiedName]?
1015 * CastExpression.CastExpression_1_0 returns IfElse 1131 * )
1016 * UnaryExpression returns IfElse 1132 */
1017 * AggregationExpression returns IfElse 1133 protected void sequence_Field(ISerializationContext context, Field semanticObject) {
1018 * AtomicExpression returns IfElse 1134 genericSequencer.createSequence(context, semanticObject);
1135 }
1136
1137
1138 /**
1139 * Contexts:
1140 * FunctionDefinition returns FunctionDefinition
1019 * 1141 *
1020 * Constraint: 1142 * Constraint:
1021 * (condition=Expression then=Expression else=Expression) 1143 * (resultType=[Symbol|QualifiedName] head=Call body=Expression)
1022 */ 1144 */
1023 protected void sequence_IfElse(ISerializationContext context, IfElse semanticObject) { 1145 protected void sequence_FunctionDefinition(ISerializationContext context, FunctionDefinition semanticObject) {
1024 if (errorAcceptor != null) { 1146 if (errorAcceptor != null) {
1025 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION) == ValueTransient.YES) 1147 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE) == ValueTransient.YES)
1026 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION)); 1148 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE));
1027 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN) == ValueTransient.YES) 1149 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES)
1028 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN)); 1150 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD));
1029 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE) == ValueTransient.YES) 1151 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES)
1030 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE)); 1152 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY));
1031 } 1153 }
1032 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1154 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1033 feeder.accept(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); 1155 feeder.accept(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE, false));
1034 feeder.accept(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen()); 1156 feeder.accept(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead());
1035 feeder.accept(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse()); 1157 feeder.accept(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
1036 feeder.finish(); 1158 feeder.finish();
1037 } 1159 }
1038 1160
1039 1161
1040 /** 1162 /**
1041 * Contexts: 1163 * Contexts:
1042 * Statement returns InfinityLiteral 1164 * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral
1043 * AssertionOrDefinition returns InfinityLiteral
1044 * AssertionOrDefinition.Interpretation_1_0_0 returns InfinityLiteral
1045 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral 1165 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral
1046 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral 1166 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns InfinityLiteral
1047 * Expression returns InfinityLiteral 1167 * Expression returns InfinityLiteral
1048 * ImplicationExpression returns InfinityLiteral 1168 * Expression.Forall_2_1_0 returns InfinityLiteral
1049 * ImplicationExpression.BinaryExpression_1_0 returns InfinityLiteral
1050 * DisjunctiveExpression returns InfinityLiteral 1169 * DisjunctiveExpression returns InfinityLiteral
1051 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral 1170 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral
1052 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral 1171 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral
1053 * ConjunctiveExpression returns InfinityLiteral 1172 * ConjunctiveExpression returns InfinityLiteral
1054 * ConjunctiveExpression.Conjunction_1_0 returns InfinityLiteral 1173 * ConjunctiveExpression.Conjunction_1_0 returns InfinityLiteral
1055 * ComparisonExpression returns InfinityLiteral 1174 * ComparisonExpression returns InfinityLiteral
1056 * ComparisonExpression.Comparison_1_0 returns InfinityLiteral 1175 * ComparisonExpression.BinaryExpression_1_0 returns InfinityLiteral
1057 * AdditiveExpression returns InfinityLiteral 1176 * AdditiveExpression returns InfinityLiteral
1058 * AdditiveExpression.BinaryExpression_1_0 returns InfinityLiteral 1177 * AdditiveExpression.BinaryExpression_1_0 returns InfinityLiteral
1059 * MultiplicativeExpression returns InfinityLiteral 1178 * MultiplicativeExpression returns InfinityLiteral
@@ -1063,7 +1182,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1063 * CastExpression returns InfinityLiteral 1182 * CastExpression returns InfinityLiteral
1064 * CastExpression.CastExpression_1_0 returns InfinityLiteral 1183 * CastExpression.CastExpression_1_0 returns InfinityLiteral
1065 * UnaryExpression returns InfinityLiteral 1184 * UnaryExpression returns InfinityLiteral
1066 * AggregationExpression returns InfinityLiteral 1185 * BracedAggregateExpression returns InfinityLiteral
1067 * AtomicExpression returns InfinityLiteral 1186 * AtomicExpression returns InfinityLiteral
1068 * Literal returns InfinityLiteral 1187 * Literal returns InfinityLiteral
1069 * InfinityLiteral returns InfinityLiteral 1188 * InfinityLiteral returns InfinityLiteral
@@ -1078,21 +1197,60 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1078 1197
1079 /** 1198 /**
1080 * Contexts: 1199 * Contexts:
1081 * Statement returns Interval 1200 * AssertionOrDefinition.Assertion_1_0_0 returns IntLiteral
1082 * AssertionOrDefinition returns Interval 1201 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IntLiteral
1083 * AssertionOrDefinition.Interpretation_1_0_0 returns Interval 1202 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns IntLiteral
1203 * Expression returns IntLiteral
1204 * Expression.Forall_2_1_0 returns IntLiteral
1205 * DisjunctiveExpression returns IntLiteral
1206 * DisjunctiveExpression.Disjunction_1_0_0 returns IntLiteral
1207 * DisjunctiveExpression.Case_1_1_0 returns IntLiteral
1208 * ConjunctiveExpression returns IntLiteral
1209 * ConjunctiveExpression.Conjunction_1_0 returns IntLiteral
1210 * ComparisonExpression returns IntLiteral
1211 * ComparisonExpression.BinaryExpression_1_0 returns IntLiteral
1212 * AdditiveExpression returns IntLiteral
1213 * AdditiveExpression.BinaryExpression_1_0 returns IntLiteral
1214 * MultiplicativeExpression returns IntLiteral
1215 * MultiplicativeExpression.BinaryExpression_1_0 returns IntLiteral
1216 * ExponentialExpression returns IntLiteral
1217 * ExponentialExpression.BinaryExpression_1_0 returns IntLiteral
1218 * CastExpression returns IntLiteral
1219 * CastExpression.CastExpression_1_0 returns IntLiteral
1220 * UnaryExpression returns IntLiteral
1221 * BracedAggregateExpression returns IntLiteral
1222 * AtomicExpression returns IntLiteral
1223 * Literal returns IntLiteral
1224 * IntLiteral returns IntLiteral
1225 *
1226 * Constraint:
1227 * value=INT
1228 */
1229 protected void sequence_IntLiteral(ISerializationContext context, IntLiteral semanticObject) {
1230 if (errorAcceptor != null) {
1231 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INT_LITERAL__VALUE) == ValueTransient.YES)
1232 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INT_LITERAL__VALUE));
1233 }
1234 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1235 feeder.accept(grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0(), semanticObject.getValue());
1236 feeder.finish();
1237 }
1238
1239
1240 /**
1241 * Contexts:
1242 * AssertionOrDefinition.Assertion_1_0_0 returns Interval
1084 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval 1243 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval
1085 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval 1244 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Interval
1086 * Expression returns Interval 1245 * Expression returns Interval
1087 * ImplicationExpression returns Interval 1246 * Expression.Forall_2_1_0 returns Interval
1088 * ImplicationExpression.BinaryExpression_1_0 returns Interval
1089 * DisjunctiveExpression returns Interval 1247 * DisjunctiveExpression returns Interval
1090 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval 1248 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval
1091 * DisjunctiveExpression.Case_1_1_0 returns Interval 1249 * DisjunctiveExpression.Case_1_1_0 returns Interval
1092 * ConjunctiveExpression returns Interval 1250 * ConjunctiveExpression returns Interval
1093 * ConjunctiveExpression.Conjunction_1_0 returns Interval 1251 * ConjunctiveExpression.Conjunction_1_0 returns Interval
1094 * ComparisonExpression returns Interval 1252 * ComparisonExpression returns Interval
1095 * ComparisonExpression.Comparison_1_0 returns Interval 1253 * ComparisonExpression.BinaryExpression_1_0 returns Interval
1096 * AdditiveExpression returns Interval 1254 * AdditiveExpression returns Interval
1097 * AdditiveExpression.BinaryExpression_1_0 returns Interval 1255 * AdditiveExpression.BinaryExpression_1_0 returns Interval
1098 * MultiplicativeExpression returns Interval 1256 * MultiplicativeExpression returns Interval
@@ -1102,12 +1260,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1102 * CastExpression returns Interval 1260 * CastExpression returns Interval
1103 * CastExpression.CastExpression_1_0 returns Interval 1261 * CastExpression.CastExpression_1_0 returns Interval
1104 * UnaryExpression returns Interval 1262 * UnaryExpression returns Interval
1105 * AggregationExpression returns Interval 1263 * BracedAggregateExpression returns Interval
1106 * AtomicExpression returns Interval 1264 * AtomicExpression returns Interval
1107 * Interval returns Interval 1265 * Interval returns Interval
1108 * 1266 *
1109 * Constraint: 1267 * Constraint:
1110 * (lowerBound=Expression upperBound=Expression) 1268 * (lowerBound=AdditiveExpression upperBound=AdditiveExpression)
1111 */ 1269 */
1112 protected void sequence_Interval(ISerializationContext context, Interval semanticObject) { 1270 protected void sequence_Interval(ISerializationContext context, Interval semanticObject) {
1113 if (errorAcceptor != null) { 1271 if (errorAcceptor != null) {
@@ -1117,8 +1275,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1117 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND)); 1275 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND));
1118 } 1276 }
1119 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1277 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1120 feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0(), semanticObject.getLowerBound()); 1278 feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0(), semanticObject.getLowerBound());
1121 feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0(), semanticObject.getUpperBound()); 1279 feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0(), semanticObject.getUpperBound());
1122 feeder.finish(); 1280 feeder.finish();
1123 } 1281 }
1124 1282
@@ -1128,89 +1286,62 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1128 * LetBinding returns LetBinding 1286 * LetBinding returns LetBinding
1129 * 1287 *
1130 * Constraint: 1288 * Constraint:
1131 * (variable=Variable value=AdditiveExpression) 1289 * (type=[Symbol|QualifiedName]? name=ID value=AdditiveExpression)
1132 */ 1290 */
1133 protected void sequence_LetBinding(ISerializationContext context, LetBinding semanticObject) { 1291 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); 1292 genericSequencer.createSequence(context, semanticObject);
1182 } 1293 }
1183 1294
1184 1295
1185 /** 1296 /**
1186 * Contexts: 1297 * Contexts:
1187 * LocalVariables returns LocalVariables 1298 * AssertionOrDefinition.Assertion_1_0_0 returns LetExpression
1299 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LetExpression
1300 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns LetExpression
1301 * Expression returns LetExpression
1302 * Expression.Forall_2_1_0 returns LetExpression
1303 * LetExpression returns LetExpression
1304 * DisjunctiveExpression returns LetExpression
1305 * DisjunctiveExpression.Disjunction_1_0_0 returns LetExpression
1306 * DisjunctiveExpression.Case_1_1_0 returns LetExpression
1307 * ConjunctiveExpression returns LetExpression
1308 * ConjunctiveExpression.Conjunction_1_0 returns LetExpression
1309 * ComparisonExpression returns LetExpression
1310 * ComparisonExpression.BinaryExpression_1_0 returns LetExpression
1311 * AdditiveExpression returns LetExpression
1312 * AdditiveExpression.BinaryExpression_1_0 returns LetExpression
1313 * MultiplicativeExpression returns LetExpression
1314 * MultiplicativeExpression.BinaryExpression_1_0 returns LetExpression
1315 * ExponentialExpression returns LetExpression
1316 * ExponentialExpression.BinaryExpression_1_0 returns LetExpression
1317 * CastExpression returns LetExpression
1318 * CastExpression.CastExpression_1_0 returns LetExpression
1319 * UnaryExpression returns LetExpression
1320 * BracedAggregateExpression returns LetExpression
1321 * AtomicExpression returns LetExpression
1188 * 1322 *
1189 * Constraint: 1323 * Constraint:
1190 * (variables+=Variable variables+=Variable*)? 1324 * (bindings+=LetBinding bindings+=LetBinding* body=Expression)
1191 */ 1325 */
1192 protected void sequence_LocalVariables(ISerializationContext context, LocalVariables semanticObject) { 1326 protected void sequence_LetExpression(ISerializationContext context, LetExpression semanticObject) {
1193 genericSequencer.createSequence(context, semanticObject); 1327 genericSequencer.createSequence(context, semanticObject);
1194 } 1328 }
1195 1329
1196 1330
1197 /** 1331 /**
1198 * Contexts: 1332 * Contexts:
1199 * Statement returns LogicLiteral 1333 * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral
1200 * AssertionOrDefinition returns LogicLiteral
1201 * AssertionOrDefinition.Interpretation_1_0_0 returns LogicLiteral
1202 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral 1334 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral
1203 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral 1335 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns LogicLiteral
1204 * Expression returns LogicLiteral 1336 * Expression returns LogicLiteral
1205 * ImplicationExpression returns LogicLiteral 1337 * Expression.Forall_2_1_0 returns LogicLiteral
1206 * ImplicationExpression.BinaryExpression_1_0 returns LogicLiteral
1207 * DisjunctiveExpression returns LogicLiteral 1338 * DisjunctiveExpression returns LogicLiteral
1208 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral 1339 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral
1209 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral 1340 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral
1210 * ConjunctiveExpression returns LogicLiteral 1341 * ConjunctiveExpression returns LogicLiteral
1211 * ConjunctiveExpression.Conjunction_1_0 returns LogicLiteral 1342 * ConjunctiveExpression.Conjunction_1_0 returns LogicLiteral
1212 * ComparisonExpression returns LogicLiteral 1343 * ComparisonExpression returns LogicLiteral
1213 * ComparisonExpression.Comparison_1_0 returns LogicLiteral 1344 * ComparisonExpression.BinaryExpression_1_0 returns LogicLiteral
1214 * AdditiveExpression returns LogicLiteral 1345 * AdditiveExpression returns LogicLiteral
1215 * AdditiveExpression.BinaryExpression_1_0 returns LogicLiteral 1346 * AdditiveExpression.BinaryExpression_1_0 returns LogicLiteral
1216 * MultiplicativeExpression returns LogicLiteral 1347 * MultiplicativeExpression returns LogicLiteral
@@ -1220,7 +1351,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1220 * CastExpression returns LogicLiteral 1351 * CastExpression returns LogicLiteral
1221 * CastExpression.CastExpression_1_0 returns LogicLiteral 1352 * CastExpression.CastExpression_1_0 returns LogicLiteral
1222 * UnaryExpression returns LogicLiteral 1353 * UnaryExpression returns LogicLiteral
1223 * AggregationExpression returns LogicLiteral 1354 * BracedAggregateExpression returns LogicLiteral
1224 * AtomicExpression returns LogicLiteral 1355 * AtomicExpression returns LogicLiteral
1225 * Literal returns LogicLiteral 1356 * Literal returns LogicLiteral
1226 * LogicLiteral returns LogicLiteral 1357 * LogicLiteral returns LogicLiteral
@@ -1241,131 +1372,75 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1241 1372
1242 /** 1373 /**
1243 * Contexts: 1374 * Contexts:
1244 * Statement returns LowerBoundedScopeDefinition 1375 * Statement returns LowerBoundedScope
1245 * ScopeDefinition returns LowerBoundedScopeDefinition 1376 * ScopeDeclaration returns LowerBoundedScope
1246 * LowerBoundedScopeDefinition returns LowerBoundedScopeDefinition 1377 * LowerBoundedScope returns LowerBoundedScope
1247 *
1248 * Constraint:
1249 * ((lowerBound=INT type=[NamedElement|QualifiedName]) | (type=[NamedElement|QualifiedName] lowerBound=INT))
1250 */
1251 protected void sequence_LowerBoundedScopeDefinition(ISerializationContext context, LowerBoundedScopeDefinition semanticObject) {
1252 genericSequencer.createSequence(context, semanticObject);
1253 }
1254
1255
1256 /**
1257 * Contexts:
1258 * Multiplicity returns ManyMultiplicity
1259 * ManyMultiplicity returns ManyMultiplicity
1260 * 1378 *
1261 * Constraint: 1379 * Constraint:
1262 * {ManyMultiplicity} 1380 * ((lowerBound=INT type=[Symbol|QualifiedName]) | (type=[Symbol|QualifiedName] lowerBound=INT))
1263 */ 1381 */
1264 protected void sequence_ManyMultiplicity(ISerializationContext context, ManyMultiplicity semanticObject) { 1382 protected void sequence_LowerBoundedScope(ISerializationContext context, LowerBoundedScope semanticObject) {
1265 genericSequencer.createSequence(context, semanticObject); 1383 genericSequencer.createSequence(context, semanticObject);
1266 } 1384 }
1267 1385
1268 1386
1269 /** 1387 /**
1270 * Contexts: 1388 * Contexts:
1271 * MemberDefinition returns MemberDefinition 1389 * Import returns NamespaceImport
1390 * NamespaceImport returns NamespaceImport
1272 * 1391 *
1273 * Constraint: 1392 * Constraint:
1274 * (containment?='contains'? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID opposite=[NamedElement|QualifiedName]?) 1393 * (importedNamespace=QualifiedName alias=QualifiedName)
1275 */ 1394 */
1276 protected void sequence_MemberDefinition(ISerializationContext context, MemberDefinition semanticObject) { 1395 protected void sequence_NamespaceImport(ISerializationContext context, NamespaceImport semanticObject) {
1277 genericSequencer.createSequence(context, semanticObject);
1278 }
1279
1280
1281 /**
1282 * Contexts:
1283 * MetricDefinition returns MetricDefinition
1284 *
1285 * Constraint:
1286 * (type=[NamedElement|QualifiedName] head=Call body=Expression)
1287 */
1288 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
1289 if (errorAcceptor != null) { 1396 if (errorAcceptor != null) {
1290 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE) == ValueTransient.YES) 1397 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMESPACE_IMPORT__IMPORTED_NAMESPACE) == ValueTransient.YES)
1291 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE)); 1398 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMESPACE_IMPORT__IMPORTED_NAMESPACE));
1292 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) 1399 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS) == ValueTransient.YES)
1293 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); 1400 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS));
1294 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES)
1295 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY));
1296 } 1401 }
1297 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1402 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1298 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE, false)); 1403 feeder.accept(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0(), semanticObject.getImportedNamespace());
1299 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); 1404 feeder.accept(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0(), semanticObject.getAlias());
1300 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
1301 feeder.finish(); 1405 feeder.finish();
1302 } 1406 }
1303 1407
1304 1408
1305 /** 1409 /**
1306 * Contexts: 1410 * Contexts:
1307 * Statement returns NumericLiteral 1411 * Statement returns ObjectiveDeclaration
1308 * AssertionOrDefinition returns NumericLiteral 1412 * ObjectiveDeclaration returns ObjectiveDeclaration
1309 * AssertionOrDefinition.Interpretation_1_0_0 returns NumericLiteral
1310 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral
1311 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral
1312 * Expression returns NumericLiteral
1313 * ImplicationExpression returns NumericLiteral
1314 * ImplicationExpression.BinaryExpression_1_0 returns NumericLiteral
1315 * DisjunctiveExpression returns NumericLiteral
1316 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral
1317 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral
1318 * ConjunctiveExpression returns NumericLiteral
1319 * ConjunctiveExpression.Conjunction_1_0 returns NumericLiteral
1320 * ComparisonExpression returns NumericLiteral
1321 * ComparisonExpression.Comparison_1_0 returns NumericLiteral
1322 * AdditiveExpression returns NumericLiteral
1323 * AdditiveExpression.BinaryExpression_1_0 returns NumericLiteral
1324 * MultiplicativeExpression returns NumericLiteral
1325 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral
1326 * ExponentialExpression returns NumericLiteral
1327 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral
1328 * CastExpression returns NumericLiteral
1329 * CastExpression.CastExpression_1_0 returns NumericLiteral
1330 * UnaryExpression returns NumericLiteral
1331 * AggregationExpression returns NumericLiteral
1332 * AtomicExpression returns NumericLiteral
1333 * Literal returns NumericLiteral
1334 * NumericLiteral returns NumericLiteral
1335 * 1413 *
1336 * Constraint: 1414 * Constraint:
1337 * value=Real 1415 * (kind=ObjectiveKind objective=Expression)
1338 */ 1416 */
1339 protected void sequence_NumericLiteral(ISerializationContext context, NumericLiteral semanticObject) { 1417 protected void sequence_ObjectiveDeclaration(ISerializationContext context, ObjectiveDeclaration semanticObject) {
1340 if (errorAcceptor != null) { 1418 if (errorAcceptor != null) {
1341 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE) == ValueTransient.YES) 1419 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__KIND) == ValueTransient.YES)
1342 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE)); 1420 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__KIND));
1421 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__OBJECTIVE) == ValueTransient.YES)
1422 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__OBJECTIVE));
1343 } 1423 }
1344 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1424 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1345 feeder.accept(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue()); 1425 feeder.accept(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind());
1426 feeder.accept(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective());
1346 feeder.finish(); 1427 feeder.finish();
1347 } 1428 }
1348 1429
1349 1430
1350 /** 1431 /**
1351 * Contexts: 1432 * Contexts:
1352 * Statement returns ObjectiveDefinition 1433 * PathComponent returns PathComponent
1353 * ObjectiveDefinition returns ObjectiveDefinition
1354 * 1434 *
1355 * Constraint: 1435 * Constraint:
1356 * (kind=ObjectiveKind objective=Expression) 1436 * (
1437 * inverse?='~'?
1438 * symbol=[Symbol|QualifiedName]
1439 * (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1440 * )
1357 */ 1441 */
1358 protected void sequence_ObjectiveDefinition(ISerializationContext context, ObjectiveDefinition semanticObject) { 1442 protected void sequence_PathComponent(ISerializationContext context, PathComponent semanticObject) {
1359 if (errorAcceptor != null) { 1443 genericSequencer.createSequence(context, semanticObject);
1360 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND) == ValueTransient.YES)
1361 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND));
1362 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE) == ValueTransient.YES)
1363 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE));
1364 }
1365 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1366 feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind());
1367 feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective());
1368 feeder.finish();
1369 } 1444 }
1370 1445
1371 1446
@@ -1386,7 +1461,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1386 * Problem returns Problem 1461 * Problem returns Problem
1387 * 1462 *
1388 * Constraint: 1463 * Constraint:
1389 * statements+=Statement+ 1464 * ((name=QualifiedName? imports+=Import+ statements+=Statement+) | (name=QualifiedName? statements+=Statement+) | statements+=Statement+)?
1390 */ 1465 */
1391 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { 1466 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
1392 genericSequencer.createSequence(context, semanticObject); 1467 genericSequencer.createSequence(context, semanticObject);
@@ -1395,59 +1470,60 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1395 1470
1396 /** 1471 /**
1397 * Contexts: 1472 * Contexts:
1398 * Statement returns QuantifiedExpression 1473 * AssertionOrDefinition.Assertion_1_0_0 returns RealLiteral
1399 * AssertionOrDefinition returns QuantifiedExpression 1474 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns RealLiteral
1400 * AssertionOrDefinition.Interpretation_1_0_0 returns QuantifiedExpression 1475 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns RealLiteral
1401 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns QuantifiedExpression 1476 * Expression returns RealLiteral
1402 * AssertionOrDefinition.MetricDefinition_1_2_0 returns QuantifiedExpression 1477 * Expression.Forall_2_1_0 returns RealLiteral
1403 * Expression returns QuantifiedExpression 1478 * DisjunctiveExpression returns RealLiteral
1404 * ImplicationExpression returns QuantifiedExpression 1479 * DisjunctiveExpression.Disjunction_1_0_0 returns RealLiteral
1405 * ImplicationExpression.BinaryExpression_1_0 returns QuantifiedExpression 1480 * DisjunctiveExpression.Case_1_1_0 returns RealLiteral
1406 * DisjunctiveExpression returns QuantifiedExpression 1481 * ConjunctiveExpression returns RealLiteral
1407 * DisjunctiveExpression.Disjunction_1_0_0 returns QuantifiedExpression 1482 * ConjunctiveExpression.Conjunction_1_0 returns RealLiteral
1408 * DisjunctiveExpression.Case_1_1_0 returns QuantifiedExpression 1483 * ComparisonExpression returns RealLiteral
1409 * ConjunctiveExpression returns QuantifiedExpression 1484 * ComparisonExpression.BinaryExpression_1_0 returns RealLiteral
1410 * ConjunctiveExpression.Conjunction_1_0 returns QuantifiedExpression 1485 * AdditiveExpression returns RealLiteral
1411 * ComparisonExpression returns QuantifiedExpression 1486 * AdditiveExpression.BinaryExpression_1_0 returns RealLiteral
1412 * ComparisonExpression.Comparison_1_0 returns QuantifiedExpression 1487 * MultiplicativeExpression returns RealLiteral
1413 * AdditiveExpression returns QuantifiedExpression 1488 * MultiplicativeExpression.BinaryExpression_1_0 returns RealLiteral
1414 * AdditiveExpression.BinaryExpression_1_0 returns QuantifiedExpression 1489 * ExponentialExpression returns RealLiteral
1415 * MultiplicativeExpression returns QuantifiedExpression 1490 * ExponentialExpression.BinaryExpression_1_0 returns RealLiteral
1416 * MultiplicativeExpression.BinaryExpression_1_0 returns QuantifiedExpression 1491 * CastExpression returns RealLiteral
1417 * ExponentialExpression returns QuantifiedExpression 1492 * CastExpression.CastExpression_1_0 returns RealLiteral
1418 * ExponentialExpression.BinaryExpression_1_0 returns QuantifiedExpression 1493 * UnaryExpression returns RealLiteral
1419 * CastExpression returns QuantifiedExpression 1494 * BracedAggregateExpression returns RealLiteral
1420 * CastExpression.CastExpression_1_0 returns QuantifiedExpression 1495 * AtomicExpression returns RealLiteral
1421 * UnaryExpression returns QuantifiedExpression 1496 * Literal returns RealLiteral
1422 * AggregationExpression returns QuantifiedExpression 1497 * RealLiteral returns RealLiteral
1423 * QuantifiedExpression returns QuantifiedExpression
1424 * AtomicExpression returns QuantifiedExpression
1425 * 1498 *
1426 * Constraint: 1499 * Constraint:
1427 * (quantifier=Quantifier localVariables=LocalVariables? body=Expression) 1500 * value=Real
1428 */ 1501 */
1429 protected void sequence_QuantifiedExpression(ISerializationContext context, QuantifiedExpression semanticObject) { 1502 protected void sequence_RealLiteral(ISerializationContext context, RealLiteral semanticObject) {
1430 genericSequencer.createSequence(context, semanticObject); 1503 if (errorAcceptor != null) {
1504 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REAL_LITERAL__VALUE) == ValueTransient.YES)
1505 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REAL_LITERAL__VALUE));
1506 }
1507 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1508 feeder.accept(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue());
1509 feeder.finish();
1431 } 1510 }
1432 1511
1433 1512
1434 /** 1513 /**
1435 * Contexts: 1514 * Contexts:
1436 * Statement returns Reference 1515 * AssertionOrDefinition.Assertion_1_0_0 returns Reference
1437 * AssertionOrDefinition returns Reference
1438 * AssertionOrDefinition.Interpretation_1_0_0 returns Reference
1439 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference 1516 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference
1440 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference 1517 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Reference
1441 * Expression returns Reference 1518 * Expression returns Reference
1442 * ImplicationExpression returns Reference 1519 * Expression.Forall_2_1_0 returns Reference
1443 * ImplicationExpression.BinaryExpression_1_0 returns Reference
1444 * DisjunctiveExpression returns Reference 1520 * DisjunctiveExpression returns Reference
1445 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference 1521 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference
1446 * DisjunctiveExpression.Case_1_1_0 returns Reference 1522 * DisjunctiveExpression.Case_1_1_0 returns Reference
1447 * ConjunctiveExpression returns Reference 1523 * ConjunctiveExpression returns Reference
1448 * ConjunctiveExpression.Conjunction_1_0 returns Reference 1524 * ConjunctiveExpression.Conjunction_1_0 returns Reference
1449 * ComparisonExpression returns Reference 1525 * ComparisonExpression returns Reference
1450 * ComparisonExpression.Comparison_1_0 returns Reference 1526 * ComparisonExpression.BinaryExpression_1_0 returns Reference
1451 * AdditiveExpression returns Reference 1527 * AdditiveExpression returns Reference
1452 * AdditiveExpression.BinaryExpression_1_0 returns Reference 1528 * AdditiveExpression.BinaryExpression_1_0 returns Reference
1453 * MultiplicativeExpression returns Reference 1529 * MultiplicativeExpression returns Reference
@@ -1457,21 +1533,15 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1457 * CastExpression returns Reference 1533 * CastExpression returns Reference
1458 * CastExpression.CastExpression_1_0 returns Reference 1534 * CastExpression.CastExpression_1_0 returns Reference
1459 * UnaryExpression returns Reference 1535 * UnaryExpression returns Reference
1460 * AggregationExpression returns Reference 1536 * BracedAggregateExpression returns Reference
1461 * AtomicExpression returns Reference 1537 * AtomicExpression returns Reference
1462 * Reference returns Reference 1538 * Reference returns Reference
1463 * 1539 *
1464 * Constraint: 1540 * Constraint:
1465 * referred=[NamedElement|QualifiedName] 1541 * (components+=PathComponent components+=PathComponent*)
1466 */ 1542 */
1467 protected void sequence_Reference(ISerializationContext context, Reference semanticObject) { 1543 protected void sequence_Reference(ISerializationContext context, Reference semanticObject) {
1468 if (errorAcceptor != null) { 1544 genericSequencer.createSequence(context, semanticObject);
1469 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED) == ValueTransient.YES)
1470 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED));
1471 }
1472 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1473 feeder.accept(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.REFERENCE__REFERRED, false));
1474 feeder.finish();
1475 } 1545 }
1476 1546
1477 1547
@@ -1490,21 +1560,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1490 1560
1491 /** 1561 /**
1492 * Contexts: 1562 * Contexts:
1493 * Statement returns StringLiteral 1563 * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral
1494 * AssertionOrDefinition returns StringLiteral
1495 * AssertionOrDefinition.Interpretation_1_0_0 returns StringLiteral
1496 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral 1564 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral
1497 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral 1565 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns StringLiteral
1498 * Expression returns StringLiteral 1566 * Expression returns StringLiteral
1499 * ImplicationExpression returns StringLiteral 1567 * Expression.Forall_2_1_0 returns StringLiteral
1500 * ImplicationExpression.BinaryExpression_1_0 returns StringLiteral
1501 * DisjunctiveExpression returns StringLiteral 1568 * DisjunctiveExpression returns StringLiteral
1502 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral 1569 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral
1503 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral 1570 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral
1504 * ConjunctiveExpression returns StringLiteral 1571 * ConjunctiveExpression returns StringLiteral
1505 * ConjunctiveExpression.Conjunction_1_0 returns StringLiteral 1572 * ConjunctiveExpression.Conjunction_1_0 returns StringLiteral
1506 * ComparisonExpression returns StringLiteral 1573 * ComparisonExpression returns StringLiteral
1507 * ComparisonExpression.Comparison_1_0 returns StringLiteral 1574 * ComparisonExpression.BinaryExpression_1_0 returns StringLiteral
1508 * AdditiveExpression returns StringLiteral 1575 * AdditiveExpression returns StringLiteral
1509 * AdditiveExpression.BinaryExpression_1_0 returns StringLiteral 1576 * AdditiveExpression.BinaryExpression_1_0 returns StringLiteral
1510 * MultiplicativeExpression returns StringLiteral 1577 * MultiplicativeExpression returns StringLiteral
@@ -1514,7 +1581,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1514 * CastExpression returns StringLiteral 1581 * CastExpression returns StringLiteral
1515 * CastExpression.CastExpression_1_0 returns StringLiteral 1582 * CastExpression.CastExpression_1_0 returns StringLiteral
1516 * UnaryExpression returns StringLiteral 1583 * UnaryExpression returns StringLiteral
1517 * AggregationExpression returns StringLiteral 1584 * BracedAggregateExpression returns StringLiteral
1518 * AtomicExpression returns StringLiteral 1585 * AtomicExpression returns StringLiteral
1519 * Literal returns StringLiteral 1586 * Literal returns StringLiteral
1520 * StringLiteral returns StringLiteral 1587 * StringLiteral returns StringLiteral
@@ -1535,62 +1602,71 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1535 1602
1536 /** 1603 /**
1537 * Contexts: 1604 * Contexts:
1538 * Argument returns TypedArgument 1605 * TypeReference returns TypeReference
1539 * TypedArgument returns TypedArgument 1606 *
1607 * Constraint:
1608 * (type=[Symbol|QualifiedName] forceObjectType?='object'?)
1609 */
1610 protected void sequence_TypeReference(ISerializationContext context, TypeReference semanticObject) {
1611 genericSequencer.createSequence(context, semanticObject);
1612 }
1613
1614
1615 /**
1616 * Contexts:
1617 * Argument returns TypedStarArgument
1618 * TypedStarArgument returns TypedStarArgument
1540 * 1619 *
1541 * Constraint: 1620 * Constraint:
1542 * (type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]) 1621 * typeReference=TypeReference
1543 */ 1622 */
1544 protected void sequence_TypedArgument(ISerializationContext context, TypedArgument semanticObject) { 1623 protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) {
1545 if (errorAcceptor != null) { 1624 if (errorAcceptor != null) {
1546 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE) == ValueTransient.YES) 1625 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE) == ValueTransient.YES)
1547 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE)); 1626 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE));
1548 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE) == ValueTransient.YES)
1549 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE));
1550 } 1627 }
1551 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1628 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1552 feeder.accept(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE, false)); 1629 feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0(), semanticObject.getTypeReference());
1553 feeder.accept(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE, false));
1554 feeder.finish(); 1630 feeder.finish();
1555 } 1631 }
1556 1632
1557 1633
1558 /** 1634 /**
1559 * Contexts: 1635 * Contexts:
1560 * Argument returns TypedStarArgument 1636 * Argument returns TypedVariableArgument
1561 * TypedStarArgument returns TypedStarArgument 1637 * TypedVariableArgument returns TypedVariableArgument
1562 * 1638 *
1563 * Constraint: 1639 * Constraint:
1564 * type=[NamedElement|QualifiedName] 1640 * (typeReference=TypeReference name=ID)
1565 */ 1641 */
1566 protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) { 1642 protected void sequence_TypedVariableArgument(ISerializationContext context, TypedVariableArgument semanticObject) {
1567 if (errorAcceptor != null) { 1643 if (errorAcceptor != null) {
1568 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE) == ValueTransient.YES) 1644 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE) == ValueTransient.YES)
1569 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE)); 1645 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE));
1646 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT__NAME) == ValueTransient.YES)
1647 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT__NAME));
1570 } 1648 }
1571 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1649 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1572 feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE, false)); 1650 feeder.accept(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0(), semanticObject.getTypeReference());
1651 feeder.accept(grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
1573 feeder.finish(); 1652 feeder.finish();
1574 } 1653 }
1575 1654
1576 1655
1577 /** 1656 /**
1578 * Contexts: 1657 * Contexts:
1579 * Statement returns UnaryExpression 1658 * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression
1580 * AssertionOrDefinition returns UnaryExpression
1581 * AssertionOrDefinition.Interpretation_1_0_0 returns UnaryExpression
1582 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression 1659 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression
1583 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression 1660 * AssertionOrDefinition.FunctionDefinition_1_2_0 returns UnaryExpression
1584 * Expression returns UnaryExpression 1661 * Expression returns UnaryExpression
1585 * ImplicationExpression returns UnaryExpression 1662 * Expression.Forall_2_1_0 returns UnaryExpression
1586 * ImplicationExpression.BinaryExpression_1_0 returns UnaryExpression
1587 * DisjunctiveExpression returns UnaryExpression 1663 * DisjunctiveExpression returns UnaryExpression
1588 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression 1664 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression
1589 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression 1665 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression
1590 * ConjunctiveExpression returns UnaryExpression 1666 * ConjunctiveExpression returns UnaryExpression
1591 * ConjunctiveExpression.Conjunction_1_0 returns UnaryExpression 1667 * ConjunctiveExpression.Conjunction_1_0 returns UnaryExpression
1592 * ComparisonExpression returns UnaryExpression 1668 * ComparisonExpression returns UnaryExpression
1593 * ComparisonExpression.Comparison_1_0 returns UnaryExpression 1669 * ComparisonExpression.BinaryExpression_1_0 returns UnaryExpression
1594 * AdditiveExpression returns UnaryExpression 1670 * AdditiveExpression returns UnaryExpression
1595 * AdditiveExpression.BinaryExpression_1_0 returns UnaryExpression 1671 * AdditiveExpression.BinaryExpression_1_0 returns UnaryExpression
1596 * MultiplicativeExpression returns UnaryExpression 1672 * MultiplicativeExpression returns UnaryExpression
@@ -1600,11 +1676,11 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1600 * CastExpression returns UnaryExpression 1676 * CastExpression returns UnaryExpression
1601 * CastExpression.CastExpression_1_0 returns UnaryExpression 1677 * CastExpression.CastExpression_1_0 returns UnaryExpression
1602 * UnaryExpression returns UnaryExpression 1678 * UnaryExpression returns UnaryExpression
1603 * AggregationExpression returns UnaryExpression 1679 * BracedAggregateExpression returns UnaryExpression
1604 * AtomicExpression returns UnaryExpression 1680 * AtomicExpression returns UnaryExpression
1605 * 1681 *
1606 * Constraint: 1682 * Constraint:
1607 * (op=UnaryOp body=AggregationExpression) 1683 * (op=UnaryOperator body=BracedAggregateExpression)
1608 */ 1684 */
1609 protected void sequence_UnaryExpression(ISerializationContext context, UnaryExpression semanticObject) { 1685 protected void sequence_UnaryExpression(ISerializationContext context, UnaryExpression semanticObject) {
1610 if (errorAcceptor != null) { 1686 if (errorAcceptor != null) {
@@ -1614,43 +1690,66 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1614 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY)); 1690 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY));
1615 } 1691 }
1616 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1692 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1617 feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0(), semanticObject.getOp()); 1693 feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0(), semanticObject.getOp());
1618 feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0(), semanticObject.getBody()); 1694 feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0(), semanticObject.getBody());
1619 feeder.finish(); 1695 feeder.finish();
1620 } 1696 }
1621 1697
1622 1698
1623 /** 1699 /**
1624 * Contexts: 1700 * Contexts:
1625 * Statement returns UnnamedErrorPrediateDefinition 1701 * Multiplicity returns UnboundedMultiplicity
1626 * UnnamedErrorPrediateDefinition returns UnnamedErrorPrediateDefinition 1702 * UnboundedMultiplicity returns UnboundedMultiplicity
1703 *
1704 * Constraint:
1705 * {UnboundedMultiplicity}
1706 */
1707 protected void sequence_UnboundedMultiplicity(ISerializationContext context, UnboundedMultiplicity semanticObject) {
1708 genericSequencer.createSequence(context, semanticObject);
1709 }
1710
1711
1712 /**
1713 * Contexts:
1714 * Statement returns UnnamedErrorPredicateDefintion
1715 * UnnamedErrorPredicateDefintion returns UnnamedErrorPredicateDefintion
1627 * 1716 *
1628 * Constraint: 1717 * Constraint:
1629 * (argumentList=ArgumentList body=Expression) 1718 * (argumentList=ArgumentList body=Expression)
1630 */ 1719 */
1631 protected void sequence_UnnamedErrorPrediateDefinition(ISerializationContext context, UnnamedErrorPrediateDefinition semanticObject) { 1720 protected void sequence_UnnamedErrorPredicateDefintion(ISerializationContext context, UnnamedErrorPredicateDefintion semanticObject) {
1632 if (errorAcceptor != null) { 1721 if (errorAcceptor != null) {
1633 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) 1722 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST) == ValueTransient.YES)
1634 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST)); 1723 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST));
1635 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY) == ValueTransient.YES) 1724 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY) == ValueTransient.YES)
1636 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY)); 1725 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY));
1637 } 1726 }
1638 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1727 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1639 feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList()); 1728 feeder.accept(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList());
1640 feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); 1729 feeder.accept(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
1641 feeder.finish(); 1730 feeder.finish();
1642 } 1731 }
1643 1732
1644 1733
1645 /** 1734 /**
1646 * Contexts: 1735 * Contexts:
1647 * Variable returns Variable 1736 * Import returns UriImport
1737 * UriImport returns UriImport
1648 * 1738 *
1649 * Constraint: 1739 * Constraint:
1650 * (type=[NamedElement|QualifiedName]? name=ID) 1740 * (uri=STRING alias=QualifiedName)
1651 */ 1741 */
1652 protected void sequence_Variable(ISerializationContext context, Variable semanticObject) { 1742 protected void sequence_UriImport(ISerializationContext context, UriImport semanticObject) {
1653 genericSequencer.createSequence(context, semanticObject); 1743 if (errorAcceptor != null) {
1744 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.URI_IMPORT__URI) == ValueTransient.YES)
1745 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.URI_IMPORT__URI));
1746 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS) == ValueTransient.YES)
1747 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS));
1748 }
1749 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1750 feeder.accept(grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0(), semanticObject.getUri());
1751 feeder.accept(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0(), semanticObject.getAlias());
1752 feeder.finish();
1654 } 1753 }
1655 1754
1656 1755
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 8b187721..2f9ea8a3 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
@@ -11,6 +11,8 @@ import org.eclipse.xtext.IGrammarAccess;
11import org.eclipse.xtext.RuleCall; 11import org.eclipse.xtext.RuleCall;
12import org.eclipse.xtext.nodemodel.INode; 12import org.eclipse.xtext.nodemodel.INode;
13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; 13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.AlternativeAlias;
15import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; 16import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
15import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; 17import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; 18import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
@@ -22,14 +24,20 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
22 protected SolverLanguageGrammarAccess grammarAccess; 24 protected SolverLanguageGrammarAccess grammarAccess;
23 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_a; 25 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_a;
24 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_p; 26 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_p;
25 protected AbstractElementAlias match_MemberDefinition_SemicolonKeyword_5_q; 27 protected AbstractElementAlias match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__;
28 protected AbstractElementAlias match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q;
29 protected AbstractElementAlias match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__;
30 protected AbstractElementAlias match_Field_SemicolonKeyword_5_q;
26 31
27 @Inject 32 @Inject
28 protected void init(IGrammarAccess access) { 33 protected void init(IGrammarAccess access) {
29 grammarAccess = (SolverLanguageGrammarAccess) access; 34 grammarAccess = (SolverLanguageGrammarAccess) access;
30 match_AtomicExpression_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); 35 match_AtomicExpression_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0());
31 match_AtomicExpression_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); 36 match_AtomicExpression_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0());
32 match_MemberDefinition_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); 37 match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1()));
38 match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q = new TokenAlias(false, true, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
39 match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1()));
40 match_Field_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getFieldAccess().getSemicolonKeyword_5());
33 } 41 }
34 42
35 @Override 43 @Override
@@ -71,8 +79,14 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
71 emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes); 79 emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
72 else if (match_AtomicExpression_LeftParenthesisKeyword_4_0_p.equals(syntax)) 80 else if (match_AtomicExpression_LeftParenthesisKeyword_4_0_p.equals(syntax))
73 emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes); 81 emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
74 else if (match_MemberDefinition_SemicolonKeyword_5_q.equals(syntax)) 82 else if (match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax))
75 emit_MemberDefinition_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); 83 emit_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
84 else if (match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q.equals(syntax))
85 emit_EnumDeclaration_CommaKeyword_2_0_1_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
86 else if (match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__.equals(syntax))
87 emit_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
88 else if (match_Field_SemicolonKeyword_5_q.equals(syntax))
89 emit_Field_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes);
76 else acceptNodes(getLastNavigableState(), syntaxNodes); 90 else acceptNodes(getLastNavigableState(), syntaxNodes);
77 } 91 }
78 } 92 }
@@ -82,26 +96,25 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
82 * '('* 96 * '('*
83 * 97 *
84 * This ambiguous syntax occurs at: 98 * This ambiguous syntax occurs at:
85 * (rule start) (ambiguity) '[' lowerBound=Expression 99 * (rule start) (ambiguity) '[' lowerBound=AdditiveExpression
100 * (rule start) (ambiguity) 'count' '{' condition=Expression
86 * (rule start) (ambiguity) 'empty' (rule start) 101 * (rule start) (ambiguity) 'empty' (rule start)
87 * (rule start) (ambiguity) 'empty' FULL_STOP (rule start) 102 * (rule start) (ambiguity) 'if' condition=DisjunctiveExpression
88 * (rule start) (ambiguity) 'if' condition=Expression
89 * (rule start) (ambiguity) 'inf' (rule start) 103 * (rule start) (ambiguity) 'inf' (rule start)
90 * (rule start) (ambiguity) 'inf' FULL_STOP (rule start)
91 * (rule start) (ambiguity) 'let' bindings+=LetBinding 104 * (rule start) (ambiguity) 'let' bindings+=LetBinding
105 * (rule start) (ambiguity) components+=PathComponent
92 * (rule start) (ambiguity) functor=Reference 106 * (rule start) (ambiguity) functor=Reference
93 * (rule start) (ambiguity) op=UnaryOp 107 * (rule start) (ambiguity) op=UnaryOperator
94 * (rule start) (ambiguity) op=[NamedElement|QualifiedName] 108 * (rule start) (ambiguity) op=[Symbol|QualifiedName]
95 * (rule start) (ambiguity) quantifier=Quantifier 109 * (rule start) (ambiguity) value=INT
96 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName]
97 * (rule start) (ambiguity) value=LogicValue 110 * (rule start) (ambiguity) value=LogicValue
98 * (rule start) (ambiguity) value=Real 111 * (rule start) (ambiguity) value=Real
99 * (rule start) (ambiguity) value=STRING 112 * (rule start) (ambiguity) value=STRING
100 * (rule start) (ambiguity) {BinaryExpression.left=} 113 * (rule start) (ambiguity) {BinaryExpression.left=}
101 * (rule start) (ambiguity) {CastExpression.body=} 114 * (rule start) (ambiguity) {CastExpression.body=}
102 * (rule start) (ambiguity) {Comparison.left=}
103 * (rule start) (ambiguity) {Conjunction.children+=} 115 * (rule start) (ambiguity) {Conjunction.children+=}
104 * (rule start) (ambiguity) {Disjunction.children+=} 116 * (rule start) (ambiguity) {Disjunction.children+=}
117 * (rule start) (ambiguity) {Forall.condition=}
105 * (rule start) (ambiguity) {Switch.cases+=} 118 * (rule start) (ambiguity) {Switch.cases+=}
106 */ 119 */
107 protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 120 protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -113,16 +126,16 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
113 * '('+ 126 * '('+
114 * 127 *
115 * This ambiguous syntax occurs at: 128 * This ambiguous syntax occurs at:
116 * (rule start) (ambiguity) 'if' condition=Expression 129 * (rule start) (ambiguity) 'count' '{' condition=Expression
130 * (rule start) (ambiguity) 'if' condition=DisjunctiveExpression
117 * (rule start) (ambiguity) 'let' bindings+=LetBinding 131 * (rule start) (ambiguity) 'let' bindings+=LetBinding
118 * (rule start) (ambiguity) op=UnaryOp 132 * (rule start) (ambiguity) op=UnaryOperator
119 * (rule start) (ambiguity) op=[NamedElement|QualifiedName] 133 * (rule start) (ambiguity) op=[Symbol|QualifiedName]
120 * (rule start) (ambiguity) quantifier=Quantifier
121 * (rule start) (ambiguity) {BinaryExpression.left=} 134 * (rule start) (ambiguity) {BinaryExpression.left=}
122 * (rule start) (ambiguity) {CastExpression.body=} 135 * (rule start) (ambiguity) {CastExpression.body=}
123 * (rule start) (ambiguity) {Comparison.left=}
124 * (rule start) (ambiguity) {Conjunction.children+=} 136 * (rule start) (ambiguity) {Conjunction.children+=}
125 * (rule start) (ambiguity) {Disjunction.children+=} 137 * (rule start) (ambiguity) {Disjunction.children+=}
138 * (rule start) (ambiguity) {Forall.condition=}
126 * (rule start) (ambiguity) {Switch.cases+=} 139 * (rule start) (ambiguity) {Switch.cases+=}
127 */ 140 */
128 protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 141 protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -131,13 +144,47 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
131 144
132 /** 145 /**
133 * Ambiguous syntax: 146 * Ambiguous syntax:
147 * ('{' '}') | FULL_STOP
148 *
149 * This ambiguous syntax occurs at:
150 * name=ID (ambiguity) (rule end)
151 * supertypes+=[Symbol|QualifiedName] (ambiguity) (rule end)
152 */
153 protected void emit_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
154 acceptNodes(transition, nodes);
155 }
156
157 /**
158 * Ambiguous syntax:
159 * ','?
160 *
161 * This ambiguous syntax occurs at:
162 * literals+=EnumLiteral (ambiguity) literals+=EnumLiteral
163 */
164 protected void emit_EnumDeclaration_CommaKeyword_2_0_1_1_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
165 acceptNodes(transition, nodes);
166 }
167
168 /**
169 * Ambiguous syntax:
170 * ('{' '}') | FULL_STOP
171 *
172 * This ambiguous syntax occurs at:
173 * name=ID (ambiguity) (rule end)
174 */
175 protected void emit_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
176 acceptNodes(transition, nodes);
177 }
178
179 /**
180 * Ambiguous syntax:
134 * ';'? 181 * ';'?
135 * 182 *
136 * This ambiguous syntax occurs at: 183 * This ambiguous syntax occurs at:
137 * name=ID (ambiguity) (rule end) 184 * name=ID (ambiguity) (rule end)
138 * opposite=[NamedElement|QualifiedName] (ambiguity) (rule end) 185 * opposite=[Symbol|QualifiedName] (ambiguity) (rule end)
139 */ 186 */
140 protected void emit_MemberDefinition_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 187 protected void emit_Field_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
141 acceptNodes(transition, nodes); 188 acceptNodes(transition, nodes);
142 } 189 }
143 190
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 ed1569a5..a70729d4 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
@@ -19,6 +19,7 @@ import org.eclipse.xtext.Keyword;
19import org.eclipse.xtext.ParserRule; 19import org.eclipse.xtext.ParserRule;
20import org.eclipse.xtext.RuleCall; 20import org.eclipse.xtext.RuleCall;
21import org.eclipse.xtext.TerminalRule; 21import org.eclipse.xtext.TerminalRule;
22import org.eclipse.xtext.UnorderedGroup;
22import org.eclipse.xtext.common.services.TerminalsGrammarAccess; 23import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
23import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder; 24import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder;
24import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; 25import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
@@ -29,91 +30,214 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
29 30
30 public class ProblemElements extends AbstractParserRuleElementFinder { 31 public class ProblemElements extends AbstractParserRuleElementFinder {
31 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem"); 32 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem");
32 private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1); 33 private final Group cGroup = (Group)rule.eContents().get(1);
33 private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0); 34 private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
35 private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
36 private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
37 private final RuleCall cNameQualifiedNameParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
38 private final RuleCall cFULL_STOPTerminalRuleCall_0_2 = (RuleCall)cGroup_0.eContents().get(2);
39 private final Assignment cImportsAssignment_1 = (Assignment)cGroup.eContents().get(1);
40 private final RuleCall cImportsImportParserRuleCall_1_0 = (RuleCall)cImportsAssignment_1.eContents().get(0);
41 private final Assignment cStatementsAssignment_2 = (Assignment)cGroup.eContents().get(2);
42 private final RuleCall cStatementsStatementParserRuleCall_2_0 = (RuleCall)cStatementsAssignment_2.eContents().get(0);
34 43
35 //Problem: 44 //Problem:
45 // ("problem" name=QualifiedName FULL_STOP)?
46 // imports+=Import*
36 // statements+=Statement*; 47 // statements+=Statement*;
37 @Override public ParserRule getRule() { return rule; } 48 @Override public ParserRule getRule() { return rule; }
38 49
50 //("problem" name=QualifiedName FULL_STOP)? imports+=Import* statements+=Statement*
51 public Group getGroup() { return cGroup; }
52
53 //("problem" name=QualifiedName FULL_STOP)?
54 public Group getGroup_0() { return cGroup_0; }
55
56 //"problem"
57 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; }
58
59 //name=QualifiedName
60 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
61
62 //QualifiedName
63 public RuleCall getNameQualifiedNameParserRuleCall_0_1_0() { return cNameQualifiedNameParserRuleCall_0_1_0; }
64
65 //FULL_STOP
66 public RuleCall getFULL_STOPTerminalRuleCall_0_2() { return cFULL_STOPTerminalRuleCall_0_2; }
67
68 //imports+=Import*
69 public Assignment getImportsAssignment_1() { return cImportsAssignment_1; }
70
71 //Import
72 public RuleCall getImportsImportParserRuleCall_1_0() { return cImportsImportParserRuleCall_1_0; }
73
39 //statements+=Statement* 74 //statements+=Statement*
40 public Assignment getStatementsAssignment() { return cStatementsAssignment; } 75 public Assignment getStatementsAssignment_2() { return cStatementsAssignment_2; }
41 76
42 //Statement 77 //Statement
43 public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; } 78 public RuleCall getStatementsStatementParserRuleCall_2_0() { return cStatementsStatementParserRuleCall_2_0; }
44 } 79 }
45 public class StatementElements extends AbstractParserRuleElementFinder { 80 public class StatementElements extends AbstractParserRuleElementFinder {
46 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 81 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
47 private final Group cGroup = (Group)rule.eContents().get(1); 82 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
48 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); 83 private final RuleCall cAssertionOrDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
49 private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0); 84 private final RuleCall cPredicateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); 85 private final RuleCall cUnnamedErrorPredicateDefintionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); 86 private final RuleCall cDefaultAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); 87 private final RuleCall cFunctionDefinitionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
53 private final RuleCall cMetricDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); 88 private final RuleCall cAttributeParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
54 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5); 89 private final RuleCall cExternDeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6); 90 private final RuleCall cScopeDeclarationParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
56 private final RuleCall cExternAggregatorDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); 91 private final RuleCall cObjectiveDeclarationParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
57 private final RuleCall cExternDatatypeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); 92 private final RuleCall cClassDeclarationParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
58 private final RuleCall cClassDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); 93 private final RuleCall cEnumDeclarationParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
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);
61 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
62 94
63 //Statement: 95 //Statement:
64 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition 96 // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition
65 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 97 // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration;
66 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
67 @Override public ParserRule getRule() { return rule; } 98 @Override public ParserRule getRule() { return rule; }
68 99
69 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | 100 //AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition |
70 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 101 //Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration
71 //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP 102 public Alternatives getAlternatives() { return cAlternatives; }
72 public Group getGroup() { return cGroup; }
73
74 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
75 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
76 //ClassDefinition | ScopeDefinition | ObjectiveDefinition)
77 public Alternatives getAlternatives_0() { return cAlternatives_0; }
78 103
79 //AssertionOrDefinition 104 //AssertionOrDefinition
80 public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; } 105 public RuleCall getAssertionOrDefinitionParserRuleCall_0() { return cAssertionOrDefinitionParserRuleCall_0; }
81 106
82 //PredicateDefinition 107 //PredicateDefinition
83 public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; } 108 public RuleCall getPredicateDefinitionParserRuleCall_1() { return cPredicateDefinitionParserRuleCall_1; }
109
110 //UnnamedErrorPredicateDefintion
111 public RuleCall getUnnamedErrorPredicateDefintionParserRuleCall_2() { return cUnnamedErrorPredicateDefintionParserRuleCall_2; }
112
113 //DefaultAssertion
114 public RuleCall getDefaultAssertionParserRuleCall_3() { return cDefaultAssertionParserRuleCall_3; }
84 115
85 //UnnamedErrorPrediateDefinition 116 //FunctionDefinition
86 public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; } 117 public RuleCall getFunctionDefinitionParserRuleCall_4() { return cFunctionDefinitionParserRuleCall_4; }
87 118
88 //DefaultDefinition 119 //Attribute
89 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } 120 public RuleCall getAttributeParserRuleCall_5() { return cAttributeParserRuleCall_5; }
90 121
91 //MetricDefinition 122 //ExternDeclaration
92 public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; } 123 public RuleCall getExternDeclarationParserRuleCall_6() { return cExternDeclarationParserRuleCall_6; }
93 124
94 //ExternPredicateDefinition 125 //ScopeDeclaration
95 public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; } 126 public RuleCall getScopeDeclarationParserRuleCall_7() { return cScopeDeclarationParserRuleCall_7; }
96 127
97 //ExternMetricDefinition 128 //ObjectiveDeclaration
98 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } 129 public RuleCall getObjectiveDeclarationParserRuleCall_8() { return cObjectiveDeclarationParserRuleCall_8; }
99 130
100 //ExternAggregatorDefinition 131 //ClassDeclaration
101 public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; } 132 public RuleCall getClassDeclarationParserRuleCall_9() { return cClassDeclarationParserRuleCall_9; }
133
134 //EnumDeclaration
135 public RuleCall getEnumDeclarationParserRuleCall_10() { return cEnumDeclarationParserRuleCall_10; }
136 }
137 public class ImportElements extends AbstractParserRuleElementFinder {
138 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Import");
139 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
140 private final RuleCall cUriImportParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
141 private final RuleCall cNamespaceImportParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
102 142
103 //ExternDatatypeDefinition 143 //Import:
104 public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; } 144 // UriImport | NamespaceImport;
145 @Override public ParserRule getRule() { return rule; }
105 146
106 //ClassDefinition 147 //UriImport | NamespaceImport
107 public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; } 148 public Alternatives getAlternatives() { return cAlternatives; }
108 149
109 //ScopeDefinition 150 //UriImport
110 public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; } 151 public RuleCall getUriImportParserRuleCall_0() { return cUriImportParserRuleCall_0; }
111 152
112 //ObjectiveDefinition 153 //NamespaceImport
113 public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; } 154 public RuleCall getNamespaceImportParserRuleCall_1() { return cNamespaceImportParserRuleCall_1; }
155 }
156 public class UriImportElements extends AbstractParserRuleElementFinder {
157 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UriImport");
158 private final Group cGroup = (Group)rule.eContents().get(1);
159 private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
160 private final Assignment cUriAssignment_1 = (Assignment)cGroup.eContents().get(1);
161 private final RuleCall cUriSTRINGTerminalRuleCall_1_0 = (RuleCall)cUriAssignment_1.eContents().get(0);
162 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
163 private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
164 private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
165 private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0);
166 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
167
168 //UriImport:
169 // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP;
170 @Override public ParserRule getRule() { return rule; }
171
172 //"import" uri=STRING ("as" alias=QualifiedName) FULL_STOP
173 public Group getGroup() { return cGroup; }
174
175 //"import"
176 public Keyword getImportKeyword_0() { return cImportKeyword_0; }
177
178 //uri=STRING
179 public Assignment getUriAssignment_1() { return cUriAssignment_1; }
180
181 //STRING
182 public RuleCall getUriSTRINGTerminalRuleCall_1_0() { return cUriSTRINGTerminalRuleCall_1_0; }
183
184 //("as" alias=QualifiedName)
185 public Group getGroup_2() { return cGroup_2; }
186
187 //"as"
188 public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; }
189
190 //alias=QualifiedName
191 public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; }
192
193 //QualifiedName
194 public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; }
195
196 //FULL_STOP
197 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
198 }
199 public class NamespaceImportElements extends AbstractParserRuleElementFinder {
200 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamespaceImport");
201 private final Group cGroup = (Group)rule.eContents().get(1);
202 private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
203 private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
204 private final RuleCall cImportedNamespaceQualifiedNameParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0);
205 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
206 private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
207 private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
208 private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0);
209 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
210
211 //NamespaceImport:
212 // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP;
213 @Override public ParserRule getRule() { return rule; }
214
215 //"import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP
216 public Group getGroup() { return cGroup; }
217
218 //"import"
219 public Keyword getImportKeyword_0() { return cImportKeyword_0; }
220
221 //importedNamespace=QualifiedName
222 public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; }
223
224 //QualifiedName
225 public RuleCall getImportedNamespaceQualifiedNameParserRuleCall_1_0() { return cImportedNamespaceQualifiedNameParserRuleCall_1_0; }
226
227 //("as" alias=QualifiedName)
228 public Group getGroup_2() { return cGroup_2; }
229
230 //"as"
231 public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; }
232
233 //alias=QualifiedName
234 public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; }
235
236 //QualifiedName
237 public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; }
114 238
115 //FULL_STOP 239 //FULL_STOP
116 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } 240 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
117 } 241 }
118 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder { 242 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder {
119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition"); 243 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition");
@@ -121,51 +245,56 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
121 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 245 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
122 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 246 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
123 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); 247 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
124 private final Action cInterpretationBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); 248 private final Action cAssertionExpressionAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
125 private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); 249 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
126 private final Assignment cRangeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); 250 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
127 private final RuleCall cRangeExpressionParserRuleCall_1_0_2_0 = (RuleCall)cRangeAssignment_1_0_2.eContents().get(0); 251 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
252 private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0);
128 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 253 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
129 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); 254 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
130 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 255 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
131 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 256 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
132 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0); 257 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
133 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); 258 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
134 private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); 259 private final Action cFunctionDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
135 private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); 260 private final Keyword cColonEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1);
136 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); 261 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
137 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); 262 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
263 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
138 264
139 //AssertionOrDefinition Statement: 265 //AssertionOrDefinition Statement:
140 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" 266 // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
141 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; 267 // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP;
142 @Override public ParserRule getRule() { return rule; } 268 @Override public ParserRule getRule() { return rule; }
143 269
144 //Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression 270 //Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
145 //| {MetricDefinition.head=current} "=" body=Expression)? 271 //body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP
146 public Group getGroup() { return cGroup; } 272 public Group getGroup() { return cGroup; }
147 273
148 //Expression 274 //Expression
149 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } 275 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
150 276
151 //({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression | 277 //({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
152 //{MetricDefinition.head=current} "=" body=Expression)? 278 //{FunctionDefinition.head=current} ":=" body=Expression)
153 public Alternatives getAlternatives_1() { return cAlternatives_1; } 279 public Alternatives getAlternatives_1() { return cAlternatives_1; }
154 280
155 //{Interpretation.body=current} ":" range=Expression 281 //{Assertion.expression=current} (":" range=Expression)?
156 public Group getGroup_1_0() { return cGroup_1_0; } 282 public Group getGroup_1_0() { return cGroup_1_0; }
157 283
158 //{Interpretation.body=current} 284 //{Assertion.expression=current}
159 public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; } 285 public Action getAssertionExpressionAction_1_0_0() { return cAssertionExpressionAction_1_0_0; }
286
287 //(":" range=Expression)?
288 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
160 289
161 //":" 290 //":"
162 public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; } 291 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; }
163 292
164 //range=Expression 293 //range=Expression
165 public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; } 294 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; }
166 295
167 //Expression 296 //Expression
168 public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; } 297 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; }
169 298
170 //{PredicateDefinition.head=current} ":-" body=Expression 299 //{PredicateDefinition.head=current} ":-" body=Expression
171 public Group getGroup_1_1() { return cGroup_1_1; } 300 public Group getGroup_1_1() { return cGroup_1_1; }
@@ -182,20 +311,23 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
182 //Expression 311 //Expression
183 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; } 312 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; }
184 313
185 //{MetricDefinition.head=current} "=" body=Expression 314 //{FunctionDefinition.head=current} ":=" body=Expression
186 public Group getGroup_1_2() { return cGroup_1_2; } 315 public Group getGroup_1_2() { return cGroup_1_2; }
187 316
188 //{MetricDefinition.head=current} 317 //{FunctionDefinition.head=current}
189 public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; } 318 public Action getFunctionDefinitionHeadAction_1_2_0() { return cFunctionDefinitionHeadAction_1_2_0; }
190 319
191 //"=" 320 //":="
192 public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; } 321 public Keyword getColonEqualsSignKeyword_1_2_1() { return cColonEqualsSignKeyword_1_2_1; }
193 322
194 //body=Expression 323 //body=Expression
195 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; } 324 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; }
196 325
197 //Expression 326 //Expression
198 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; } 327 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; }
328
329 //FULL_STOP
330 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
199 } 331 }
200 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { 332 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
201 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition"); 333 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition");
@@ -216,12 +348,15 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
216 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); 348 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
217 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 349 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
218 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 350 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
351 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
219 352
220 //PredicateDefinition: 353 //PredicateDefinition:
221 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 354 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
355 // FULL_STOP;
222 @Override public ParserRule getRule() { return rule; } 356 @Override public ParserRule getRule() { return rule; }
223 357
224 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression 358 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
359 //FULL_STOP
225 public Group getGroup() { return cGroup; } 360 public Group getGroup() { return cGroup; }
226 361
227 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) 362 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?)
@@ -271,9 +406,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
271 406
272 //Expression 407 //Expression
273 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 408 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
409
410 //FULL_STOP
411 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
274 } 412 }
275 public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder { 413 public class UnnamedErrorPredicateDefintionElements extends AbstractParserRuleElementFinder {
276 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition"); 414 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPredicateDefintion");
277 private final Group cGroup = (Group)rule.eContents().get(1); 415 private final Group cGroup = (Group)rule.eContents().get(1);
278 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0); 416 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0);
279 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1); 417 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
@@ -281,12 +419,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
281 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); 419 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
282 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 420 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
283 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 421 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
422 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
284 423
285 //UnnamedErrorPrediateDefinition: 424 //UnnamedErrorPredicateDefintion:
286 // "error" argumentList=ArgumentList ":-" body=Expression; 425 // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP;
287 @Override public ParserRule getRule() { return rule; } 426 @Override public ParserRule getRule() { return rule; }
288 427
289 //"error" argumentList=ArgumentList ":-" body=Expression 428 //"error" argumentList=ArgumentList ":-" body=Expression FULL_STOP
290 public Group getGroup() { return cGroup; } 429 public Group getGroup() { return cGroup; }
291 430
292 //"error" 431 //"error"
@@ -306,69 +445,81 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
306 445
307 //Expression 446 //Expression
308 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 447 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
448
449 //FULL_STOP
450 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
309 } 451 }
310 public class DefaultDefinitionElements extends AbstractParserRuleElementFinder { 452 public class DefaultAssertionElements extends AbstractParserRuleElementFinder {
311 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition"); 453 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultAssertion");
312 private final Group cGroup = (Group)rule.eContents().get(1); 454 private final Group cGroup = (Group)rule.eContents().get(1);
313 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); 455 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
314 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 456 private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
315 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 457 private final RuleCall cExpressionCallParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
316 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); 458 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
317 private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3); 459 private final Keyword cColonKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
318 private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0); 460 private final Assignment cRangeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
461 private final RuleCall cRangeExpressionParserRuleCall_2_1_0 = (RuleCall)cRangeAssignment_2_1.eContents().get(0);
462 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
319 463
320 //DefaultDefinition: 464 //DefaultAssertion:
321 // "default" head=Call ":" range=Expression; 465 // "default" expression=Call (":" range=Expression)? FULL_STOP;
322 @Override public ParserRule getRule() { return rule; } 466 @Override public ParserRule getRule() { return rule; }
323 467
324 //"default" head=Call ":" range=Expression 468 //"default" expression=Call (":" range=Expression)? FULL_STOP
325 public Group getGroup() { return cGroup; } 469 public Group getGroup() { return cGroup; }
326 470
327 //"default" 471 //"default"
328 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } 472 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
329 473
330 //head=Call 474 //expression=Call
331 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 475 public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
332 476
333 //Call 477 //Call
334 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } 478 public RuleCall getExpressionCallParserRuleCall_1_0() { return cExpressionCallParserRuleCall_1_0; }
479
480 //(":" range=Expression)?
481 public Group getGroup_2() { return cGroup_2; }
335 482
336 //":" 483 //":"
337 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 484 public Keyword getColonKeyword_2_0() { return cColonKeyword_2_0; }
338 485
339 //range=Expression 486 //range=Expression
340 public Assignment getRangeAssignment_3() { return cRangeAssignment_3; } 487 public Assignment getRangeAssignment_2_1() { return cRangeAssignment_2_1; }
341 488
342 //Expression 489 //Expression
343 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } 490 public RuleCall getRangeExpressionParserRuleCall_2_1_0() { return cRangeExpressionParserRuleCall_2_1_0; }
491
492 //FULL_STOP
493 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; }
344 } 494 }
345 public class MetricDefinitionElements extends AbstractParserRuleElementFinder { 495 public class FunctionDefinitionElements extends AbstractParserRuleElementFinder {
346 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); 496 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FunctionDefinition");
347 private final Group cGroup = (Group)rule.eContents().get(1); 497 private final Group cGroup = (Group)rule.eContents().get(1);
348 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 498 private final Assignment cResultTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
349 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 499 private final CrossReference cResultTypeSymbolCrossReference_0_0 = (CrossReference)cResultTypeAssignment_0.eContents().get(0);
350 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 500 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cResultTypeSymbolCrossReference_0_0.eContents().get(1);
351 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 501 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
352 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 502 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
353 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 503 private final Keyword cColonEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
354 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 504 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
355 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 505 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
506 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
356 507
357 //MetricDefinition: 508 //FunctionDefinition:
358 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; 509 // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP;
359 @Override public ParserRule getRule() { return rule; } 510 @Override public ParserRule getRule() { return rule; }
360 511
361 //type=[NamedElement|QualifiedName] head=Call "=" body=Expression 512 //resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP
362 public Group getGroup() { return cGroup; } 513 public Group getGroup() { return cGroup; }
363 514
364 //type=[NamedElement|QualifiedName] 515 //resultType=[Symbol|QualifiedName]
365 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 516 public Assignment getResultTypeAssignment_0() { return cResultTypeAssignment_0; }
366 517
367 //[NamedElement|QualifiedName] 518 //[Symbol|QualifiedName]
368 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 519 public CrossReference getResultTypeSymbolCrossReference_0_0() { return cResultTypeSymbolCrossReference_0_0; }
369 520
370 //QualifiedName 521 //QualifiedName
371 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 522 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
372 523
373 //head=Call 524 //head=Call
374 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 525 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
@@ -376,76 +527,199 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
376 //Call 527 //Call
377 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } 528 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
378 529
379 //"=" 530 //":="
380 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } 531 public Keyword getColonEqualsSignKeyword_2() { return cColonEqualsSignKeyword_2; }
381 532
382 //body=Expression 533 //body=Expression
383 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } 534 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
384 535
385 //Expression 536 //Expression
386 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 537 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
538
539 //FULL_STOP
540 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
541 }
542 public class TypeReferenceElements extends AbstractParserRuleElementFinder {
543 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference");
544 private final Group cGroup = (Group)rule.eContents().get(1);
545 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
546 private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
547 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_0_0.eContents().get(1);
548 private final Assignment cForceObjectTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
549 private final Keyword cForceObjectTypeObjectKeyword_1_0 = (Keyword)cForceObjectTypeAssignment_1.eContents().get(0);
550
551 //TypeReference:
552 // type=[Symbol|QualifiedName] forceObjectType?="object"?;
553 @Override public ParserRule getRule() { return rule; }
554
555 //type=[Symbol|QualifiedName] forceObjectType?="object"?
556 public Group getGroup() { return cGroup; }
557
558 //type=[Symbol|QualifiedName]
559 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
560
561 //[Symbol|QualifiedName]
562 public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; }
563
564 //QualifiedName
565 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
566
567 //forceObjectType?="object"?
568 public Assignment getForceObjectTypeAssignment_1() { return cForceObjectTypeAssignment_1; }
569
570 //"object"
571 public Keyword getForceObjectTypeObjectKeyword_1_0() { return cForceObjectTypeObjectKeyword_1_0; }
572 }
573 public class AttributeElements extends AbstractParserRuleElementFinder {
574 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Attribute");
575 private final Group cGroup = (Group)rule.eContents().get(1);
576 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
577 private final RuleCall cKindAttributeKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
578 private final Assignment cTargetAssignment_1 = (Assignment)cGroup.eContents().get(1);
579 private final CrossReference cTargetSymbolCrossReference_1_0 = (CrossReference)cTargetAssignment_1.eContents().get(0);
580 private final RuleCall cTargetSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTargetSymbolCrossReference_1_0.eContents().get(1);
581 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
582
583 //Attribute:
584 // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP;
585 @Override public ParserRule getRule() { return rule; }
586
587 //kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP
588 public Group getGroup() { return cGroup; }
589
590 //kind=AttributeKind
591 public Assignment getKindAssignment_0() { return cKindAssignment_0; }
592
593 //AttributeKind
594 public RuleCall getKindAttributeKindEnumRuleCall_0_0() { return cKindAttributeKindEnumRuleCall_0_0; }
595
596 //target=[Symbol|QualifiedName]
597 public Assignment getTargetAssignment_1() { return cTargetAssignment_1; }
598
599 //[Symbol|QualifiedName]
600 public CrossReference getTargetSymbolCrossReference_1_0() { return cTargetSymbolCrossReference_1_0; }
601
602 //QualifiedName
603 public RuleCall getTargetSymbolQualifiedNameParserRuleCall_1_0_1() { return cTargetSymbolQualifiedNameParserRuleCall_1_0_1; }
604
605 //FULL_STOP
606 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
387 } 607 }
388 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder { 608 public class ExternDeclarationElements extends AbstractParserRuleElementFinder {
389 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition"); 609 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDeclaration");
610 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
611 private final RuleCall cExternPredicateDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
612 private final RuleCall cExternFunctionDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
613 private final RuleCall cExternAggregationOperatorDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
614 private final RuleCall cExternDatatypeDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
615
616 //ExternDeclaration:
617 // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
618 // ExternDatatypeDeclaration;
619 @Override public ParserRule getRule() { return rule; }
620
621 //ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
622 //ExternDatatypeDeclaration
623 public Alternatives getAlternatives() { return cAlternatives; }
624
625 //ExternPredicateDeclaration
626 public RuleCall getExternPredicateDeclarationParserRuleCall_0() { return cExternPredicateDeclarationParserRuleCall_0; }
627
628 //ExternFunctionDeclaration
629 public RuleCall getExternFunctionDeclarationParserRuleCall_1() { return cExternFunctionDeclarationParserRuleCall_1; }
630
631 //ExternAggregationOperatorDeclaration
632 public RuleCall getExternAggregationOperatorDeclarationParserRuleCall_2() { return cExternAggregationOperatorDeclarationParserRuleCall_2; }
633
634 //ExternDatatypeDeclaration
635 public RuleCall getExternDatatypeDeclarationParserRuleCall_3() { return cExternDatatypeDeclarationParserRuleCall_3; }
636 }
637 public class ExternPredicateDeclarationElements extends AbstractParserRuleElementFinder {
638 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDeclaration");
390 private final Group cGroup = (Group)rule.eContents().get(1); 639 private final Group cGroup = (Group)rule.eContents().get(1);
391 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 640 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
392 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 641 private final UnorderedGroup cUnorderedGroup_1 = (UnorderedGroup)cGroup.eContents().get(1);
393 private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 642 private final Assignment cFunctionalAssignment_1_0 = (Assignment)cUnorderedGroup_1.eContents().get(0);
394 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2); 643 private final Keyword cFunctionalFunctionalKeyword_1_0_0 = (Keyword)cFunctionalAssignment_1_0.eContents().get(0);
395 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0); 644 private final Assignment cErrorAssignment_1_1 = (Assignment)cUnorderedGroup_1.eContents().get(1);
645 private final Keyword cErrorErrorKeyword_1_1_0 = (Keyword)cErrorAssignment_1_1.eContents().get(0);
646 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
647 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
648 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
649 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
650 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
396 651
397 //ExternPredicateDefinition: 652 //ExternPredicateDeclaration:
398 // "extern" name=QualifiedName argumentList=ArgumentList; 653 // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP;
399 @Override public ParserRule getRule() { return rule; } 654 @Override public ParserRule getRule() { return rule; }
400 655
401 //"extern" name=QualifiedName argumentList=ArgumentList 656 //"extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP
402 public Group getGroup() { return cGroup; } 657 public Group getGroup() { return cGroup; }
403 658
404 //"extern" 659 //"extern"
405 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 660 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
406 661
662 //(functional?="functional"? & error?="error"?)
663 public UnorderedGroup getUnorderedGroup_1() { return cUnorderedGroup_1; }
664
665 //functional?="functional"?
666 public Assignment getFunctionalAssignment_1_0() { return cFunctionalAssignment_1_0; }
667
668 //"functional"
669 public Keyword getFunctionalFunctionalKeyword_1_0_0() { return cFunctionalFunctionalKeyword_1_0_0; }
670
671 //error?="error"?
672 public Assignment getErrorAssignment_1_1() { return cErrorAssignment_1_1; }
673
674 //"error"
675 public Keyword getErrorErrorKeyword_1_1_0() { return cErrorErrorKeyword_1_1_0; }
676
407 //name=QualifiedName 677 //name=QualifiedName
408 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 678 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
409 679
410 //QualifiedName 680 //QualifiedName
411 public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; } 681 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
412 682
413 //argumentList=ArgumentList 683 //argumentList=ArgumentList
414 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } 684 public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; }
415 685
416 //ArgumentList 686 //ArgumentList
417 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } 687 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
688
689 //FULL_STOP
690 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
418 } 691 }
419 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { 692 public class ExternFunctionDeclarationElements extends AbstractParserRuleElementFinder {
420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); 693 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternFunctionDeclaration");
421 private final Group cGroup = (Group)rule.eContents().get(1); 694 private final Group cGroup = (Group)rule.eContents().get(1);
422 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 695 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
423 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 696 private final Assignment cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
424 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 697 private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0);
425 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 698 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_1_0.eContents().get(1);
426 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 699 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
427 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 700 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
428 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3); 701 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
429 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0); 702 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
703 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
430 704
431 //ExternMetricDefinition: 705 //ExternFunctionDeclaration:
432 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; 706 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP;
433 @Override public ParserRule getRule() { return rule; } 707 @Override public ParserRule getRule() { return rule; }
434 708
435 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList 709 //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP
436 public Group getGroup() { return cGroup; } 710 public Group getGroup() { return cGroup; }
437 711
438 //"extern" 712 //"extern"
439 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 713 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
440 714
441 //type=[NamedElement|QualifiedName] 715 //resultType=[Symbol|QualifiedName]
442 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 716 public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; }
443 717
444 //[NamedElement|QualifiedName] 718 //[Symbol|QualifiedName]
445 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 719 public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; }
446 720
447 //QualifiedName 721 //QualifiedName
448 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 722 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
449 723
450 //name=QualifiedName 724 //name=QualifiedName
451 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 725 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
@@ -458,41 +732,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
458 732
459 //ArgumentList 733 //ArgumentList
460 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; } 734 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
735
736 //FULL_STOP
737 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
461 } 738 }
462 public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder { 739 public class ExternAggregationOperatorDeclarationElements extends AbstractParserRuleElementFinder {
463 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition"); 740 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregationOperatorDeclaration");
464 private final Group cGroup = (Group)rule.eContents().get(1); 741 private final Group cGroup = (Group)rule.eContents().get(1);
465 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 742 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
466 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 743 private final Assignment cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
467 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 744 private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0);
468 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 745 private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_1_0.eContents().get(1);
469 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 746 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
470 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 747 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
471 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 748 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
472 private final Assignment cInputTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); 749 private final Assignment cArgumentTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
473 private final CrossReference cInputTypeNamedElementCrossReference_4_0 = (CrossReference)cInputTypeAssignment_4.eContents().get(0); 750 private final CrossReference cArgumentTypeSymbolCrossReference_4_0 = (CrossReference)cArgumentTypeAssignment_4.eContents().get(0);
474 private final RuleCall cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cInputTypeNamedElementCrossReference_4_0.eContents().get(1); 751 private final RuleCall cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cArgumentTypeSymbolCrossReference_4_0.eContents().get(1);
475 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5); 752 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
476 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); 753 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
754 private final RuleCall cFULL_STOPTerminalRuleCall_7 = (RuleCall)cGroup.eContents().get(7);
477 755
478 //ExternAggregatorDefinition: 756 //ExternAggregationOperatorDeclaration:
479 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; 757 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
758 // FULL_STOP;
480 @Override public ParserRule getRule() { return rule; } 759 @Override public ParserRule getRule() { return rule; }
481 760
482 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}" 761 //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
762 //FULL_STOP
483 public Group getGroup() { return cGroup; } 763 public Group getGroup() { return cGroup; }
484 764
485 //"extern" 765 //"extern"
486 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 766 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
487 767
488 //type=[NamedElement|QualifiedName] 768 //resultType=[Symbol|QualifiedName]
489 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 769 public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; }
490 770
491 //[NamedElement|QualifiedName] 771 //[Symbol|QualifiedName]
492 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 772 public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; }
493 773
494 //QualifiedName 774 //QualifiedName
495 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 775 public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
496 776
497 //name=QualifiedName 777 //name=QualifiedName
498 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 778 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
@@ -503,46 +783,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
503 //"{" 783 //"{"
504 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } 784 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
505 785
506 //inputType=[NamedElement|QualifiedName] 786 //argumentType=[Symbol|QualifiedName]
507 public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; } 787 public Assignment getArgumentTypeAssignment_4() { return cArgumentTypeAssignment_4; }
508 788
509 //[NamedElement|QualifiedName] 789 //[Symbol|QualifiedName]
510 public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; } 790 public CrossReference getArgumentTypeSymbolCrossReference_4_0() { return cArgumentTypeSymbolCrossReference_4_0; }
511 791
512 //QualifiedName 792 //QualifiedName
513 public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; } 793 public RuleCall getArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1() { return cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1; }
514 794
515 //"..." 795 //"..."
516 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; } 796 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; }
517 797
518 //"}" 798 //"}"
519 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 799 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
800
801 //FULL_STOP
802 public RuleCall getFULL_STOPTerminalRuleCall_7() { return cFULL_STOPTerminalRuleCall_7; }
520 } 803 }
521 public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder { 804 public class ExternDatatypeDeclarationElements extends AbstractParserRuleElementFinder {
522 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition"); 805 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDeclaration");
523 private final Group cGroup = (Group)rule.eContents().get(1); 806 private final Group cGroup = (Group)rule.eContents().get(1);
524 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 807 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
525 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1); 808 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1);
526 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 809 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
527 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 810 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
528 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 811 private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)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 812
539 //ExternDatatypeDefinition: 813 //ExternDatatypeDeclaration:
540 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 814 // "extern" "datatype" name=QualifiedName FULL_STOP;
541 // supertypes+=[NamedElement|QualifiedName])*);
542 @Override public ParserRule getRule() { return rule; } 815 @Override public ParserRule getRule() { return rule; }
543 816
544 //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 817 //"extern" "datatype" name=QualifiedName FULL_STOP
545 //supertypes+=[NamedElement|QualifiedName])*)
546 public Group getGroup() { return cGroup; } 818 public Group getGroup() { return cGroup; }
547 819
548 //"extern" 820 //"extern"
@@ -557,96 +829,64 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
557 //QualifiedName 829 //QualifiedName
558 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } 830 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
559 831
560 //("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*) 832 //FULL_STOP
561 public Group getGroup_3() { return cGroup_3; } 833 public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_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 } 834 }
590 public class VariableElements extends AbstractParserRuleElementFinder { 835 public class ExpressionElements extends AbstractParserRuleElementFinder {
591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 836 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
592 private final Group cGroup = (Group)rule.eContents().get(1); 837 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
593 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 838 private final RuleCall cConditionalExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
594 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 839 private final RuleCall cLetExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
595 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 840 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
596 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 841 private final RuleCall cDisjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cGroup_2.eContents().get(0);
597 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 842 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
843 private final Action cForallConditionAction_2_1_0 = (Action)cGroup_2_1.eContents().get(0);
844 private final Keyword cEqualsSignGreaterThanSignKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
845 private final Assignment cBodyAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2);
846 private final RuleCall cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0 = (RuleCall)cBodyAssignment_2_1_2.eContents().get(0);
598 847
599 //Variable: 848 //Expression:
600 // type=[NamedElement|QualifiedName]? name=ID; 849 // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
850 // body=DisjunctiveExpression)?;
601 @Override public ParserRule getRule() { return rule; } 851 @Override public ParserRule getRule() { return rule; }
602 852
603 //type=[NamedElement|QualifiedName]? name=ID 853 //ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
604 public Group getGroup() { return cGroup; } 854 //body=DisjunctiveExpression)?
855 public Alternatives getAlternatives() { return cAlternatives; }
605 856
606 //type=[NamedElement|QualifiedName]? 857 //ConditionalExpression
607 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 858 public RuleCall getConditionalExpressionParserRuleCall_0() { return cConditionalExpressionParserRuleCall_0; }
608 859
609 //[NamedElement|QualifiedName] 860 //LetExpression
610 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 861 public RuleCall getLetExpressionParserRuleCall_1() { return cLetExpressionParserRuleCall_1; }
611 862
612 //QualifiedName 863 //DisjunctiveExpression ({Forall.condition=current} "=>" body=DisjunctiveExpression)?
613 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 864 public Group getGroup_2() { return cGroup_2; }
614
615 //name=ID
616 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
617 865
618 //ID 866 //DisjunctiveExpression
619 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 867 public RuleCall getDisjunctiveExpressionParserRuleCall_2_0() { return cDisjunctiveExpressionParserRuleCall_2_0; }
620 }
621 public class ExpressionElements extends AbstractParserRuleElementFinder {
622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
623 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
624 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
625 private final RuleCall cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
626 private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
627 868
628 //Expression: 869 //({Forall.condition=current} "=>" body=DisjunctiveExpression)?
629 // IfElse | Let | ImplicationExpression; 870 public Group getGroup_2_1() { return cGroup_2_1; }
630 @Override public ParserRule getRule() { return rule; }
631 871
632 //IfElse | Let | ImplicationExpression 872 //{Forall.condition=current}
633 public Alternatives getAlternatives() { return cAlternatives; } 873 public Action getForallConditionAction_2_1_0() { return cForallConditionAction_2_1_0; }
634 874
635 //IfElse 875 //"=>"
636 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } 876 public Keyword getEqualsSignGreaterThanSignKeyword_2_1_1() { return cEqualsSignGreaterThanSignKeyword_2_1_1; }
637 877
638 //Let 878 //body=DisjunctiveExpression
639 public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; } 879 public Assignment getBodyAssignment_2_1_2() { return cBodyAssignment_2_1_2; }
640 880
641 //ImplicationExpression 881 //DisjunctiveExpression
642 public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; } 882 public RuleCall getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0() { return cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0; }
643 } 883 }
644 public class IfElseElements extends AbstractParserRuleElementFinder { 884 public class ConditionalExpressionElements extends AbstractParserRuleElementFinder {
645 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); 885 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConditionalExpression");
646 private final Group cGroup = (Group)rule.eContents().get(1); 886 private final Group cGroup = (Group)rule.eContents().get(1);
647 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); 887 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
648 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); 888 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
649 private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); 889 private final RuleCall cConditionDisjunctiveExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
650 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); 890 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
651 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); 891 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3);
652 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); 892 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0);
@@ -654,21 +894,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
654 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5); 894 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5);
655 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0); 895 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0);
656 896
657 //IfElse: 897 //ConditionalExpression:
658 // "if" condition=Expression "then" then=Expression "else" else=Expression; 898 // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression;
659 @Override public ParserRule getRule() { return rule; } 899 @Override public ParserRule getRule() { return rule; }
660 900
661 //"if" condition=Expression "then" then=Expression "else" else=Expression 901 //"if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression
662 public Group getGroup() { return cGroup; } 902 public Group getGroup() { return cGroup; }
663 903
664 //"if" 904 //"if"
665 public Keyword getIfKeyword_0() { return cIfKeyword_0; } 905 public Keyword getIfKeyword_0() { return cIfKeyword_0; }
666 906
667 //condition=Expression 907 //condition=DisjunctiveExpression
668 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } 908 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
669 909
670 //Expression 910 //DisjunctiveExpression
671 public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } 911 public RuleCall getConditionDisjunctiveExpressionParserRuleCall_1_0() { return cConditionDisjunctiveExpressionParserRuleCall_1_0; }
672 912
673 //"then" 913 //"then"
674 public Keyword getThenKeyword_2() { return cThenKeyword_2; } 914 public Keyword getThenKeyword_2() { return cThenKeyword_2; }
@@ -688,8 +928,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
688 //Expression 928 //Expression
689 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } 929 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
690 } 930 }
691 public class LetElements extends AbstractParserRuleElementFinder { 931 public class LetExpressionElements extends AbstractParserRuleElementFinder {
692 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Let"); 932 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetExpression");
693 private final Group cGroup = (Group)rule.eContents().get(1); 933 private final Group cGroup = (Group)rule.eContents().get(1);
694 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0); 934 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0);
695 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1); 935 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1);
@@ -702,7 +942,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
702 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4); 942 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4);
703 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0); 943 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0);
704 944
705 //Let: 945 //LetExpression:
706 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; 946 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
707 @Override public ParserRule getRule() { return rule; } 947 @Override public ParserRule getRule() { return rule; }
708 948
@@ -742,72 +982,45 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
742 public class LetBindingElements extends AbstractParserRuleElementFinder { 982 public class LetBindingElements extends AbstractParserRuleElementFinder {
743 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); 983 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); 984 private final Group cGroup = (Group)rule.eContents().get(1);
745 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); 985 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
746 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0); 986 private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
747 private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); 987 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_0_0.eContents().get(1);
748 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); 988 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
749 private final RuleCall cValueAdditiveExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); 989 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
990 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
991 private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
992 private final RuleCall cValueAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
750 993
751 //LetBinding: 994 //LetBinding:
752 // variable=Variable "=" value=AdditiveExpression; 995 // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression;
753 @Override public ParserRule getRule() { return rule; } 996 @Override public ParserRule getRule() { return rule; }
754 997
755 //variable=Variable "=" value=AdditiveExpression 998 //type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression
756 public Group getGroup() { return cGroup; } 999 public Group getGroup() { return cGroup; }
757 1000
758 //variable=Variable 1001 //type=[Symbol|QualifiedName]?
759 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } 1002 public Assignment getTypeAssignment_0() { return cTypeAssignment_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 1003
791 //DisjunctiveExpression 1004 //[Symbol|QualifiedName]
792 public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; } 1005 public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; }
793 1006
794 //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)? 1007 //QualifiedName
795 public Group getGroup_1() { return cGroup_1; } 1008 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; }
796 1009
797 //{BinaryExpression.left=current} 1010 //name=ID
798 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } 1011 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
799 1012
800 //op=ImplicationOperator 1013 //ID
801 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1014 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
802 1015
803 //ImplicationOperator 1016 //"="
804 public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; } 1017 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
805 1018
806 //right=ImplicationExpression 1019 //value=AdditiveExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } 1020 public Assignment getValueAssignment_3() { return cValueAssignment_3; }
808 1021
809 //ImplicationExpression 1022 //AdditiveExpression
810 public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; } 1023 public RuleCall getValueAdditiveExpressionParserRuleCall_3_0() { return cValueAdditiveExpressionParserRuleCall_3_0; }
811 } 1024 }
812 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { 1025 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); 1026 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
@@ -970,27 +1183,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
970 private final Group cGroup = (Group)rule.eContents().get(1); 1183 private final Group cGroup = (Group)rule.eContents().get(1);
971 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 1184 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
972 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1185 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
973 private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); 1186 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
974 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1187 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
975 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1188 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
976 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1189 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
977 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); 1190 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
978 1191
979 //ComparisonExpression Expression: 1192 //ComparisonExpression Expression:
980 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; 1193 // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?;
981 @Override public ParserRule getRule() { return rule; } 1194 @Override public ParserRule getRule() { return rule; }
982 1195
983 //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? 1196 //AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?
984 public Group getGroup() { return cGroup; } 1197 public Group getGroup() { return cGroup; }
985 1198
986 //AdditiveExpression 1199 //AdditiveExpression
987 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; } 1200 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; }
988 1201
989 //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? 1202 //({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?
990 public Group getGroup_1() { return cGroup_1; } 1203 public Group getGroup_1() { return cGroup_1; }
991 1204
992 //{Comparison.left=current} 1205 //{BinaryExpression.left=current}
993 public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } 1206 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
994 1207
995 //op=ComparisonOperator 1208 //op=ComparisonOperator
996 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1209 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
@@ -1128,21 +1341,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1128 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1341 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1129 private final Action cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0); 1342 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); 1343 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); 1344 private final Assignment cTargetTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1132 private final CrossReference cTypeNamedElementCrossReference_1_2_0 = (CrossReference)cTypeAssignment_1_2.eContents().get(0); 1345 private final CrossReference cTargetTypeSymbolCrossReference_1_2_0 = (CrossReference)cTargetTypeAssignment_1_2.eContents().get(0);
1133 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_2_0.eContents().get(1); 1346 private final RuleCall cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTargetTypeSymbolCrossReference_1_2_0.eContents().get(1);
1134 1347
1135 //CastExpression Expression: 1348 //CastExpression Expression:
1136 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; 1349 // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?;
1137 @Override public ParserRule getRule() { return rule; } 1350 @Override public ParserRule getRule() { return rule; }
1138 1351
1139 //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? 1352 //UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?
1140 public Group getGroup() { return cGroup; } 1353 public Group getGroup() { return cGroup; }
1141 1354
1142 //UnaryExpression 1355 //UnaryExpression
1143 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } 1356 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
1144 1357
1145 //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? 1358 //({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?
1146 public Group getGroup_1() { return cGroup_1; } 1359 public Group getGroup_1() { return cGroup_1; }
1147 1360
1148 //{CastExpression.body=current} 1361 //{CastExpression.body=current}
@@ -1151,233 +1364,158 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1151 //"as" 1364 //"as"
1152 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; } 1365 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; }
1153 1366
1154 //type=[NamedElement|QualifiedName] 1367 //targetType=[Symbol|QualifiedName]
1155 public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; } 1368 public Assignment getTargetTypeAssignment_1_2() { return cTargetTypeAssignment_1_2; }
1156 1369
1157 //[NamedElement|QualifiedName] 1370 //[Symbol|QualifiedName]
1158 public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; } 1371 public CrossReference getTargetTypeSymbolCrossReference_1_2_0() { return cTargetTypeSymbolCrossReference_1_2_0; }
1159 1372
1160 //QualifiedName 1373 //QualifiedName
1161 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; } 1374 public RuleCall getTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1() { return cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1; }
1162 } 1375 }
1163 public class UnaryExpressionElements extends AbstractParserRuleElementFinder { 1376 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
1164 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); 1377 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
1165 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1378 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1166 private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1379 private final RuleCall cBracedAggregateExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1167 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1380 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1168 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0); 1381 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0);
1169 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1382 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1170 private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1383 private final RuleCall cOpUnaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
1171 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1384 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1172 private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0); 1385 private final RuleCall cBodyBracedAggregateExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0);
1173 1386
1174 //UnaryExpression Expression: 1387 //UnaryExpression Expression:
1175 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 1388 // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression;
1176 @Override public ParserRule getRule() { return rule; } 1389 @Override public ParserRule getRule() { return rule; }
1177 1390
1178 //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression 1391 //BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression
1179 public Alternatives getAlternatives() { return cAlternatives; } 1392 public Alternatives getAlternatives() { return cAlternatives; }
1180 1393
1181 //AggregationExpression 1394 //BracedAggregateExpression
1182 public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; } 1395 public RuleCall getBracedAggregateExpressionParserRuleCall_0() { return cBracedAggregateExpressionParserRuleCall_0; }
1183 1396
1184 //{UnaryExpression} op=UnaryOp body=AggregationExpression 1397 //{UnaryExpression} op=UnaryOperator body=BracedAggregateExpression
1185 public Group getGroup_1() { return cGroup_1; } 1398 public Group getGroup_1() { return cGroup_1; }
1186 1399
1187 //{UnaryExpression} 1400 //{UnaryExpression}
1188 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; } 1401 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; }
1189 1402
1190 //op=UnaryOp 1403 //op=UnaryOperator
1191 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } 1404 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
1192 1405
1193 //UnaryOp 1406 //UnaryOperator
1194 public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; } 1407 public RuleCall getOpUnaryOperatorEnumRuleCall_1_1_0() { return cOpUnaryOperatorEnumRuleCall_1_1_0; }
1195 1408
1196 //body=AggregationExpression 1409 //body=BracedAggregateExpression
1197 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; } 1410 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; }
1198 1411
1199 //AggregationExpression 1412 //BracedAggregateExpression
1200 public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; } 1413 public RuleCall getBodyBracedAggregateExpressionParserRuleCall_1_2_0() { return cBodyBracedAggregateExpressionParserRuleCall_1_2_0; }
1201 } 1414 }
1202 public class AggregationExpressionElements extends AbstractParserRuleElementFinder { 1415 public class BracedAggregateExpressionElements extends AbstractParserRuleElementFinder {
1203 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 1416 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression");
1204 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1417 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1205 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1418 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1206 private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1419 private final RuleCall cAggregationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1207 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1420 private final RuleCall cCountParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1208 1421
1209 //AggregationExpression Expression: 1422 //BracedAggregateExpression Expression:
1210 // AtomicExpression | QuantifiedExpression | Aggregation; 1423 // AtomicExpression | Aggregation | Count;
1211 @Override public ParserRule getRule() { return rule; } 1424 @Override public ParserRule getRule() { return rule; }
1212 1425
1213 //AtomicExpression | QuantifiedExpression | Aggregation 1426 //AtomicExpression | Aggregation | Count
1214 public Alternatives getAlternatives() { return cAlternatives; } 1427 public Alternatives getAlternatives() { return cAlternatives; }
1215 1428
1216 //AtomicExpression 1429 //AtomicExpression
1217 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } 1430 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
1218 1431
1219 //QuantifiedExpression
1220 public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; }
1221
1222 //Aggregation 1432 //Aggregation
1223 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } 1433 public RuleCall getAggregationParserRuleCall_1() { return cAggregationParserRuleCall_1; }
1434
1435 //Count
1436 public RuleCall getCountParserRuleCall_2() { return cCountParserRuleCall_2; }
1224 } 1437 }
1225 public class LocalVariablesElements extends AbstractParserRuleElementFinder { 1438 public class AggregationElements extends AbstractParserRuleElementFinder {
1226 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); 1439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
1227 private final Group cGroup = (Group)rule.eContents().get(1); 1440 private final Group cGroup = (Group)rule.eContents().get(1);
1228 private final Action cLocalVariablesAction_0 = (Action)cGroup.eContents().get(0); 1441 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
1229 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1442 private final CrossReference cOpSymbolCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0);
1230 private final Group cGroup_2 = (Group)cGroup.eContents().get(2); 1443 private final RuleCall cOpSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpSymbolCrossReference_0_0.eContents().get(1);
1231 private final Assignment cVariablesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); 1444 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
1232 private final RuleCall cVariablesVariableParserRuleCall_2_0_0 = (RuleCall)cVariablesAssignment_2_0.eContents().get(0); 1445 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
1233 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); 1446 private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
1234 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); 1447 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3);
1235 private final Assignment cVariablesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); 1448 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4);
1236 private final RuleCall cVariablesVariableParserRuleCall_2_1_1_0 = (RuleCall)cVariablesAssignment_2_1_1.eContents().get(0); 1449 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0);
1237 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 1450 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
1238 1451
1239 //LocalVariables: 1452 //Aggregation:
1240 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; 1453 // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}";
1241 @Override public ParserRule getRule() { return rule; } 1454 @Override public ParserRule getRule() { return rule; }
1242 1455
1243 //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]" 1456 //op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}"
1244 public Group getGroup() { return cGroup; } 1457 public Group getGroup() { return cGroup; }
1245 1458
1246 //{LocalVariables} 1459 //op=[Symbol|QualifiedName]
1247 public Action getLocalVariablesAction_0() { return cLocalVariablesAction_0; } 1460 public Assignment getOpAssignment_0() { return cOpAssignment_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 1461
1292 //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}" 1462 //[Symbol|QualifiedName]
1293 public Group getGroup() { return cGroup; } 1463 public CrossReference getOpSymbolCrossReference_0_0() { return cOpSymbolCrossReference_0_0; }
1294 1464
1295 //quantifier=Quantifier 1465 //QualifiedName
1296 public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; } 1466 public RuleCall getOpSymbolQualifiedNameParserRuleCall_0_0_1() { return cOpSymbolQualifiedNameParserRuleCall_0_0_1; }
1297 1467
1298 //Quantifier 1468 //"{"
1299 public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; } 1469 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
1300 1470
1301 //localVariables=LocalVariables? 1471 //value=Expression
1302 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; } 1472 public Assignment getValueAssignment_2() { return cValueAssignment_2; }
1303 1473
1304 //LocalVariables 1474 //Expression
1305 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; } 1475 public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; }
1306 1476
1307 //"{" 1477 //"|"
1308 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 1478 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; }
1309 1479
1310 //body=Expression 1480 //condition=Expression
1311 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } 1481 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; }
1312 1482
1313 //Expression 1483 //Expression
1314 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 1484 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; }
1315 1485
1316 //"}" 1486 //"}"
1317 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } 1487 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
1318 } 1488 }
1319 public class AggregationElements extends AbstractParserRuleElementFinder { 1489 public class CountElements extends AbstractParserRuleElementFinder {
1320 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); 1490 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count");
1321 private final Group cGroup = (Group)rule.eContents().get(1); 1491 private final Group cGroup = (Group)rule.eContents().get(1);
1322 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); 1492 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0);
1323 private final CrossReference cOpNamedElementCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0); 1493 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); 1494 private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2);
1325 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1); 1495 private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0);
1326 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0); 1496 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
1327 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 1497
1328 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 1498 //Count:
1329 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 1499 // "count" "{" condition=Expression "}";
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);
1334 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
1335
1336 //Aggregation:
1337 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
1338 @Override public ParserRule getRule() { return rule; } 1500 @Override public ParserRule getRule() { return rule; }
1339 1501
1340 //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}" 1502 //"count" "{" condition=Expression "}"
1341 public Group getGroup() { return cGroup; } 1503 public Group getGroup() { return cGroup; }
1342 1504
1343 //op=[NamedElement|QualifiedName] 1505 //"count"
1344 public Assignment getOpAssignment_0() { return cOpAssignment_0; } 1506 public Keyword getCountKeyword_0() { return cCountKeyword_0; }
1345
1346 //[NamedElement|QualifiedName]
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; }
1357 1507
1358 //"{" 1508 //"{"
1359 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 1509 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
1360
1361 //body=Expression
1362 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
1363
1364 //Expression
1365 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
1366
1367 //("|" condition=Expression)?
1368 public Group getGroup_4() { return cGroup_4; }
1369
1370 //"|"
1371 public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; }
1372 1510
1373 //condition=Expression 1511 //condition=Expression
1374 public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; } 1512 public Assignment getConditionAssignment_2() { return cConditionAssignment_2; }
1375 1513
1376 //Expression 1514 //Expression
1377 public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; } 1515 public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; }
1378 1516
1379 //"}" 1517 //"}"
1380 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } 1518 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
1381 } 1519 }
1382 public class AtomicExpressionElements extends AbstractParserRuleElementFinder { 1520 public class AtomicExpressionElements extends AbstractParserRuleElementFinder {
1383 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression"); 1521 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression");
@@ -1427,21 +1565,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1427 private final Group cGroup = (Group)rule.eContents().get(1); 1565 private final Group cGroup = (Group)rule.eContents().get(1);
1428 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0); 1566 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0);
1429 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0); 1567 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0);
1430 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 1568 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
1431 private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); 1569 private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0);
1432 private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0);
1433 private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
1434 private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0);
1435 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
1436 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
1437 1570
1438 //Call: 1571 //Call:
1439 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 1572 // functor=Reference argumentList=ArgumentList;
1440 // argumentList=ArgumentList;
1441 @Override public ParserRule getRule() { return rule; } 1573 @Override public ParserRule getRule() { return rule; }
1442 1574
1443 //functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 1575 //functor=Reference argumentList=ArgumentList
1444 //argumentList=ArgumentList
1445 public Group getGroup() { return cGroup; } 1576 public Group getGroup() { return cGroup; }
1446 1577
1447 //functor=Reference 1578 //functor=Reference
@@ -1450,26 +1581,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1450 //Reference 1581 //Reference
1451 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; } 1582 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; }
1452 1583
1453 //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1454 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1455
1456 //transitiveClosure?=TRANSITIVE_CLOSURE
1457 public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; }
1458
1459 //TRANSITIVE_CLOSURE
1460 public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0; }
1461
1462 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE
1463 public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; }
1464
1465 //REFLEXIVE_TRANSITIVE_CLOSURE
1466 public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0; }
1467
1468 //argumentList=ArgumentList 1584 //argumentList=ArgumentList
1469 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } 1585 public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; }
1470 1586
1471 //ArgumentList 1587 //ArgumentList
1472 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } 1588 public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; }
1473 } 1589 }
1474 public class ArgumentListElements extends AbstractParserRuleElementFinder { 1590 public class ArgumentListElements extends AbstractParserRuleElementFinder {
1475 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); 1591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
@@ -1527,14 +1643,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1527 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1643 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1528 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1644 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1529 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1645 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1530 private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1646 private final RuleCall cTypedVariableArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1531 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1647 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1532 1648
1533 //Argument: 1649 //Argument:
1534 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; 1650 // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument;
1535 @Override public ParserRule getRule() { return rule; } 1651 @Override public ParserRule getRule() { return rule; }
1536 1652
1537 //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument 1653 //ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument
1538 public Alternatives getAlternatives() { return cAlternatives; } 1654 public Alternatives getAlternatives() { return cAlternatives; }
1539 1655
1540 //ExpressionArgument 1656 //ExpressionArgument
@@ -1543,26 +1659,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1543 //StarArgument 1659 //StarArgument
1544 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; } 1660 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; }
1545 1661
1546 //TypedArgument 1662 //TypedVariableArgument
1547 public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; } 1663 public RuleCall getTypedVariableArgumentParserRuleCall_2() { return cTypedVariableArgumentParserRuleCall_2; }
1548 1664
1549 //TypedStarArgument 1665 //TypedStarArgument
1550 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; } 1666 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; }
1551 } 1667 }
1552 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder { 1668 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder {
1553 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument"); 1669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument");
1554 private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1); 1670 private final Assignment cExpressionAssignment = (Assignment)rule.eContents().get(1);
1555 private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0); 1671 private final RuleCall cExpressionComparisonExpressionParserRuleCall_0 = (RuleCall)cExpressionAssignment.eContents().get(0);
1556 1672
1557 //ExpressionArgument: 1673 //ExpressionArgument:
1558 // body=ComparisonExpression; 1674 // expression=ComparisonExpression;
1559 @Override public ParserRule getRule() { return rule; } 1675 @Override public ParserRule getRule() { return rule; }
1560 1676
1561 //body=ComparisonExpression 1677 //expression=ComparisonExpression
1562 public Assignment getBodyAssignment() { return cBodyAssignment; } 1678 public Assignment getExpressionAssignment() { return cExpressionAssignment; }
1563 1679
1564 //ComparisonExpression 1680 //ComparisonExpression
1565 public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; } 1681 public RuleCall getExpressionComparisonExpressionParserRuleCall_0() { return cExpressionComparisonExpressionParserRuleCall_0; }
1566 } 1682 }
1567 public class StarArgumentElements extends AbstractParserRuleElementFinder { 1683 public class StarArgumentElements extends AbstractParserRuleElementFinder {
1568 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument"); 1684 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument");
@@ -1583,122 +1699,179 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1583 //"*" 1699 //"*"
1584 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1700 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1585 } 1701 }
1586 public class TypedArgumentElements extends AbstractParserRuleElementFinder { 1702 public class TypedVariableArgumentElements extends AbstractParserRuleElementFinder {
1587 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument"); 1703 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedVariableArgument");
1588 private final Group cGroup = (Group)rule.eContents().get(1); 1704 private final Group cGroup = (Group)rule.eContents().get(1);
1589 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 1705 private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0);
1590 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 1706 private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0);
1591 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); 1707 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
1592 private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); 1708 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
1593 private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0);
1594 private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1);
1595 1709
1596 //TypedArgument: 1710 //TypedVariableArgument:
1597 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; 1711 // typeReference=TypeReference name=ID;
1598 @Override public ParserRule getRule() { return rule; } 1712 @Override public ParserRule getRule() { return rule; }
1599 1713
1600 //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName] 1714 //typeReference=TypeReference name=ID
1601 public Group getGroup() { return cGroup; } 1715 public Group getGroup() { return cGroup; }
1602 1716
1603 //type=[NamedElement|QualifiedName] 1717 //typeReference=TypeReference
1604 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 1718 public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; }
1605 1719
1606 //[NamedElement|QualifiedName] 1720 //TypeReference
1607 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } 1721 public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; }
1608 1722
1609 //QualifiedName 1723 //name=ID
1610 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 1724 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
1611
1612 //variable=[NamedElement|QualifiedName]
1613 public Assignment getVariableAssignment_1() { return cVariableAssignment_1; }
1614
1615 //[NamedElement|QualifiedName]
1616 public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; }
1617 1725
1618 //QualifiedName 1726 //ID
1619 public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; } 1727 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
1620 } 1728 }
1621 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder { 1729 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder {
1622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument"); 1730 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument");
1623 private final Group cGroup = (Group)rule.eContents().get(1); 1731 private final Group cGroup = (Group)rule.eContents().get(1);
1624 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 1732 private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0);
1625 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); 1733 private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0);
1626 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
1627 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); 1734 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
1628 1735
1629 //TypedStarArgument: 1736 //TypedStarArgument:
1630 // type=[NamedElement|QualifiedName] "*"; 1737 // typeReference=TypeReference "*";
1631 @Override public ParserRule getRule() { return rule; } 1738 @Override public ParserRule getRule() { return rule; }
1632 1739
1633 //type=[NamedElement|QualifiedName] "*" 1740 //typeReference=TypeReference "*"
1634 public Group getGroup() { return cGroup; } 1741 public Group getGroup() { return cGroup; }
1635 1742
1636 //type=[NamedElement|QualifiedName] 1743 //typeReference=TypeReference
1637 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 1744 public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; }
1638
1639 //[NamedElement|QualifiedName]
1640 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
1641 1745
1642 //QualifiedName 1746 //TypeReference
1643 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } 1747 public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; }
1644 1748
1645 //"*" 1749 //"*"
1646 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1750 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1647 } 1751 }
1648 public class ReferenceElements extends AbstractParserRuleElementFinder { 1752 public class ReferenceElements extends AbstractParserRuleElementFinder {
1649 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); 1753 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
1650 private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1); 1754 private final Group cGroup = (Group)rule.eContents().get(1);
1651 private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0); 1755 private final Assignment cComponentsAssignment_0 = (Assignment)cGroup.eContents().get(0);
1652 private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1); 1756 private final RuleCall cComponentsPathComponentParserRuleCall_0_0 = (RuleCall)cComponentsAssignment_0.eContents().get(0);
1757 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1758 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
1759 private final Assignment cComponentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1760 private final RuleCall cComponentsPathComponentParserRuleCall_1_1_0 = (RuleCall)cComponentsAssignment_1_1.eContents().get(0);
1653 1761
1654 //Reference: 1762 //Reference:
1655 // referred=[NamedElement|QualifiedName]; 1763 // components+=PathComponent ("." components+=PathComponent)*;
1656 @Override public ParserRule getRule() { return rule; } 1764 @Override public ParserRule getRule() { return rule; }
1657 1765
1658 //referred=[NamedElement|QualifiedName] 1766 //components+=PathComponent ("." components+=PathComponent)*
1659 public Assignment getReferredAssignment() { return cReferredAssignment; } 1767 public Group getGroup() { return cGroup; }
1768
1769 //components+=PathComponent
1770 public Assignment getComponentsAssignment_0() { return cComponentsAssignment_0; }
1660 1771
1661 //[NamedElement|QualifiedName] 1772 //PathComponent
1662 public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; } 1773 public RuleCall getComponentsPathComponentParserRuleCall_0_0() { return cComponentsPathComponentParserRuleCall_0_0; }
1774
1775 //("." components+=PathComponent)*
1776 public Group getGroup_1() { return cGroup_1; }
1777
1778 //"."
1779 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
1780
1781 //components+=PathComponent
1782 public Assignment getComponentsAssignment_1_1() { return cComponentsAssignment_1_1; }
1783
1784 //PathComponent
1785 public RuleCall getComponentsPathComponentParserRuleCall_1_1_0() { return cComponentsPathComponentParserRuleCall_1_1_0; }
1786 }
1787 public class PathComponentElements extends AbstractParserRuleElementFinder {
1788 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent");
1789 private final Group cGroup = (Group)rule.eContents().get(1);
1790 private final Assignment cInverseAssignment_0 = (Assignment)cGroup.eContents().get(0);
1791 private final Keyword cInverseTildeKeyword_0_0 = (Keyword)cInverseAssignment_0.eContents().get(0);
1792 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
1793 private final CrossReference cSymbolSymbolCrossReference_1_0 = (CrossReference)cSymbolAssignment_1.eContents().get(0);
1794 private final RuleCall cSymbolSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cSymbolSymbolCrossReference_1_0.eContents().get(1);
1795 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
1796 private final Assignment cTransitiveClosureAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
1797 private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0 = (RuleCall)cTransitiveClosureAssignment_2_0.eContents().get(0);
1798 private final Assignment cReflexiveTransitiveClosureAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
1799 private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_2_1.eContents().get(0);
1800
1801 //PathComponent:
1802 // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
1803 // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?;
1804 @Override public ParserRule getRule() { return rule; }
1805
1806 //inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
1807 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1808 public Group getGroup() { return cGroup; }
1809
1810 //inverse?="~"?
1811 public Assignment getInverseAssignment_0() { return cInverseAssignment_0; }
1812
1813 //"~"
1814 public Keyword getInverseTildeKeyword_0_0() { return cInverseTildeKeyword_0_0; }
1815
1816 //symbol=[Symbol|QualifiedName]
1817 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
1818
1819 //[Symbol|QualifiedName]
1820 public CrossReference getSymbolSymbolCrossReference_1_0() { return cSymbolSymbolCrossReference_1_0; }
1663 1821
1664 //QualifiedName 1822 //QualifiedName
1665 public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; } 1823 public RuleCall getSymbolSymbolQualifiedNameParserRuleCall_1_0_1() { return cSymbolSymbolQualifiedNameParserRuleCall_1_0_1; }
1824
1825 //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?
1826 public Alternatives getAlternatives_2() { return cAlternatives_2; }
1827
1828 //transitiveClosure?=TRANSITIVE_CLOSURE
1829 public Assignment getTransitiveClosureAssignment_2_0() { return cTransitiveClosureAssignment_2_0; }
1830
1831 //TRANSITIVE_CLOSURE
1832 public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0; }
1833
1834 //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE
1835 public Assignment getReflexiveTransitiveClosureAssignment_2_1() { return cReflexiveTransitiveClosureAssignment_2_1; }
1836
1837 //REFLEXIVE_TRANSITIVE_CLOSURE
1838 public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0; }
1666 } 1839 }
1667 public class IntervalElements extends AbstractParserRuleElementFinder { 1840 public class IntervalElements extends AbstractParserRuleElementFinder {
1668 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval"); 1841 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval");
1669 private final Group cGroup = (Group)rule.eContents().get(1); 1842 private final Group cGroup = (Group)rule.eContents().get(1);
1670 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 1843 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
1671 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); 1844 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
1672 private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); 1845 private final RuleCall cLowerBoundAdditiveExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
1673 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 1846 private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
1674 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); 1847 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
1675 private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); 1848 private final RuleCall cUpperBoundAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
1676 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 1849 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1677 1850
1678 //Interval: 1851 //Interval:
1679 // "[" lowerBound=Expression ".." upperBound=Expression "]"; 1852 // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]";
1680 @Override public ParserRule getRule() { return rule; } 1853 @Override public ParserRule getRule() { return rule; }
1681 1854
1682 //"[" lowerBound=Expression ".." upperBound=Expression "]" 1855 //"[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]"
1683 public Group getGroup() { return cGroup; } 1856 public Group getGroup() { return cGroup; }
1684 1857
1685 //"[" 1858 //"["
1686 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } 1859 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
1687 1860
1688 //lowerBound=Expression 1861 //lowerBound=AdditiveExpression
1689 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; } 1862 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
1690 1863
1691 //Expression 1864 //AdditiveExpression
1692 public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; } 1865 public RuleCall getLowerBoundAdditiveExpressionParserRuleCall_1_0() { return cLowerBoundAdditiveExpressionParserRuleCall_1_0; }
1693 1866
1694 //".." 1867 //","
1695 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } 1868 public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
1696 1869
1697 //upperBound=Expression 1870 //upperBound=AdditiveExpression
1698 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } 1871 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
1699 1872
1700 //Expression 1873 //AdditiveExpression
1701 public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; } 1874 public RuleCall getUpperBoundAdditiveExpressionParserRuleCall_3_0() { return cUpperBoundAdditiveExpressionParserRuleCall_3_0; }
1702 1875
1703 //"]" 1876 //"]"
1704 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } 1877 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
@@ -1707,32 +1880,36 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1707 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 1880 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1708 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1881 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1709 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1882 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1710 private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1883 private final RuleCall cIntLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1711 private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1884 private final RuleCall cRealLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1712 private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1885 private final RuleCall cInfinityLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1713 private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); 1886 private final RuleCall cEmptyLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
1887 private final RuleCall cStringLiteralParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
1714 1888
1715 //Literal: 1889 //Literal:
1716 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; 1890 // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral;
1717 @Override public ParserRule getRule() { return rule; } 1891 @Override public ParserRule getRule() { return rule; }
1718 1892
1719 //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral 1893 //LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral
1720 public Alternatives getAlternatives() { return cAlternatives; } 1894 public Alternatives getAlternatives() { return cAlternatives; }
1721 1895
1722 //LogicLiteral 1896 //LogicLiteral
1723 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; } 1897 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; }
1724 1898
1725 //NumericLiteral 1899 //IntLiteral
1726 public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; } 1900 public RuleCall getIntLiteralParserRuleCall_1() { return cIntLiteralParserRuleCall_1; }
1901
1902 //RealLiteral
1903 public RuleCall getRealLiteralParserRuleCall_2() { return cRealLiteralParserRuleCall_2; }
1727 1904
1728 //InfinityLiteral 1905 //InfinityLiteral
1729 public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; } 1906 public RuleCall getInfinityLiteralParserRuleCall_3() { return cInfinityLiteralParserRuleCall_3; }
1730 1907
1731 //EmptyIntervalLiteral 1908 //EmptyLiteral
1732 public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; } 1909 public RuleCall getEmptyLiteralParserRuleCall_4() { return cEmptyLiteralParserRuleCall_4; }
1733 1910
1734 //StringLiteral 1911 //StringLiteral
1735 public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; } 1912 public RuleCall getStringLiteralParserRuleCall_5() { return cStringLiteralParserRuleCall_5; }
1736 } 1913 }
1737 public class LogicLiteralElements extends AbstractParserRuleElementFinder { 1914 public class LogicLiteralElements extends AbstractParserRuleElementFinder {
1738 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral"); 1915 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral");
@@ -1749,12 +1926,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1749 //LogicValue 1926 //LogicValue
1750 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; } 1927 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; }
1751 } 1928 }
1752 public class NumericLiteralElements extends AbstractParserRuleElementFinder { 1929 public class IntLiteralElements extends AbstractParserRuleElementFinder {
1753 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral"); 1930 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntLiteral");
1931 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
1932 private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
1933
1934 //IntLiteral:
1935 // value=INT;
1936 @Override public ParserRule getRule() { return rule; }
1937
1938 //value=INT
1939 public Assignment getValueAssignment() { return cValueAssignment; }
1940
1941 //INT
1942 public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; }
1943 }
1944 public class RealLiteralElements extends AbstractParserRuleElementFinder {
1945 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealLiteral");
1754 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1946 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
1755 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1947 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
1756 1948
1757 //NumericLiteral: 1949 //RealLiteral:
1758 // value=Real; 1950 // value=Real;
1759 @Override public ParserRule getRule() { return rule; } 1951 @Override public ParserRule getRule() { return rule; }
1760 1952
@@ -1783,21 +1975,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1783 //"inf" 1975 //"inf"
1784 public Keyword getInfKeyword_1() { return cInfKeyword_1; } 1976 public Keyword getInfKeyword_1() { return cInfKeyword_1; }
1785 } 1977 }
1786 public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder { 1978 public class EmptyLiteralElements extends AbstractParserRuleElementFinder {
1787 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral"); 1979 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyLiteral");
1788 private final Group cGroup = (Group)rule.eContents().get(1); 1980 private final Group cGroup = (Group)rule.eContents().get(1);
1789 private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0); 1981 private final Action cEmptyLiteralAction_0 = (Action)cGroup.eContents().get(0);
1790 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1); 1982 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1);
1791 1983
1792 //EmptyIntervalLiteral: 1984 //EmptyLiteral:
1793 // {EmptyIntervalLiteral} "empty"; 1985 // {EmptyLiteral} "empty";
1794 @Override public ParserRule getRule() { return rule; } 1986 @Override public ParserRule getRule() { return rule; }
1795 1987
1796 //{EmptyIntervalLiteral} "empty" 1988 //{EmptyLiteral} "empty"
1797 public Group getGroup() { return cGroup; } 1989 public Group getGroup() { return cGroup; }
1798 1990
1799 //{EmptyIntervalLiteral} 1991 //{EmptyLiteral}
1800 public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; } 1992 public Action getEmptyLiteralAction_0() { return cEmptyLiteralAction_0; }
1801 1993
1802 //"empty" 1994 //"empty"
1803 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; } 1995 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; }
@@ -1817,44 +2009,58 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1817 //STRING 2009 //STRING
1818 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } 2010 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
1819 } 2011 }
1820 public class ClassDefinitionElements extends AbstractParserRuleElementFinder { 2012 public class ClassDeclarationElements extends AbstractParserRuleElementFinder {
1821 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition"); 2013 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDeclaration");
1822 private final Group cGroup = (Group)rule.eContents().get(1); 2014 private final Group cGroup = (Group)rule.eContents().get(1);
1823 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); 2015 private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0);
1824 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); 2016 private final Assignment cAbstractAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0);
2017 private final Keyword cAbstractAbstractKeyword_0_0_0 = (Keyword)cAbstractAssignment_0_0.eContents().get(0);
2018 private final Assignment cRootAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1);
2019 private final Keyword cRootRootKeyword_0_1_0 = (Keyword)cRootAssignment_0_1.eContents().get(0);
1825 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); 2020 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
1826 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 2021 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
1827 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 2022 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
1828 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 2023 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
1829 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); 2024 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
1830 private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); 2025 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1831 private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0); 2026 private final CrossReference cSupertypesSymbolCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0);
1832 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1); 2027 private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_1_0.eContents().get(1);
1833 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); 2028 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
1834 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); 2029 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
1835 private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); 2030 private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
1836 private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0); 2031 private final CrossReference cSupertypesSymbolCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0);
1837 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1); 2032 private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_2_1_0.eContents().get(1);
1838 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2033 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
1839 private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5); 2034 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
1840 private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0); 2035 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
1841 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); 2036 private final Assignment cFieldsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1);
1842 2037 private final RuleCall cFieldsFieldParserRuleCall_4_0_1_0 = (RuleCall)cFieldsAssignment_4_0_1.eContents().get(0);
1843 //ClassDefinition: 2038 private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2);
1844 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 2039 private final RuleCall cFULL_STOPTerminalRuleCall_4_1 = (RuleCall)cAlternatives_4.eContents().get(1);
1845 // superclasses+=[NamedElement|QualifiedName])*)? 2040
1846 // "{" members+=MemberDefinition* "}"; 2041 //ClassDeclaration:
2042 // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
2043 // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP);
1847 @Override public ParserRule getRule() { return rule; } 2044 @Override public ParserRule getRule() { return rule; }
1848 2045
1849 //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 2046 //(abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
1850 //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}" 2047 //supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP)
1851 public Group getGroup() { return cGroup; } 2048 public Group getGroup() { return cGroup; }
1852 2049
2050 //(abstract?="abstract"? & root?="root"?)
2051 public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
2052
1853 //abstract?="abstract"? 2053 //abstract?="abstract"?
1854 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } 2054 public Assignment getAbstractAssignment_0_0() { return cAbstractAssignment_0_0; }
1855 2055
1856 //"abstract" 2056 //"abstract"
1857 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } 2057 public Keyword getAbstractAbstractKeyword_0_0_0() { return cAbstractAbstractKeyword_0_0_0; }
2058
2059 //root?="root"?
2060 public Assignment getRootAssignment_0_1() { return cRootAssignment_0_1; }
2061
2062 //"root"
2063 public Keyword getRootRootKeyword_0_1_0() { return cRootRootKeyword_0_1_0; }
1858 2064
1859 //"class" 2065 //"class"
1860 public Keyword getClassKeyword_1() { return cClassKeyword_1; } 2066 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
@@ -1865,56 +2071,68 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1865 //ID 2071 //ID
1866 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } 2072 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
1867 2073
1868 //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? 2074 //("extends" supertypes+=[Symbol|QualifiedName] ("," supertypes+=[Symbol|QualifiedName])*)?
1869 public Group getGroup_3() { return cGroup_3; } 2075 public Group getGroup_3() { return cGroup_3; }
1870 2076
1871 //"extends" 2077 //"extends"
1872 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } 2078 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
1873 2079
1874 //superclasses+=[NamedElement|QualifiedName] 2080 //supertypes+=[Symbol|QualifiedName]
1875 public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; } 2081 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
1876 2082
1877 //[NamedElement|QualifiedName] 2083 //[Symbol|QualifiedName]
1878 public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; } 2084 public CrossReference getSupertypesSymbolCrossReference_3_1_0() { return cSupertypesSymbolCrossReference_3_1_0; }
1879 2085
1880 //QualifiedName 2086 //QualifiedName
1881 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; } 2087 public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1; }
1882 2088
1883 //("," superclasses+=[NamedElement|QualifiedName])* 2089 //("," supertypes+=[Symbol|QualifiedName])*
1884 public Group getGroup_3_2() { return cGroup_3_2; } 2090 public Group getGroup_3_2() { return cGroup_3_2; }
1885 2091
1886 //"," 2092 //","
1887 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } 2093 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
1888 2094
1889 //superclasses+=[NamedElement|QualifiedName] 2095 //supertypes+=[Symbol|QualifiedName]
1890 public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; } 2096 public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; }
1891 2097
1892 //[NamedElement|QualifiedName] 2098 //[Symbol|QualifiedName]
1893 public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; } 2099 public CrossReference getSupertypesSymbolCrossReference_3_2_1_0() { return cSupertypesSymbolCrossReference_3_2_1_0; }
1894 2100
1895 //QualifiedName 2101 //QualifiedName
1896 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; } 2102 public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1; }
2103
2104 //("{" fields+=Field* "}" | FULL_STOP)
2105 public Alternatives getAlternatives_4() { return cAlternatives_4; }
2106
2107 //"{" fields+=Field* "}"
2108 public Group getGroup_4_0() { return cGroup_4_0; }
1897 2109
1898 //"{" 2110 //"{"
1899 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } 2111 public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; }
1900 2112
1901 //members+=MemberDefinition* 2113 //fields+=Field*
1902 public Assignment getMembersAssignment_5() { return cMembersAssignment_5; } 2114 public Assignment getFieldsAssignment_4_0_1() { return cFieldsAssignment_4_0_1; }
1903 2115
1904 //MemberDefinition 2116 //Field
1905 public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; } 2117 public RuleCall getFieldsFieldParserRuleCall_4_0_1_0() { return cFieldsFieldParserRuleCall_4_0_1_0; }
1906 2118
1907 //"}" 2119 //"}"
1908 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 2120 public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; }
2121
2122 //FULL_STOP
2123 public RuleCall getFULL_STOPTerminalRuleCall_4_1() { return cFULL_STOPTerminalRuleCall_4_1; }
1909 } 2124 }
1910 public class MemberDefinitionElements extends AbstractParserRuleElementFinder { 2125 public class FieldElements extends AbstractParserRuleElementFinder {
1911 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); 2126 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Field");
1912 private final Group cGroup = (Group)rule.eContents().get(1); 2127 private final Group cGroup = (Group)rule.eContents().get(1);
1913 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2128 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
1914 private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); 2129 private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0);
2130 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0);
2131 private final Assignment cCrossReferenceAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1);
2132 private final Keyword cCrossReferenceRefersKeyword_0_1_0 = (Keyword)cCrossReferenceAssignment_0_1.eContents().get(0);
1915 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 2133 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1916 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 2134 private final CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1917 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 2135 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1);
1918 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); 2136 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
1919 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); 2137 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
1920 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); 2138 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
@@ -1922,33 +2140,42 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1922 private final Group cGroup_4 = (Group)cGroup.eContents().get(4); 2140 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1923 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); 2141 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1924 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); 2142 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1925 private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); 2143 private final CrossReference cOppositeSymbolCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
1926 private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1); 2144 private final RuleCall cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeSymbolCrossReference_4_1_0.eContents().get(1);
1927 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); 2145 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
1928 2146
1929 //MemberDefinition: 2147 //Field:
1930 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 2148 // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity?
1931 // opposite=[NamedElement|QualifiedName])? ";"?; 2149 // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?;
1932 @Override public ParserRule getRule() { return rule; } 2150 @Override public ParserRule getRule() { return rule; }
1933 2151
1934 //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 2152 //(containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? name=ID
1935 //opposite=[NamedElement|QualifiedName])? ";"? 2153 //("opposite" opposite=[Symbol|QualifiedName])? ";"?
1936 public Group getGroup() { return cGroup; } 2154 public Group getGroup() { return cGroup; }
1937 2155
1938 //containment?="contains"? 2156 //(containment?="contains" | crossReference?="refers")?
1939 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2157 public Alternatives getAlternatives_0() { return cAlternatives_0; }
2158
2159 //containment?="contains"
2160 public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; }
1940 2161
1941 //"contains" 2162 //"contains"
1942 public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; } 2163 public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; }
2164
2165 //crossReference?="refers"
2166 public Assignment getCrossReferenceAssignment_0_1() { return cCrossReferenceAssignment_0_1; }
1943 2167
1944 //type=[NamedElement|QualifiedName] 2168 //"refers"
2169 public Keyword getCrossReferenceRefersKeyword_0_1_0() { return cCrossReferenceRefersKeyword_0_1_0; }
2170
2171 //type=[Symbol|QualifiedName]
1945 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 2172 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
1946 2173
1947 //[NamedElement|QualifiedName] 2174 //[Symbol|QualifiedName]
1948 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 2175 public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; }
1949 2176
1950 //QualifiedName 2177 //QualifiedName
1951 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 2178 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
1952 2179
1953 //multiplicity=Multiplicity? 2180 //multiplicity=Multiplicity?
1954 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } 2181 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
@@ -1962,20 +2189,20 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1962 //ID 2189 //ID
1963 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } 2190 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; }
1964 2191
1965 //("opposite" opposite=[NamedElement|QualifiedName])? 2192 //("opposite" opposite=[Symbol|QualifiedName])?
1966 public Group getGroup_4() { return cGroup_4; } 2193 public Group getGroup_4() { return cGroup_4; }
1967 2194
1968 //"opposite" 2195 //"opposite"
1969 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; } 2196 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
1970 2197
1971 //opposite=[NamedElement|QualifiedName] 2198 //opposite=[Symbol|QualifiedName]
1972 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; } 2199 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
1973 2200
1974 //[NamedElement|QualifiedName] 2201 //[Symbol|QualifiedName]
1975 public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; } 2202 public CrossReference getOppositeSymbolCrossReference_4_1_0() { return cOppositeSymbolCrossReference_4_1_0; }
1976 2203
1977 //QualifiedName 2204 //QualifiedName
1978 public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; } 2205 public RuleCall getOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1; }
1979 2206
1980 //";"? 2207 //";"?
1981 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } 2208 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
@@ -1983,19 +2210,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1983 public class MultiplicityElements extends AbstractParserRuleElementFinder { 2210 public class MultiplicityElements extends AbstractParserRuleElementFinder {
1984 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); 2211 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
1985 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2212 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1986 private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 2213 private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1987 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2214 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1988 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 2215 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1989 2216
1990 //Multiplicity: 2217 //Multiplicity:
1991 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; 2218 // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity;
1992 @Override public ParserRule getRule() { return rule; } 2219 @Override public ParserRule getRule() { return rule; }
1993 2220
1994 //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity 2221 //UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity
1995 public Alternatives getAlternatives() { return cAlternatives; } 2222 public Alternatives getAlternatives() { return cAlternatives; }
1996 2223
1997 //ManyMultiplicity 2224 //UnboundedMultiplicity
1998 public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; } 2225 public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; }
1999 2226
2000 //ExactMultiplicity 2227 //ExactMultiplicity
2001 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } 2228 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
@@ -2003,22 +2230,22 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2003 //BoundedMultiplicity 2230 //BoundedMultiplicity
2004 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; } 2231 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; }
2005 } 2232 }
2006 public class ManyMultiplicityElements extends AbstractParserRuleElementFinder { 2233 public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder {
2007 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity"); 2234 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnboundedMultiplicity");
2008 private final Group cGroup = (Group)rule.eContents().get(1); 2235 private final Group cGroup = (Group)rule.eContents().get(1);
2009 private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0); 2236 private final Action cUnboundedMultiplicityAction_0 = (Action)cGroup.eContents().get(0);
2010 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 2237 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
2011 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2238 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
2012 2239
2013 //ManyMultiplicity: 2240 //UnboundedMultiplicity:
2014 // {ManyMultiplicity} "[" "]"; 2241 // {UnboundedMultiplicity} "[" "]";
2015 @Override public ParserRule getRule() { return rule; } 2242 @Override public ParserRule getRule() { return rule; }
2016 2243
2017 //{ManyMultiplicity} "[" "]" 2244 //{UnboundedMultiplicity} "[" "]"
2018 public Group getGroup() { return cGroup; } 2245 public Group getGroup() { return cGroup; }
2019 2246
2020 //{ManyMultiplicity} 2247 //{UnboundedMultiplicity}
2021 public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; } 2248 public Action getUnboundedMultiplicityAction_0() { return cUnboundedMultiplicityAction_0; }
2022 2249
2023 //"[" 2250 //"["
2024 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } 2251 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
@@ -2030,25 +2257,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2030 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity"); 2257 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity");
2031 private final Group cGroup = (Group)rule.eContents().get(1); 2258 private final Group cGroup = (Group)rule.eContents().get(1);
2032 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 2259 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
2033 private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1); 2260 private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
2034 private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0); 2261 private final RuleCall cValueUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
2035 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2262 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
2036 2263
2037 //ExactMultiplicity: 2264 //ExactMultiplicity:
2038 // "[" multiplicity=UpperMultiplicty "]"; 2265 // "[" value=UpperMultiplicty "]";
2039 @Override public ParserRule getRule() { return rule; } 2266 @Override public ParserRule getRule() { return rule; }
2040 2267
2041 //"[" multiplicity=UpperMultiplicty "]" 2268 //"[" value=UpperMultiplicty "]"
2042 public Group getGroup() { return cGroup; } 2269 public Group getGroup() { return cGroup; }
2043 2270
2044 //"[" 2271 //"["
2045 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } 2272 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
2046 2273
2047 //multiplicity=UpperMultiplicty 2274 //value=UpperMultiplicty
2048 public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; } 2275 public Assignment getValueAssignment_1() { return cValueAssignment_1; }
2049 2276
2050 //UpperMultiplicty 2277 //UpperMultiplicty
2051 public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; } 2278 public RuleCall getValueUpperMultiplictyParserRuleCall_1_0() { return cValueUpperMultiplictyParserRuleCall_1_0; }
2052 2279
2053 //"]" 2280 //"]"
2054 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } 2281 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
@@ -2059,16 +2286,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2059 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); 2286 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
2060 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); 2287 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
2061 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); 2288 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
2062 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 2289 private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
2063 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); 2290 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
2064 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); 2291 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
2065 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2292 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
2066 2293
2067 //BoundedMultiplicity: 2294 //BoundedMultiplicity:
2068 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; 2295 // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]";
2069 @Override public ParserRule getRule() { return rule; } 2296 @Override public ParserRule getRule() { return rule; }
2070 2297
2071 //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]" 2298 //"[" lowerBound=INT "," upperBound=UpperMultiplicty "]"
2072 public Group getGroup() { return cGroup; } 2299 public Group getGroup() { return cGroup; }
2073 2300
2074 //"[" 2301 //"["
@@ -2080,8 +2307,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2080 //INT 2307 //INT
2081 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; } 2308 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; }
2082 2309
2083 //".." 2310 //","
2084 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } 2311 public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
2085 2312
2086 //upperBound=UpperMultiplicty 2313 //upperBound=UpperMultiplicty
2087 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } 2314 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
@@ -2092,70 +2319,160 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2092 //"]" 2319 //"]"
2093 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } 2320 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
2094 } 2321 }
2095 public class ScopeDefinitionElements extends AbstractParserRuleElementFinder { 2322 public class EnumDeclarationElements extends AbstractParserRuleElementFinder {
2096 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition"); 2323 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumDeclaration");
2324 private final Group cGroup = (Group)rule.eContents().get(1);
2325 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
2326 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
2327 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
2328 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
2329 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
2330 private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
2331 private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1);
2332 private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0);
2333 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0);
2334 private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1);
2335 private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0);
2336 private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1);
2337 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0);
2338 private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2);
2339 private final RuleCall cFULL_STOPTerminalRuleCall_2_1 = (RuleCall)cAlternatives_2.eContents().get(1);
2340
2341 //EnumDeclaration:
2342 // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP);
2343 @Override public ParserRule getRule() { return rule; }
2344
2345 //"enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP)
2346 public Group getGroup() { return cGroup; }
2347
2348 //"enum"
2349 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
2350
2351 //name=ID
2352 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
2353
2354 //ID
2355 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
2356
2357 //("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP)
2358 public Alternatives getAlternatives_2() { return cAlternatives_2; }
2359
2360 //"{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}"
2361 public Group getGroup_2_0() { return cGroup_2_0; }
2362
2363 //"{"
2364 public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; }
2365
2366 //(literals+=EnumLiteral (","? literals+=EnumLiteral)*)?
2367 public Group getGroup_2_0_1() { return cGroup_2_0_1; }
2368
2369 //literals+=EnumLiteral
2370 public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; }
2371
2372 //EnumLiteral
2373 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; }
2374
2375 //(","? literals+=EnumLiteral)*
2376 public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; }
2377
2378 //","?
2379 public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; }
2380
2381 //literals+=EnumLiteral
2382 public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; }
2383
2384 //EnumLiteral
2385 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; }
2386
2387 //"}"
2388 public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; }
2389
2390 //FULL_STOP
2391 public RuleCall getFULL_STOPTerminalRuleCall_2_1() { return cFULL_STOPTerminalRuleCall_2_1; }
2392 }
2393 public class EnumLiteralElements extends AbstractParserRuleElementFinder {
2394 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral");
2395 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
2396 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
2397
2398 //EnumLiteral:
2399 // name=ID;
2400 @Override public ParserRule getRule() { return rule; }
2401
2402 //name=ID
2403 public Assignment getNameAssignment() { return cNameAssignment; }
2404
2405 //ID
2406 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
2407 }
2408 public class ScopeDeclarationElements extends AbstractParserRuleElementFinder {
2409 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDeclaration");
2097 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2410 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2098 private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 2411 private final RuleCall cExactScopeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
2099 private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2412 private final RuleCall cBoundedScopeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
2100 private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 2413 private final RuleCall cLowerBoundedScopeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
2101 2414
2102 //ScopeDefinition: 2415 //ScopeDeclaration:
2103 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; 2416 // ExactScope | BoundedScope | LowerBoundedScope;
2104 @Override public ParserRule getRule() { return rule; } 2417 @Override public ParserRule getRule() { return rule; }
2105 2418
2106 //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition 2419 //ExactScope | BoundedScope | LowerBoundedScope
2107 public Alternatives getAlternatives() { return cAlternatives; } 2420 public Alternatives getAlternatives() { return cAlternatives; }
2108 2421
2109 //ExactScopeDefinition 2422 //ExactScope
2110 public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; } 2423 public RuleCall getExactScopeParserRuleCall_0() { return cExactScopeParserRuleCall_0; }
2111 2424
2112 //BoundedScopeDefinition 2425 //BoundedScope
2113 public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; } 2426 public RuleCall getBoundedScopeParserRuleCall_1() { return cBoundedScopeParserRuleCall_1; }
2114 2427
2115 //LowerBoundedScopeDefinition 2428 //LowerBoundedScope
2116 public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; } 2429 public RuleCall getLowerBoundedScopeParserRuleCall_2() { return cLowerBoundedScopeParserRuleCall_2; }
2117 } 2430 }
2118 public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder { 2431 public class ExactScopeElements extends AbstractParserRuleElementFinder {
2119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition"); 2432 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScope");
2120 private final Group cGroup = (Group)rule.eContents().get(1); 2433 private final Group cGroup = (Group)rule.eContents().get(1);
2121 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2434 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2122 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 2435 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
2123 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); 2436 private final CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
2124 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); 2437 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1);
2125 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 2438 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
2126 private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3); 2439 private final Assignment cSizeAssignment_3 = (Assignment)cGroup.eContents().get(3);
2127 private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0); 2440 private final RuleCall cSizeINTTerminalRuleCall_3_0 = (RuleCall)cSizeAssignment_3.eContents().get(0);
2441 private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
2128 2442
2129 //ExactScopeDefinition: 2443 //ExactScope:
2130 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; 2444 // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP;
2131 @Override public ParserRule getRule() { return rule; } 2445 @Override public ParserRule getRule() { return rule; }
2132 2446
2133 //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT 2447 //"scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP
2134 public Group getGroup() { return cGroup; } 2448 public Group getGroup() { return cGroup; }
2135 2449
2136 //"scope" 2450 //"scope"
2137 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2451 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2138 2452
2139 //type=[NamedElement|QualifiedName] 2453 //type=[Symbol|QualifiedName]
2140 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 2454 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
2141 2455
2142 //[NamedElement|QualifiedName] 2456 //[Symbol|QualifiedName]
2143 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } 2457 public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; }
2144 2458
2145 //QualifiedName 2459 //QualifiedName
2146 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } 2460 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; }
2147 2461
2148 //"==" 2462 //"=="
2149 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; } 2463 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; }
2150 2464
2151 //exactScope=INT 2465 //size=INT
2152 public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; } 2466 public Assignment getSizeAssignment_3() { return cSizeAssignment_3; }
2153 2467
2154 //INT 2468 //INT
2155 public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; } 2469 public RuleCall getSizeINTTerminalRuleCall_3_0() { return cSizeINTTerminalRuleCall_3_0; }
2470
2471 //FULL_STOP
2472 public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; }
2156 } 2473 }
2157 public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { 2474 public class BoundedScopeElements extends AbstractParserRuleElementFinder {
2158 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition"); 2475 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScope");
2159 private final Group cGroup = (Group)rule.eContents().get(1); 2476 private final Group cGroup = (Group)rule.eContents().get(1);
2160 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2477 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2161 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 2478 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
@@ -2165,8 +2482,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2165 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0); 2482 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0);
2166 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1); 2483 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
2167 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1); 2484 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
2168 private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0); 2485 private final CrossReference cTypeSymbolCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0);
2169 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1); 2486 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_1_0.eContents().get(1);
2170 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); 2487 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
2171 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); 2488 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
2172 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0); 2489 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0);
@@ -2175,30 +2492,31 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2175 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0); 2492 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0);
2176 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 2493 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
2177 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 2494 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
2178 private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0); 2495 private final CrossReference cTypeSymbolCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0);
2179 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1); 2496 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_2_0.eContents().get(1);
2180 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3); 2497 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3);
2181 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0); 2498 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0);
2182 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1); 2499 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1);
2183 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0); 2500 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0);
2501 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2184 2502
2185 //BoundedScopeDefinition: 2503 //BoundedScope:
2186 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2504 // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2187 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); 2505 // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP;
2188 @Override public ParserRule getRule() { return rule; } 2506 @Override public ParserRule getRule() { return rule; }
2189 2507
2190 //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2508 //"scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2191 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) 2509 //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP
2192 public Group getGroup() { return cGroup; } 2510 public Group getGroup() { return cGroup; }
2193 2511
2194 //"scope" 2512 //"scope"
2195 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2513 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2196 2514
2197 //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 2515 //((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
2198 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) 2516 //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?)
2199 public Alternatives getAlternatives_1() { return cAlternatives_1; } 2517 public Alternatives getAlternatives_1() { return cAlternatives_1; }
2200 2518
2201 //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT 2519 //(lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT
2202 public Group getGroup_1_0() { return cGroup_1_0; } 2520 public Group getGroup_1_0() { return cGroup_1_0; }
2203 2521
2204 //(lowerBound=INT "<=")? 2522 //(lowerBound=INT "<=")?
@@ -2213,14 +2531,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2213 //"<=" 2531 //"<="
2214 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; } 2532 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; }
2215 2533
2216 //type=[NamedElement|QualifiedName] 2534 //type=[Symbol|QualifiedName]
2217 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; } 2535 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; }
2218 2536
2219 //[NamedElement|QualifiedName] 2537 //[Symbol|QualifiedName]
2220 public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; } 2538 public CrossReference getTypeSymbolCrossReference_1_0_1_0() { return cTypeSymbolCrossReference_1_0_1_0; }
2221 2539
2222 //QualifiedName 2540 //QualifiedName
2223 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; } 2541 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1; }
2224 2542
2225 //"<=" 2543 //"<="
2226 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; } 2544 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; }
@@ -2231,7 +2549,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2231 //INT 2549 //INT
2232 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; } 2550 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; }
2233 2551
2234 //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? 2552 //upperBound=INT ">=" type=[Symbol|QualifiedName] (">=" lowerBound=INT)?
2235 public Group getGroup_1_1() { return cGroup_1_1; } 2553 public Group getGroup_1_1() { return cGroup_1_1; }
2236 2554
2237 //upperBound=INT 2555 //upperBound=INT
@@ -2243,14 +2561,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2243 //">=" 2561 //">="
2244 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } 2562 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
2245 2563
2246 //type=[NamedElement|QualifiedName] 2564 //type=[Symbol|QualifiedName]
2247 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; } 2565 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; }
2248 2566
2249 //[NamedElement|QualifiedName] 2567 //[Symbol|QualifiedName]
2250 public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; } 2568 public CrossReference getTypeSymbolCrossReference_1_1_2_0() { return cTypeSymbolCrossReference_1_1_2_0; }
2251 2569
2252 //QualifiedName 2570 //QualifiedName
2253 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; } 2571 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1; }
2254 2572
2255 //(">=" lowerBound=INT)? 2573 //(">=" lowerBound=INT)?
2256 public Group getGroup_1_1_3() { return cGroup_1_1_3; } 2574 public Group getGroup_1_1_3() { return cGroup_1_1_3; }
@@ -2263,9 +2581,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2263 2581
2264 //INT 2582 //INT
2265 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; } 2583 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; }
2584
2585 //FULL_STOP
2586 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2266 } 2587 }
2267 public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { 2588 public class LowerBoundedScopeElements extends AbstractParserRuleElementFinder {
2268 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition"); 2589 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScope");
2269 private final Group cGroup = (Group)rule.eContents().get(1); 2590 private final Group cGroup = (Group)rule.eContents().get(1);
2270 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); 2591 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
2271 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 2592 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
@@ -2274,31 +2595,32 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2274 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0); 2595 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0);
2275 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); 2596 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
2276 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); 2597 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
2277 private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0); 2598 private final CrossReference cTypeSymbolCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0);
2278 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1); 2599 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_2_0.eContents().get(1);
2279 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 2600 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
2280 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); 2601 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
2281 private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0); 2602 private final CrossReference cTypeSymbolCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0);
2282 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1); 2603 private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_0_0.eContents().get(1);
2283 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 2604 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
2284 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); 2605 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
2285 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0); 2606 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0);
2607 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2286 2608
2287 //LowerBoundedScopeDefinition: 2609 //LowerBoundedScope:
2288 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" 2610 // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
2289 // lowerBound=INT); 2611 // FULL_STOP;
2290 @Override public ParserRule getRule() { return rule; } 2612 @Override public ParserRule getRule() { return rule; }
2291 2613
2292 //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) 2614 //"scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) FULL_STOP
2293 public Group getGroup() { return cGroup; } 2615 public Group getGroup() { return cGroup; }
2294 2616
2295 //"scope" 2617 //"scope"
2296 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } 2618 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
2297 2619
2298 //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) 2620 //(lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
2299 public Alternatives getAlternatives_1() { return cAlternatives_1; } 2621 public Alternatives getAlternatives_1() { return cAlternatives_1; }
2300 2622
2301 //lowerBound=INT "<=" type=[NamedElement|QualifiedName] 2623 //lowerBound=INT "<=" type=[Symbol|QualifiedName]
2302 public Group getGroup_1_0() { return cGroup_1_0; } 2624 public Group getGroup_1_0() { return cGroup_1_0; }
2303 2625
2304 //lowerBound=INT 2626 //lowerBound=INT
@@ -2310,26 +2632,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2310 //"<=" 2632 //"<="
2311 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; } 2633 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; }
2312 2634
2313 //type=[NamedElement|QualifiedName] 2635 //type=[Symbol|QualifiedName]
2314 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; } 2636 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; }
2315 2637
2316 //[NamedElement|QualifiedName] 2638 //[Symbol|QualifiedName]
2317 public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; } 2639 public CrossReference getTypeSymbolCrossReference_1_0_2_0() { return cTypeSymbolCrossReference_1_0_2_0; }
2318 2640
2319 //QualifiedName 2641 //QualifiedName
2320 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; } 2642 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1; }
2321 2643
2322 //type=[NamedElement|QualifiedName] ">=" lowerBound=INT 2644 //type=[Symbol|QualifiedName] ">=" lowerBound=INT
2323 public Group getGroup_1_1() { return cGroup_1_1; } 2645 public Group getGroup_1_1() { return cGroup_1_1; }
2324 2646
2325 //type=[NamedElement|QualifiedName] 2647 //type=[Symbol|QualifiedName]
2326 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; } 2648 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; }
2327 2649
2328 //[NamedElement|QualifiedName] 2650 //[Symbol|QualifiedName]
2329 public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; } 2651 public CrossReference getTypeSymbolCrossReference_1_1_0_0() { return cTypeSymbolCrossReference_1_1_0_0; }
2330 2652
2331 //QualifiedName 2653 //QualifiedName
2332 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; } 2654 public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1; }
2333 2655
2334 //">=" 2656 //">="
2335 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } 2657 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
@@ -2339,20 +2661,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2339 2661
2340 //INT 2662 //INT
2341 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; } 2663 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; }
2664
2665 //FULL_STOP
2666 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2342 } 2667 }
2343 public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder { 2668 public class ObjectiveDeclarationElements extends AbstractParserRuleElementFinder {
2344 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition"); 2669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDeclaration");
2345 private final Group cGroup = (Group)rule.eContents().get(1); 2670 private final Group cGroup = (Group)rule.eContents().get(1);
2346 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0); 2671 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
2347 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0); 2672 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
2348 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1); 2673 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1);
2349 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0); 2674 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0);
2675 private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2350 2676
2351 //ObjectiveDefinition: 2677 //ObjectiveDeclaration:
2352 // kind=ObjectiveKind objective=Expression; 2678 // kind=ObjectiveKind objective=Expression FULL_STOP;
2353 @Override public ParserRule getRule() { return rule; } 2679 @Override public ParserRule getRule() { return rule; }
2354 2680
2355 //kind=ObjectiveKind objective=Expression 2681 //kind=ObjectiveKind objective=Expression FULL_STOP
2356 public Group getGroup() { return cGroup; } 2682 public Group getGroup() { return cGroup; }
2357 2683
2358 //kind=ObjectiveKind 2684 //kind=ObjectiveKind
@@ -2366,6 +2692,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2366 2692
2367 //Expression 2693 //Expression
2368 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; } 2694 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; }
2695
2696 //FULL_STOP
2697 public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; }
2369 } 2698 }
2370 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder { 2699 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder {
2371 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); 2700 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
@@ -2390,116 +2719,155 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2390 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real"); 2719 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real");
2391 private final Group cGroup = (Group)rule.eContents().get(1); 2720 private final Group cGroup = (Group)rule.eContents().get(1);
2392 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 2721 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
2393 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 2722 private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
2394 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); 2723 private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
2395 private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
2396 2724
2397 //Real ecore::EBigDecimal hidden(): 2725 //Real ecore::EBigDecimal hidden():
2398 // INT ("." INT)?; 2726 // INT "." INT;
2399 @Override public ParserRule getRule() { return rule; } 2727 @Override public ParserRule getRule() { return rule; }
2400 2728
2401 //INT ("." INT)? 2729 //INT "." INT
2402 public Group getGroup() { return cGroup; } 2730 public Group getGroup() { return cGroup; }
2403 2731
2404 //INT 2732 //INT
2405 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } 2733 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
2406 2734
2407 //("." INT)?
2408 public Group getGroup_1() { return cGroup_1; }
2409
2410 //"." 2735 //"."
2411 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } 2736 public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
2412 2737
2413 //INT 2738 //INT
2414 public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; } 2739 public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
2415 } 2740 }
2416 public class QualifiedNameElements extends AbstractParserRuleElementFinder { 2741 public class QualifiedNameSegmentElements extends AbstractParserRuleElementFinder {
2417 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); 2742 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedNameSegment");
2418 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2743 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2419 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 2744 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
2420 private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
2421 private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1);
2422 private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0);
2423 private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1);
2424 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2745 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
2746 private final Keyword cObjectKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
2425 2747
2426 //QualifiedName hidden(): 2748 //QualifiedNameSegment:
2427 // ID ("." ID)* | QUOTED_ID; 2749 // ID | QUOTED_ID | "object";
2428 @Override public ParserRule getRule() { return rule; } 2750 @Override public ParserRule getRule() { return rule; }
2429 2751
2430 //ID ("." ID)* | QUOTED_ID 2752 //ID | QUOTED_ID | "object"
2431 public Alternatives getAlternatives() { return cAlternatives; } 2753 public Alternatives getAlternatives() { return cAlternatives; }
2432 2754
2433 //ID ("." ID)*
2434 public Group getGroup_0() { return cGroup_0; }
2435
2436 //ID 2755 //ID
2437 public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; } 2756 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
2438 2757
2439 //("." ID)* 2758 //QUOTED_ID
2440 public Group getGroup_0_1() { return cGroup_0_1; } 2759 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
2441 2760
2442 //"." 2761 //"object"
2443 public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; } 2762 public Keyword getObjectKeyword_2() { return cObjectKeyword_2; }
2763 }
2764 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
2765 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
2766 private final Group cGroup = (Group)rule.eContents().get(1);
2767 private final RuleCall cQualifiedNameSegmentParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
2768 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
2769 private final Keyword cColonColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
2770 private final RuleCall cQualifiedNameSegmentParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
2444 2771
2445 //ID 2772 //QualifiedName hidden():
2446 public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; } 2773 // QualifiedNameSegment ("::" QualifiedNameSegment)*;
2774 @Override public ParserRule getRule() { return rule; }
2447 2775
2448 //QUOTED_ID 2776 //QualifiedNameSegment ("::" QualifiedNameSegment)*
2449 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } 2777 public Group getGroup() { return cGroup; }
2778
2779 //QualifiedNameSegment
2780 public RuleCall getQualifiedNameSegmentParserRuleCall_0() { return cQualifiedNameSegmentParserRuleCall_0; }
2781
2782 //("::" QualifiedNameSegment)*
2783 public Group getGroup_1() { return cGroup_1; }
2784
2785 //"::"
2786 public Keyword getColonColonKeyword_1_0() { return cColonColonKeyword_1_0; }
2787
2788 //QualifiedNameSegment
2789 public RuleCall getQualifiedNameSegmentParserRuleCall_1_1() { return cQualifiedNameSegmentParserRuleCall_1_1; }
2450 } 2790 }
2451 2791
2452 public class ImplicationOperatorElements extends AbstractEnumRuleElementFinder { 2792 public class AttributeKindElements extends AbstractEnumRuleElementFinder {
2453 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); 2793 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind");
2454 private final EnumLiteralDeclaration cIMPLIESEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1); 2794 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2455 private final Keyword cIMPLIESEqualsSignGreaterThanSignKeyword_0 = (Keyword)cIMPLIESEnumLiteralDeclaration.eContents().get(0); 2795 private final EnumLiteralDeclaration cFUNCTIONALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2456 2796 private final Keyword cFUNCTIONALFunctionalKeyword_0_0 = (Keyword)cFUNCTIONALEnumLiteralDeclaration_0.eContents().get(0);
2457 //enum ImplicationOperator returns BinaryOperator: 2797 private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2458 // IMPLIES="=>"; 2798 private final Keyword cERRORErrorKeyword_1_0 = (Keyword)cERROREnumLiteralDeclaration_1.eContents().get(0);
2799 private final EnumLiteralDeclaration cROOTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2800 private final Keyword cROOTRootKeyword_2_0 = (Keyword)cROOTEnumLiteralDeclaration_2.eContents().get(0);
2801 private final EnumLiteralDeclaration cCONTAINMENTEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2802 private final Keyword cCONTAINMENTContainmentKeyword_3_0 = (Keyword)cCONTAINMENTEnumLiteralDeclaration_3.eContents().get(0);
2803
2804 //enum AttributeKind:
2805 // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment";
2459 public EnumRule getRule() { return rule; } 2806 public EnumRule getRule() { return rule; }
2460 2807
2461 //IMPLIES="=>" 2808 //FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment"
2462 public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; } 2809 public Alternatives getAlternatives() { return cAlternatives; }
2463 2810
2464 //"=>" 2811 //FUNCTIONAL="functional"
2465 public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; } 2812 public EnumLiteralDeclaration getFUNCTIONALEnumLiteralDeclaration_0() { return cFUNCTIONALEnumLiteralDeclaration_0; }
2813
2814 //"functional"
2815 public Keyword getFUNCTIONALFunctionalKeyword_0_0() { return cFUNCTIONALFunctionalKeyword_0_0; }
2816
2817 //ERROR="error"
2818 public EnumLiteralDeclaration getERROREnumLiteralDeclaration_1() { return cERROREnumLiteralDeclaration_1; }
2819
2820 //"error"
2821 public Keyword getERRORErrorKeyword_1_0() { return cERRORErrorKeyword_1_0; }
2822
2823 //ROOT="root"
2824 public EnumLiteralDeclaration getROOTEnumLiteralDeclaration_2() { return cROOTEnumLiteralDeclaration_2; }
2825
2826 //"root"
2827 public Keyword getROOTRootKeyword_2_0() { return cROOTRootKeyword_2_0; }
2828
2829 //CONTAINMENT="containment"
2830 public EnumLiteralDeclaration getCONTAINMENTEnumLiteralDeclaration_3() { return cCONTAINMENTEnumLiteralDeclaration_3; }
2831
2832 //"containment"
2833 public Keyword getCONTAINMENTContainmentKeyword_3_0() { return cCONTAINMENTContainmentKeyword_3_0; }
2466 } 2834 }
2467 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { 2835 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
2468 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); 2836 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
2469 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2837 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2470 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2838 private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2471 private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0); 2839 private final Keyword cEQUALSEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQUALSEnumLiteralDeclaration_0.eContents().get(0);
2472 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2840 private final EnumLiteralDeclaration cNOT_EQUALSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2473 private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0); 2841 private final Keyword cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQUALSEnumLiteralDeclaration_1.eContents().get(0);
2474 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2842 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2475 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0); 2843 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2476 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2844 private final EnumLiteralDeclaration cLESS_EQUALSEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2477 private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0); 2845 private final Keyword cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQUALSEnumLiteralDeclaration_3.eContents().get(0);
2478 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2846 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2479 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0); 2847 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2480 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); 2848 private final EnumLiteralDeclaration cGREATER_EQUALSEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2481 private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0); 2849 private final Keyword cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQUALSEnumLiteralDeclaration_5.eContents().get(0);
2482 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); 2850 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2483 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0); 2851 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2484 2852
2485 //enum ComparisonOperator returns BinaryOperator: 2853 //enum ComparisonOperator returns BinaryOperator:
2486 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 2854 // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in";
2487 public EnumRule getRule() { return rule; } 2855 public EnumRule getRule() { return rule; }
2488 2856
2489 //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in" 2857 //EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in"
2490 public Alternatives getAlternatives() { return cAlternatives; } 2858 public Alternatives getAlternatives() { return cAlternatives; }
2491 2859
2492 //EQ="==" 2860 //EQUALS="=="
2493 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } 2861 public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_0() { return cEQUALSEnumLiteralDeclaration_0; }
2494 2862
2495 //"==" 2863 //"=="
2496 public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; } 2864 public Keyword getEQUALSEqualsSignEqualsSignKeyword_0_0() { return cEQUALSEqualsSignEqualsSignKeyword_0_0; }
2497 2865
2498 //NOT_EQ="!=" 2866 //NOT_EQUALS="!="
2499 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } 2867 public EnumLiteralDeclaration getNOT_EQUALSEnumLiteralDeclaration_1() { return cNOT_EQUALSEnumLiteralDeclaration_1; }
2500 2868
2501 //"!=" 2869 //"!="
2502 public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; } 2870 public Keyword getNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0; }
2503 2871
2504 //LESS="<" 2872 //LESS="<"
2505 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } 2873 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
@@ -2507,11 +2875,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2507 //"<" 2875 //"<"
2508 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; } 2876 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; }
2509 2877
2510 //LESS_EQ="<=" 2878 //LESS_EQUALS="<="
2511 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } 2879 public EnumLiteralDeclaration getLESS_EQUALSEnumLiteralDeclaration_3() { return cLESS_EQUALSEnumLiteralDeclaration_3; }
2512 2880
2513 //"<=" 2881 //"<="
2514 public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; } 2882 public Keyword getLESS_EQUALSLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0; }
2515 2883
2516 //GREATER=">" 2884 //GREATER=">"
2517 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } 2885 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
@@ -2519,11 +2887,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2519 //">" 2887 //">"
2520 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; } 2888 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; }
2521 2889
2522 //GREATER_EQ=">=" 2890 //GREATER_EQUALS=">="
2523 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } 2891 public EnumLiteralDeclaration getGREATER_EQUALSEnumLiteralDeclaration_5() { return cGREATER_EQUALSEnumLiteralDeclaration_5; }
2524 2892
2525 //">=" 2893 //">="
2526 public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; } 2894 public Keyword getGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0; }
2527 2895
2528 //IN="in" 2896 //IN="in"
2529 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } 2897 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
@@ -2534,56 +2902,56 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2534 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder { 2902 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2535 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); 2903 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
2536 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2904 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2537 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2905 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2538 private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0); 2906 private final Keyword cPLUSPlusSignKeyword_0_0 = (Keyword)cPLUSEnumLiteralDeclaration_0.eContents().get(0);
2539 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2907 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2540 private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0); 2908 private final Keyword cMINUSHyphenMinusKeyword_1_0 = (Keyword)cMINUSEnumLiteralDeclaration_1.eContents().get(0);
2541 2909
2542 //enum AdditiveBinaryOperator returns BinaryOperator: 2910 //enum AdditiveBinaryOperator returns BinaryOperator:
2543 // ADD="+" | SUB="-"; 2911 // PLUS="+" | MINUS="-";
2544 public EnumRule getRule() { return rule; } 2912 public EnumRule getRule() { return rule; }
2545 2913
2546 //ADD="+" | SUB="-" 2914 //PLUS="+" | MINUS="-"
2547 public Alternatives getAlternatives() { return cAlternatives; } 2915 public Alternatives getAlternatives() { return cAlternatives; }
2548 2916
2549 //ADD="+" 2917 //PLUS="+"
2550 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; } 2918 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_0() { return cPLUSEnumLiteralDeclaration_0; }
2551 2919
2552 //"+" 2920 //"+"
2553 public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; } 2921 public Keyword getPLUSPlusSignKeyword_0_0() { return cPLUSPlusSignKeyword_0_0; }
2554 2922
2555 //SUB="-" 2923 //MINUS="-"
2556 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; } 2924 public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_1() { return cMINUSEnumLiteralDeclaration_1; }
2557 2925
2558 //"-" 2926 //"-"
2559 public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; } 2927 public Keyword getMINUSHyphenMinusKeyword_1_0() { return cMINUSHyphenMinusKeyword_1_0; }
2560 } 2928 }
2561 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder { 2929 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2562 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); 2930 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
2563 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2931 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2564 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2932 private final EnumLiteralDeclaration cMULTIPLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2565 private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0); 2933 private final Keyword cMULTIPLYAsteriskKeyword_0_0 = (Keyword)cMULTIPLYEnumLiteralDeclaration_0.eContents().get(0);
2566 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2934 private final EnumLiteralDeclaration cDIVIDEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2567 private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0); 2935 private final Keyword cDIVIDESolidusKeyword_1_0 = (Keyword)cDIVIDEEnumLiteralDeclaration_1.eContents().get(0);
2568 2936
2569 //enum MultiplicativeBinaryOperator returns BinaryOperator: 2937 //enum MultiplicativeBinaryOperator returns BinaryOperator:
2570 // MUL="*" | DIV="/"; 2938 // MULTIPLY="*" | DIVIDE="/";
2571 public EnumRule getRule() { return rule; } 2939 public EnumRule getRule() { return rule; }
2572 2940
2573 //MUL="*" | DIV="/" 2941 //MULTIPLY="*" | DIVIDE="/"
2574 public Alternatives getAlternatives() { return cAlternatives; } 2942 public Alternatives getAlternatives() { return cAlternatives; }
2575 2943
2576 //MUL="*" 2944 //MULTIPLY="*"
2577 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; } 2945 public EnumLiteralDeclaration getMULTIPLYEnumLiteralDeclaration_0() { return cMULTIPLYEnumLiteralDeclaration_0; }
2578 2946
2579 //"*" 2947 //"*"
2580 public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; } 2948 public Keyword getMULTIPLYAsteriskKeyword_0_0() { return cMULTIPLYAsteriskKeyword_0_0; }
2581 2949
2582 //DIV="/" 2950 //DIVIDE="/"
2583 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; } 2951 public EnumLiteralDeclaration getDIVIDEEnumLiteralDeclaration_1() { return cDIVIDEEnumLiteralDeclaration_1; }
2584 2952
2585 //"/" 2953 //"/"
2586 public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; } 2954 public Keyword getDIVIDESolidusKeyword_1_0() { return cDIVIDESolidusKeyword_1_0; }
2587 } 2955 }
2588 public class ExponentialOpElements extends AbstractEnumRuleElementFinder { 2956 public class ExponentialOpElements extends AbstractEnumRuleElementFinder {
2589 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); 2957 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
@@ -2600,34 +2968,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2600 //"^" 2968 //"^"
2601 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; } 2969 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; }
2602 } 2970 }
2603 public class UnaryOpElements extends AbstractEnumRuleElementFinder { 2971 public class UnaryOperatorElements extends AbstractEnumRuleElementFinder {
2604 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); 2972 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator");
2605 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2973 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2606 private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2974 private final EnumLiteralDeclaration cNOTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2607 private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0); 2975 private final Keyword cNOTExclamationMarkKeyword_0_0 = (Keyword)cNOTEnumLiteralDeclaration_0.eContents().get(0);
2608 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2976 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2609 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0); 2977 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0);
2610 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2978 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2611 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0); 2979 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0);
2612 private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2980 private final EnumLiteralDeclaration cMAYBEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2613 private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0); 2981 private final Keyword cMAYBEQuestionMarkKeyword_3_0 = (Keyword)cMAYBEEnumLiteralDeclaration_3.eContents().get(0);
2614 private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2982
2615 private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0); 2983 //enum UnaryOperator:
2616 private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); 2984 // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?";
2617 private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0);
2618
2619 //enum UnaryOp:
2620 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2621 public EnumRule getRule() { return rule; } 2985 public EnumRule getRule() { return rule; }
2622 2986
2623 //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current" 2987 //NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?"
2624 public Alternatives getAlternatives() { return cAlternatives; } 2988 public Alternatives getAlternatives() { return cAlternatives; }
2625 2989
2626 //NEG="!" 2990 //NOT="!"
2627 public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; } 2991 public EnumLiteralDeclaration getNOTEnumLiteralDeclaration_0() { return cNOTEnumLiteralDeclaration_0; }
2628 2992
2629 //"!" 2993 //"!"
2630 public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; } 2994 public Keyword getNOTExclamationMarkKeyword_0_0() { return cNOTExclamationMarkKeyword_0_0; }
2631 2995
2632 //PLUS="+" 2996 //PLUS="+"
2633 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; } 2997 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; }
@@ -2641,58 +3005,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2641 //"-" 3005 //"-"
2642 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; } 3006 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; }
2643 3007
2644 //MAY="may" 3008 //MAYBE="?"
2645 public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; } 3009 public EnumLiteralDeclaration getMAYBEEnumLiteralDeclaration_3() { return cMAYBEEnumLiteralDeclaration_3; }
2646
2647 //"may"
2648 public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; }
2649
2650 //MUST="must"
2651 public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; }
2652
2653 //"must"
2654 public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; }
2655
2656 //CURRENT="current"
2657 public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; }
2658
2659 //"current"
2660 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
2661 }
2662 public class QuantifierElements extends AbstractEnumRuleElementFinder {
2663 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2664 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2665 private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2666 private final Keyword cEXISTSExistsKeyword_0_0 = (Keyword)cEXISTSEnumLiteralDeclaration_0.eContents().get(0);
2667 private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2668 private final Keyword cFORALLForallKeyword_1_0 = (Keyword)cFORALLEnumLiteralDeclaration_1.eContents().get(0);
2669 private final EnumLiteralDeclaration cCOUNTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2670 private final Keyword cCOUNTCountKeyword_2_0 = (Keyword)cCOUNTEnumLiteralDeclaration_2.eContents().get(0);
2671
2672 //enum Quantifier:
2673 // EXISTS="exists" | FORALL="forall" | COUNT="count";
2674 public EnumRule getRule() { return rule; }
2675
2676 //EXISTS="exists" | FORALL="forall" | COUNT="count"
2677 public Alternatives getAlternatives() { return cAlternatives; }
2678
2679 //EXISTS="exists"
2680 public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; }
2681
2682 //"exists"
2683 public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; }
2684
2685 //FORALL="forall"
2686 public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; }
2687 3010
2688 //"forall" 3011 //"?"
2689 public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; } 3012 public Keyword getMAYBEQuestionMarkKeyword_3_0() { return cMAYBEQuestionMarkKeyword_3_0; }
2690
2691 //COUNT="count"
2692 public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; }
2693
2694 //"count"
2695 public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; }
2696 } 3013 }
2697 public class LogicValueElements extends AbstractEnumRuleElementFinder { 3014 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2698 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); 3015 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
@@ -2740,49 +3057,53 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2740 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder { 3057 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder {
2741 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); 3058 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
2742 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 3059 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2743 private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 3060 private final EnumLiteralDeclaration cMINIMIZATIONEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2744 private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0); 3061 private final Keyword cMINIMIZATIONMinimizeKeyword_0_0 = (Keyword)cMINIMIZATIONEnumLiteralDeclaration_0.eContents().get(0);
2745 private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 3062 private final EnumLiteralDeclaration cMAXIMIZATIONEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2746 private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0); 3063 private final Keyword cMAXIMIZATIONMaximizeKeyword_1_0 = (Keyword)cMAXIMIZATIONEnumLiteralDeclaration_1.eContents().get(0);
2747 3064
2748 //enum ObjectiveKind: 3065 //enum ObjectiveKind:
2749 // MINIMIZE="minimize" | MAXIMIZE="maximize"; 3066 // MINIMIZATION="minimize" | MAXIMIZATION="maximize";
2750 public EnumRule getRule() { return rule; } 3067 public EnumRule getRule() { return rule; }
2751 3068
2752 //MINIMIZE="minimize" | MAXIMIZE="maximize" 3069 //MINIMIZATION="minimize" | MAXIMIZATION="maximize"
2753 public Alternatives getAlternatives() { return cAlternatives; } 3070 public Alternatives getAlternatives() { return cAlternatives; }
2754 3071
2755 //MINIMIZE="minimize" 3072 //MINIMIZATION="minimize"
2756 public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; } 3073 public EnumLiteralDeclaration getMINIMIZATIONEnumLiteralDeclaration_0() { return cMINIMIZATIONEnumLiteralDeclaration_0; }
2757 3074
2758 //"minimize" 3075 //"minimize"
2759 public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; } 3076 public Keyword getMINIMIZATIONMinimizeKeyword_0_0() { return cMINIMIZATIONMinimizeKeyword_0_0; }
2760 3077
2761 //MAXIMIZE="maximize" 3078 //MAXIMIZATION="maximize"
2762 public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; } 3079 public EnumLiteralDeclaration getMAXIMIZATIONEnumLiteralDeclaration_1() { return cMAXIMIZATIONEnumLiteralDeclaration_1; }
2763 3080
2764 //"maximize" 3081 //"maximize"
2765 public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; } 3082 public Keyword getMAXIMIZATIONMaximizeKeyword_1_0() { return cMAXIMIZATIONMaximizeKeyword_1_0; }
2766 } 3083 }
2767 3084
2768 private final ProblemElements pProblem; 3085 private final ProblemElements pProblem;
2769 private final StatementElements pStatement; 3086 private final StatementElements pStatement;
3087 private final ImportElements pImport;
3088 private final UriImportElements pUriImport;
3089 private final NamespaceImportElements pNamespaceImport;
2770 private final AssertionOrDefinitionElements pAssertionOrDefinition; 3090 private final AssertionOrDefinitionElements pAssertionOrDefinition;
2771 private final PredicateDefinitionElements pPredicateDefinition; 3091 private final PredicateDefinitionElements pPredicateDefinition;
2772 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; 3092 private final UnnamedErrorPredicateDefintionElements pUnnamedErrorPredicateDefintion;
2773 private final DefaultDefinitionElements pDefaultDefinition; 3093 private final DefaultAssertionElements pDefaultAssertion;
2774 private final MetricDefinitionElements pMetricDefinition; 3094 private final FunctionDefinitionElements pFunctionDefinition;
2775 private final ExternPredicateDefinitionElements pExternPredicateDefinition; 3095 private final TypeReferenceElements pTypeReference;
2776 private final ExternMetricDefinitionElements pExternMetricDefinition; 3096 private final AttributeKindElements eAttributeKind;
2777 private final ExternAggregatorDefinitionElements pExternAggregatorDefinition; 3097 private final AttributeElements pAttribute;
2778 private final ExternDatatypeDefinitionElements pExternDatatypeDefinition; 3098 private final ExternDeclarationElements pExternDeclaration;
2779 private final VariableElements pVariable; 3099 private final ExternPredicateDeclarationElements pExternPredicateDeclaration;
3100 private final ExternFunctionDeclarationElements pExternFunctionDeclaration;
3101 private final ExternAggregationOperatorDeclarationElements pExternAggregationOperatorDeclaration;
3102 private final ExternDatatypeDeclarationElements pExternDatatypeDeclaration;
2780 private final ExpressionElements pExpression; 3103 private final ExpressionElements pExpression;
2781 private final IfElseElements pIfElse; 3104 private final ConditionalExpressionElements pConditionalExpression;
2782 private final LetElements pLet; 3105 private final LetExpressionElements pLetExpression;
2783 private final LetBindingElements pLetBinding; 3106 private final LetBindingElements pLetBinding;
2784 private final ImplicationOperatorElements eImplicationOperator;
2785 private final ImplicationExpressionElements pImplicationExpression;
2786 private final DisjunctiveExpressionElements pDisjunctiveExpression; 3107 private final DisjunctiveExpressionElements pDisjunctiveExpression;
2787 private final CaseElements pCase; 3108 private final CaseElements pCase;
2788 private final ConjunctiveExpressionElements pConjunctiveExpression; 3109 private final ConjunctiveExpressionElements pConjunctiveExpression;
@@ -2795,44 +3116,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2795 private final ExponentialOpElements eExponentialOp; 3116 private final ExponentialOpElements eExponentialOp;
2796 private final ExponentialExpressionElements pExponentialExpression; 3117 private final ExponentialExpressionElements pExponentialExpression;
2797 private final CastExpressionElements pCastExpression; 3118 private final CastExpressionElements pCastExpression;
2798 private final UnaryOpElements eUnaryOp; 3119 private final UnaryOperatorElements eUnaryOperator;
2799 private final UnaryExpressionElements pUnaryExpression; 3120 private final UnaryExpressionElements pUnaryExpression;
2800 private final AggregationExpressionElements pAggregationExpression; 3121 private final BracedAggregateExpressionElements pBracedAggregateExpression;
2801 private final LocalVariablesElements pLocalVariables;
2802 private final QuantifierElements eQuantifier;
2803 private final QuantifiedExpressionElements pQuantifiedExpression;
2804 private final AggregationElements pAggregation; 3122 private final AggregationElements pAggregation;
3123 private final CountElements pCount;
2805 private final AtomicExpressionElements pAtomicExpression; 3124 private final AtomicExpressionElements pAtomicExpression;
2806 private final CallElements pCall; 3125 private final CallElements pCall;
2807 private final ArgumentListElements pArgumentList; 3126 private final ArgumentListElements pArgumentList;
2808 private final ArgumentElements pArgument; 3127 private final ArgumentElements pArgument;
2809 private final ExpressionArgumentElements pExpressionArgument; 3128 private final ExpressionArgumentElements pExpressionArgument;
2810 private final StarArgumentElements pStarArgument; 3129 private final StarArgumentElements pStarArgument;
2811 private final TypedArgumentElements pTypedArgument; 3130 private final TypedVariableArgumentElements pTypedVariableArgument;
2812 private final TypedStarArgumentElements pTypedStarArgument; 3131 private final TypedStarArgumentElements pTypedStarArgument;
2813 private final ReferenceElements pReference; 3132 private final ReferenceElements pReference;
3133 private final PathComponentElements pPathComponent;
2814 private final IntervalElements pInterval; 3134 private final IntervalElements pInterval;
2815 private final LiteralElements pLiteral; 3135 private final LiteralElements pLiteral;
2816 private final LogicValueElements eLogicValue; 3136 private final LogicValueElements eLogicValue;
2817 private final LogicLiteralElements pLogicLiteral; 3137 private final LogicLiteralElements pLogicLiteral;
2818 private final NumericLiteralElements pNumericLiteral; 3138 private final IntLiteralElements pIntLiteral;
3139 private final RealLiteralElements pRealLiteral;
2819 private final InfinityLiteralElements pInfinityLiteral; 3140 private final InfinityLiteralElements pInfinityLiteral;
2820 private final EmptyIntervalLiteralElements pEmptyIntervalLiteral; 3141 private final EmptyLiteralElements pEmptyLiteral;
2821 private final StringLiteralElements pStringLiteral; 3142 private final StringLiteralElements pStringLiteral;
2822 private final ClassDefinitionElements pClassDefinition; 3143 private final ClassDeclarationElements pClassDeclaration;
2823 private final MemberDefinitionElements pMemberDefinition; 3144 private final FieldElements pField;
2824 private final MultiplicityElements pMultiplicity; 3145 private final MultiplicityElements pMultiplicity;
2825 private final ManyMultiplicityElements pManyMultiplicity; 3146 private final UnboundedMultiplicityElements pUnboundedMultiplicity;
2826 private final ExactMultiplicityElements pExactMultiplicity; 3147 private final ExactMultiplicityElements pExactMultiplicity;
2827 private final BoundedMultiplicityElements pBoundedMultiplicity; 3148 private final BoundedMultiplicityElements pBoundedMultiplicity;
2828 private final ScopeDefinitionElements pScopeDefinition; 3149 private final EnumDeclarationElements pEnumDeclaration;
2829 private final ExactScopeDefinitionElements pExactScopeDefinition; 3150 private final EnumLiteralElements pEnumLiteral;
2830 private final BoundedScopeDefinitionElements pBoundedScopeDefinition; 3151 private final ScopeDeclarationElements pScopeDeclaration;
2831 private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition; 3152 private final ExactScopeElements pExactScope;
3153 private final BoundedScopeElements pBoundedScope;
3154 private final LowerBoundedScopeElements pLowerBoundedScope;
2832 private final ObjectiveKindElements eObjectiveKind; 3155 private final ObjectiveKindElements eObjectiveKind;
2833 private final ObjectiveDefinitionElements pObjectiveDefinition; 3156 private final ObjectiveDeclarationElements pObjectiveDeclaration;
2834 private final UpperMultiplictyElements pUpperMultiplicty; 3157 private final UpperMultiplictyElements pUpperMultiplicty;
2835 private final RealElements pReal; 3158 private final RealElements pReal;
3159 private final QualifiedNameSegmentElements pQualifiedNameSegment;
2836 private final QualifiedNameElements pQualifiedName; 3160 private final QualifiedNameElements pQualifiedName;
2837 private final TerminalRule tSTRING; 3161 private final TerminalRule tSTRING;
2838 private final TerminalRule tQUOTED_ID; 3162 private final TerminalRule tQUOTED_ID;
@@ -2852,22 +3176,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2852 this.gaTerminals = gaTerminals; 3176 this.gaTerminals = gaTerminals;
2853 this.pProblem = new ProblemElements(); 3177 this.pProblem = new ProblemElements();
2854 this.pStatement = new StatementElements(); 3178 this.pStatement = new StatementElements();
3179 this.pImport = new ImportElements();
3180 this.pUriImport = new UriImportElements();
3181 this.pNamespaceImport = new NamespaceImportElements();
2855 this.pAssertionOrDefinition = new AssertionOrDefinitionElements(); 3182 this.pAssertionOrDefinition = new AssertionOrDefinitionElements();
2856 this.pPredicateDefinition = new PredicateDefinitionElements(); 3183 this.pPredicateDefinition = new PredicateDefinitionElements();
2857 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); 3184 this.pUnnamedErrorPredicateDefintion = new UnnamedErrorPredicateDefintionElements();
2858 this.pDefaultDefinition = new DefaultDefinitionElements(); 3185 this.pDefaultAssertion = new DefaultAssertionElements();
2859 this.pMetricDefinition = new MetricDefinitionElements(); 3186 this.pFunctionDefinition = new FunctionDefinitionElements();
2860 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements(); 3187 this.pTypeReference = new TypeReferenceElements();
2861 this.pExternMetricDefinition = new ExternMetricDefinitionElements(); 3188 this.eAttributeKind = new AttributeKindElements();
2862 this.pExternAggregatorDefinition = new ExternAggregatorDefinitionElements(); 3189 this.pAttribute = new AttributeElements();
2863 this.pExternDatatypeDefinition = new ExternDatatypeDefinitionElements(); 3190 this.pExternDeclaration = new ExternDeclarationElements();
2864 this.pVariable = new VariableElements(); 3191 this.pExternPredicateDeclaration = new ExternPredicateDeclarationElements();
3192 this.pExternFunctionDeclaration = new ExternFunctionDeclarationElements();
3193 this.pExternAggregationOperatorDeclaration = new ExternAggregationOperatorDeclarationElements();
3194 this.pExternDatatypeDeclaration = new ExternDatatypeDeclarationElements();
2865 this.pExpression = new ExpressionElements(); 3195 this.pExpression = new ExpressionElements();
2866 this.pIfElse = new IfElseElements(); 3196 this.pConditionalExpression = new ConditionalExpressionElements();
2867 this.pLet = new LetElements(); 3197 this.pLetExpression = new LetExpressionElements();
2868 this.pLetBinding = new LetBindingElements(); 3198 this.pLetBinding = new LetBindingElements();
2869 this.eImplicationOperator = new ImplicationOperatorElements();
2870 this.pImplicationExpression = new ImplicationExpressionElements();
2871 this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); 3199 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
2872 this.pCase = new CaseElements(); 3200 this.pCase = new CaseElements();
2873 this.pConjunctiveExpression = new ConjunctiveExpressionElements(); 3201 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
@@ -2880,44 +3208,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2880 this.eExponentialOp = new ExponentialOpElements(); 3208 this.eExponentialOp = new ExponentialOpElements();
2881 this.pExponentialExpression = new ExponentialExpressionElements(); 3209 this.pExponentialExpression = new ExponentialExpressionElements();
2882 this.pCastExpression = new CastExpressionElements(); 3210 this.pCastExpression = new CastExpressionElements();
2883 this.eUnaryOp = new UnaryOpElements(); 3211 this.eUnaryOperator = new UnaryOperatorElements();
2884 this.pUnaryExpression = new UnaryExpressionElements(); 3212 this.pUnaryExpression = new UnaryExpressionElements();
2885 this.pAggregationExpression = new AggregationExpressionElements(); 3213 this.pBracedAggregateExpression = new BracedAggregateExpressionElements();
2886 this.pLocalVariables = new LocalVariablesElements();
2887 this.eQuantifier = new QuantifierElements();
2888 this.pQuantifiedExpression = new QuantifiedExpressionElements();
2889 this.pAggregation = new AggregationElements(); 3214 this.pAggregation = new AggregationElements();
3215 this.pCount = new CountElements();
2890 this.pAtomicExpression = new AtomicExpressionElements(); 3216 this.pAtomicExpression = new AtomicExpressionElements();
2891 this.pCall = new CallElements(); 3217 this.pCall = new CallElements();
2892 this.pArgumentList = new ArgumentListElements(); 3218 this.pArgumentList = new ArgumentListElements();
2893 this.pArgument = new ArgumentElements(); 3219 this.pArgument = new ArgumentElements();
2894 this.pExpressionArgument = new ExpressionArgumentElements(); 3220 this.pExpressionArgument = new ExpressionArgumentElements();
2895 this.pStarArgument = new StarArgumentElements(); 3221 this.pStarArgument = new StarArgumentElements();
2896 this.pTypedArgument = new TypedArgumentElements(); 3222 this.pTypedVariableArgument = new TypedVariableArgumentElements();
2897 this.pTypedStarArgument = new TypedStarArgumentElements(); 3223 this.pTypedStarArgument = new TypedStarArgumentElements();
2898 this.pReference = new ReferenceElements(); 3224 this.pReference = new ReferenceElements();
3225 this.pPathComponent = new PathComponentElements();
2899 this.pInterval = new IntervalElements(); 3226 this.pInterval = new IntervalElements();
2900 this.pLiteral = new LiteralElements(); 3227 this.pLiteral = new LiteralElements();
2901 this.eLogicValue = new LogicValueElements(); 3228 this.eLogicValue = new LogicValueElements();
2902 this.pLogicLiteral = new LogicLiteralElements(); 3229 this.pLogicLiteral = new LogicLiteralElements();
2903 this.pNumericLiteral = new NumericLiteralElements(); 3230 this.pIntLiteral = new IntLiteralElements();
3231 this.pRealLiteral = new RealLiteralElements();
2904 this.pInfinityLiteral = new InfinityLiteralElements(); 3232 this.pInfinityLiteral = new InfinityLiteralElements();
2905 this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements(); 3233 this.pEmptyLiteral = new EmptyLiteralElements();
2906 this.pStringLiteral = new StringLiteralElements(); 3234 this.pStringLiteral = new StringLiteralElements();
2907 this.pClassDefinition = new ClassDefinitionElements(); 3235 this.pClassDeclaration = new ClassDeclarationElements();
2908 this.pMemberDefinition = new MemberDefinitionElements(); 3236 this.pField = new FieldElements();
2909 this.pMultiplicity = new MultiplicityElements(); 3237 this.pMultiplicity = new MultiplicityElements();
2910 this.pManyMultiplicity = new ManyMultiplicityElements(); 3238 this.pUnboundedMultiplicity = new UnboundedMultiplicityElements();
2911 this.pExactMultiplicity = new ExactMultiplicityElements(); 3239 this.pExactMultiplicity = new ExactMultiplicityElements();
2912 this.pBoundedMultiplicity = new BoundedMultiplicityElements(); 3240 this.pBoundedMultiplicity = new BoundedMultiplicityElements();
2913 this.pScopeDefinition = new ScopeDefinitionElements(); 3241 this.pEnumDeclaration = new EnumDeclarationElements();
2914 this.pExactScopeDefinition = new ExactScopeDefinitionElements(); 3242 this.pEnumLiteral = new EnumLiteralElements();
2915 this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements(); 3243 this.pScopeDeclaration = new ScopeDeclarationElements();
2916 this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements(); 3244 this.pExactScope = new ExactScopeElements();
3245 this.pBoundedScope = new BoundedScopeElements();
3246 this.pLowerBoundedScope = new LowerBoundedScopeElements();
2917 this.eObjectiveKind = new ObjectiveKindElements(); 3247 this.eObjectiveKind = new ObjectiveKindElements();
2918 this.pObjectiveDefinition = new ObjectiveDefinitionElements(); 3248 this.pObjectiveDeclaration = new ObjectiveDeclarationElements();
2919 this.pUpperMultiplicty = new UpperMultiplictyElements(); 3249 this.pUpperMultiplicty = new UpperMultiplictyElements();
2920 this.pReal = new RealElements(); 3250 this.pReal = new RealElements();
3251 this.pQualifiedNameSegment = new QualifiedNameSegmentElements();
2921 this.pQualifiedName = new QualifiedNameElements(); 3252 this.pQualifiedName = new QualifiedNameElements();
2922 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); 3253 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
2923 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID"); 3254 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID");
@@ -2955,6 +3286,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2955 3286
2956 3287
2957 //Problem: 3288 //Problem:
3289 // ("problem" name=QualifiedName FULL_STOP)?
3290 // imports+=Import*
2958 // statements+=Statement*; 3291 // statements+=Statement*;
2959 public ProblemElements getProblemAccess() { 3292 public ProblemElements getProblemAccess() {
2960 return pProblem; 3293 return pProblem;
@@ -2965,9 +3298,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2965 } 3298 }
2966 3299
2967 //Statement: 3300 //Statement:
2968 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition 3301 // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition
2969 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 3302 // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration;
2970 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
2971 public StatementElements getStatementAccess() { 3303 public StatementElements getStatementAccess() {
2972 return pStatement; 3304 return pStatement;
2973 } 3305 }
@@ -2976,9 +3308,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2976 return getStatementAccess().getRule(); 3308 return getStatementAccess().getRule();
2977 } 3309 }
2978 3310
3311 //Import:
3312 // UriImport | NamespaceImport;
3313 public ImportElements getImportAccess() {
3314 return pImport;
3315 }
3316
3317 public ParserRule getImportRule() {
3318 return getImportAccess().getRule();
3319 }
3320
3321 //UriImport:
3322 // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP;
3323 public UriImportElements getUriImportAccess() {
3324 return pUriImport;
3325 }
3326
3327 public ParserRule getUriImportRule() {
3328 return getUriImportAccess().getRule();
3329 }
3330
3331 //NamespaceImport:
3332 // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP;
3333 public NamespaceImportElements getNamespaceImportAccess() {
3334 return pNamespaceImport;
3335 }
3336
3337 public ParserRule getNamespaceImportRule() {
3338 return getNamespaceImportAccess().getRule();
3339 }
3340
2979 //AssertionOrDefinition Statement: 3341 //AssertionOrDefinition Statement:
2980 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" 3342 // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
2981 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; 3343 // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP;
2982 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { 3344 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
2983 return pAssertionOrDefinition; 3345 return pAssertionOrDefinition;
2984 } 3346 }
@@ -2988,7 +3350,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2988 } 3350 }
2989 3351
2990 //PredicateDefinition: 3352 //PredicateDefinition:
2991 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 3353 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
3354 // FULL_STOP;
2992 public PredicateDefinitionElements getPredicateDefinitionAccess() { 3355 public PredicateDefinitionElements getPredicateDefinitionAccess() {
2993 return pPredicateDefinition; 3356 return pPredicateDefinition;
2994 } 3357 }
@@ -2997,89 +3360,121 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2997 return getPredicateDefinitionAccess().getRule(); 3360 return getPredicateDefinitionAccess().getRule();
2998 } 3361 }
2999 3362
3000 //UnnamedErrorPrediateDefinition: 3363 //UnnamedErrorPredicateDefintion:
3001 // "error" argumentList=ArgumentList ":-" body=Expression; 3364 // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP;
3002 public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() { 3365 public UnnamedErrorPredicateDefintionElements getUnnamedErrorPredicateDefintionAccess() {
3003 return pUnnamedErrorPrediateDefinition; 3366 return pUnnamedErrorPredicateDefintion;
3367 }
3368
3369 public ParserRule getUnnamedErrorPredicateDefintionRule() {
3370 return getUnnamedErrorPredicateDefintionAccess().getRule();
3371 }
3372
3373 //DefaultAssertion:
3374 // "default" expression=Call (":" range=Expression)? FULL_STOP;
3375 public DefaultAssertionElements getDefaultAssertionAccess() {
3376 return pDefaultAssertion;
3004 } 3377 }
3005 3378
3006 public ParserRule getUnnamedErrorPrediateDefinitionRule() { 3379 public ParserRule getDefaultAssertionRule() {
3007 return getUnnamedErrorPrediateDefinitionAccess().getRule(); 3380 return getDefaultAssertionAccess().getRule();
3008 } 3381 }
3009 3382
3010 //DefaultDefinition: 3383 //FunctionDefinition:
3011 // "default" head=Call ":" range=Expression; 3384 // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP;
3012 public DefaultDefinitionElements getDefaultDefinitionAccess() { 3385 public FunctionDefinitionElements getFunctionDefinitionAccess() {
3013 return pDefaultDefinition; 3386 return pFunctionDefinition;
3014 } 3387 }
3015 3388
3016 public ParserRule getDefaultDefinitionRule() { 3389 public ParserRule getFunctionDefinitionRule() {
3017 return getDefaultDefinitionAccess().getRule(); 3390 return getFunctionDefinitionAccess().getRule();
3018 } 3391 }
3019 3392
3020 //MetricDefinition: 3393 //TypeReference:
3021 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; 3394 // type=[Symbol|QualifiedName] forceObjectType?="object"?;
3022 public MetricDefinitionElements getMetricDefinitionAccess() { 3395 public TypeReferenceElements getTypeReferenceAccess() {
3023 return pMetricDefinition; 3396 return pTypeReference;
3024 } 3397 }
3025 3398
3026 public ParserRule getMetricDefinitionRule() { 3399 public ParserRule getTypeReferenceRule() {
3027 return getMetricDefinitionAccess().getRule(); 3400 return getTypeReferenceAccess().getRule();
3028 } 3401 }
3029 3402
3030 //ExternPredicateDefinition: 3403 //enum AttributeKind:
3031 // "extern" name=QualifiedName argumentList=ArgumentList; 3404 // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment";
3032 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { 3405 public AttributeKindElements getAttributeKindAccess() {
3033 return pExternPredicateDefinition; 3406 return eAttributeKind;
3034 } 3407 }
3035 3408
3036 public ParserRule getExternPredicateDefinitionRule() { 3409 public EnumRule getAttributeKindRule() {
3037 return getExternPredicateDefinitionAccess().getRule(); 3410 return getAttributeKindAccess().getRule();
3038 } 3411 }
3039 3412
3040 //ExternMetricDefinition: 3413 //Attribute:
3041 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; 3414 // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP;
3042 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { 3415 public AttributeElements getAttributeAccess() {
3043 return pExternMetricDefinition; 3416 return pAttribute;
3044 } 3417 }
3045 3418
3046 public ParserRule getExternMetricDefinitionRule() { 3419 public ParserRule getAttributeRule() {
3047 return getExternMetricDefinitionAccess().getRule(); 3420 return getAttributeAccess().getRule();
3048 } 3421 }
3049 3422
3050 //ExternAggregatorDefinition: 3423 //ExternDeclaration:
3051 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; 3424 // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration |
3052 public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() { 3425 // ExternDatatypeDeclaration;
3053 return pExternAggregatorDefinition; 3426 public ExternDeclarationElements getExternDeclarationAccess() {
3427 return pExternDeclaration;
3054 } 3428 }
3055 3429
3056 public ParserRule getExternAggregatorDefinitionRule() { 3430 public ParserRule getExternDeclarationRule() {
3057 return getExternAggregatorDefinitionAccess().getRule(); 3431 return getExternDeclarationAccess().getRule();
3058 } 3432 }
3059 3433
3060 //ExternDatatypeDefinition: 3434 //ExternPredicateDeclaration:
3061 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," 3435 // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP;
3062 // supertypes+=[NamedElement|QualifiedName])*); 3436 public ExternPredicateDeclarationElements getExternPredicateDeclarationAccess() {
3063 public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() { 3437 return pExternPredicateDeclaration;
3064 return pExternDatatypeDefinition;
3065 } 3438 }
3066 3439
3067 public ParserRule getExternDatatypeDefinitionRule() { 3440 public ParserRule getExternPredicateDeclarationRule() {
3068 return getExternDatatypeDefinitionAccess().getRule(); 3441 return getExternPredicateDeclarationAccess().getRule();
3069 } 3442 }
3070 3443
3071 //Variable: 3444 //ExternFunctionDeclaration:
3072 // type=[NamedElement|QualifiedName]? name=ID; 3445 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP;
3073 public VariableElements getVariableAccess() { 3446 public ExternFunctionDeclarationElements getExternFunctionDeclarationAccess() {
3074 return pVariable; 3447 return pExternFunctionDeclaration;
3075 } 3448 }
3076 3449
3077 public ParserRule getVariableRule() { 3450 public ParserRule getExternFunctionDeclarationRule() {
3078 return getVariableAccess().getRule(); 3451 return getExternFunctionDeclarationAccess().getRule();
3452 }
3453
3454 //ExternAggregationOperatorDeclaration:
3455 // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}"
3456 // FULL_STOP;
3457 public ExternAggregationOperatorDeclarationElements getExternAggregationOperatorDeclarationAccess() {
3458 return pExternAggregationOperatorDeclaration;
3459 }
3460
3461 public ParserRule getExternAggregationOperatorDeclarationRule() {
3462 return getExternAggregationOperatorDeclarationAccess().getRule();
3463 }
3464
3465 //ExternDatatypeDeclaration:
3466 // "extern" "datatype" name=QualifiedName FULL_STOP;
3467 public ExternDatatypeDeclarationElements getExternDatatypeDeclarationAccess() {
3468 return pExternDatatypeDeclaration;
3469 }
3470
3471 public ParserRule getExternDatatypeDeclarationRule() {
3472 return getExternDatatypeDeclarationAccess().getRule();
3079 } 3473 }
3080 3474
3081 //Expression: 3475 //Expression:
3082 // IfElse | Let | ImplicationExpression; 3476 // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>"
3477 // body=DisjunctiveExpression)?;
3083 public ExpressionElements getExpressionAccess() { 3478 public ExpressionElements getExpressionAccess() {
3084 return pExpression; 3479 return pExpression;
3085 } 3480 }
@@ -3088,28 +3483,28 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3088 return getExpressionAccess().getRule(); 3483 return getExpressionAccess().getRule();
3089 } 3484 }
3090 3485
3091 //IfElse: 3486 //ConditionalExpression:
3092 // "if" condition=Expression "then" then=Expression "else" else=Expression; 3487 // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression;
3093 public IfElseElements getIfElseAccess() { 3488 public ConditionalExpressionElements getConditionalExpressionAccess() {
3094 return pIfElse; 3489 return pConditionalExpression;
3095 } 3490 }
3096 3491
3097 public ParserRule getIfElseRule() { 3492 public ParserRule getConditionalExpressionRule() {
3098 return getIfElseAccess().getRule(); 3493 return getConditionalExpressionAccess().getRule();
3099 } 3494 }
3100 3495
3101 //Let: 3496 //LetExpression:
3102 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; 3497 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
3103 public LetElements getLetAccess() { 3498 public LetExpressionElements getLetExpressionAccess() {
3104 return pLet; 3499 return pLetExpression;
3105 } 3500 }
3106 3501
3107 public ParserRule getLetRule() { 3502 public ParserRule getLetExpressionRule() {
3108 return getLetAccess().getRule(); 3503 return getLetExpressionAccess().getRule();
3109 } 3504 }
3110 3505
3111 //LetBinding: 3506 //LetBinding:
3112 // variable=Variable "=" value=AdditiveExpression; 3507 // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression;
3113 public LetBindingElements getLetBindingAccess() { 3508 public LetBindingElements getLetBindingAccess() {
3114 return pLetBinding; 3509 return pLetBinding;
3115 } 3510 }
@@ -3118,26 +3513,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3118 return getLetBindingAccess().getRule(); 3513 return getLetBindingAccess().getRule();
3119 } 3514 }
3120 3515
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
3141 //DisjunctiveExpression Expression: 3516 //DisjunctiveExpression Expression:
3142 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | 3517 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
3143 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; 3518 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
@@ -3170,7 +3545,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3170 } 3545 }
3171 3546
3172 //enum ComparisonOperator returns BinaryOperator: 3547 //enum ComparisonOperator returns BinaryOperator:
3173 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 3548 // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in";
3174 public ComparisonOperatorElements getComparisonOperatorAccess() { 3549 public ComparisonOperatorElements getComparisonOperatorAccess() {
3175 return eComparisonOperator; 3550 return eComparisonOperator;
3176 } 3551 }
@@ -3180,7 +3555,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3180 } 3555 }
3181 3556
3182 //ComparisonExpression Expression: 3557 //ComparisonExpression Expression:
3183 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; 3558 // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?;
3184 public ComparisonExpressionElements getComparisonExpressionAccess() { 3559 public ComparisonExpressionElements getComparisonExpressionAccess() {
3185 return pComparisonExpression; 3560 return pComparisonExpression;
3186 } 3561 }
@@ -3190,7 +3565,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3190 } 3565 }
3191 3566
3192 //enum AdditiveBinaryOperator returns BinaryOperator: 3567 //enum AdditiveBinaryOperator returns BinaryOperator:
3193 // ADD="+" | SUB="-"; 3568 // PLUS="+" | MINUS="-";
3194 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() { 3569 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() {
3195 return eAdditiveBinaryOperator; 3570 return eAdditiveBinaryOperator;
3196 } 3571 }
@@ -3210,7 +3585,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3210 } 3585 }
3211 3586
3212 //enum MultiplicativeBinaryOperator returns BinaryOperator: 3587 //enum MultiplicativeBinaryOperator returns BinaryOperator:
3213 // MUL="*" | DIV="/"; 3588 // MULTIPLY="*" | DIVIDE="/";
3214 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() { 3589 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() {
3215 return eMultiplicativeBinaryOperator; 3590 return eMultiplicativeBinaryOperator;
3216 } 3591 }
@@ -3250,7 +3625,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3250 } 3625 }
3251 3626
3252 //CastExpression Expression: 3627 //CastExpression Expression:
3253 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; 3628 // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?;
3254 public CastExpressionElements getCastExpressionAccess() { 3629 public CastExpressionElements getCastExpressionAccess() {
3255 return pCastExpression; 3630 return pCastExpression;
3256 } 3631 }
@@ -3259,18 +3634,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3259 return getCastExpressionAccess().getRule(); 3634 return getCastExpressionAccess().getRule();
3260 } 3635 }
3261 3636
3262 //enum UnaryOp: 3637 //enum UnaryOperator:
3263 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 3638 // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?";
3264 public UnaryOpElements getUnaryOpAccess() { 3639 public UnaryOperatorElements getUnaryOperatorAccess() {
3265 return eUnaryOp; 3640 return eUnaryOperator;
3266 } 3641 }
3267 3642
3268 public EnumRule getUnaryOpRule() { 3643 public EnumRule getUnaryOperatorRule() {
3269 return getUnaryOpAccess().getRule(); 3644 return getUnaryOperatorAccess().getRule();
3270 } 3645 }
3271 3646
3272 //UnaryExpression Expression: 3647 //UnaryExpression Expression:
3273 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 3648 // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression;
3274 public UnaryExpressionElements getUnaryExpressionAccess() { 3649 public UnaryExpressionElements getUnaryExpressionAccess() {
3275 return pUnaryExpression; 3650 return pUnaryExpression;
3276 } 3651 }
@@ -3279,48 +3654,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3279 return getUnaryExpressionAccess().getRule(); 3654 return getUnaryExpressionAccess().getRule();
3280 } 3655 }
3281 3656
3282 //AggregationExpression Expression: 3657 //BracedAggregateExpression Expression:
3283 // AtomicExpression | QuantifiedExpression | Aggregation; 3658 // AtomicExpression | Aggregation | Count;
3284 public AggregationExpressionElements getAggregationExpressionAccess() { 3659 public BracedAggregateExpressionElements getBracedAggregateExpressionAccess() {
3285 return pAggregationExpression; 3660 return pBracedAggregateExpression;
3286 }
3287
3288 public ParserRule getAggregationExpressionRule() {
3289 return getAggregationExpressionAccess().getRule();
3290 }
3291
3292 //LocalVariables:
3293 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
3294 public LocalVariablesElements getLocalVariablesAccess() {
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;
3306 } 3661 }
3307 3662
3308 public EnumRule getQuantifierRule() { 3663 public ParserRule getBracedAggregateExpressionRule() {
3309 return getQuantifierAccess().getRule(); 3664 return getBracedAggregateExpressionAccess().getRule();
3310 }
3311
3312 //QuantifiedExpression:
3313 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
3314 public QuantifiedExpressionElements getQuantifiedExpressionAccess() {
3315 return pQuantifiedExpression;
3316 }
3317
3318 public ParserRule getQuantifiedExpressionRule() {
3319 return getQuantifiedExpressionAccess().getRule();
3320 } 3665 }
3321 3666
3322 //Aggregation: 3667 //Aggregation:
3323 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; 3668 // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}";
3324 public AggregationElements getAggregationAccess() { 3669 public AggregationElements getAggregationAccess() {
3325 return pAggregation; 3670 return pAggregation;
3326 } 3671 }
@@ -3329,6 +3674,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3329 return getAggregationAccess().getRule(); 3674 return getAggregationAccess().getRule();
3330 } 3675 }
3331 3676
3677 //Count:
3678 // "count" "{" condition=Expression "}";
3679 public CountElements getCountAccess() {
3680 return pCount;
3681 }
3682
3683 public ParserRule getCountRule() {
3684 return getCountAccess().getRule();
3685 }
3686
3332 //AtomicExpression Expression: 3687 //AtomicExpression Expression:
3333 // Reference | Call | Interval | Literal | "(" Expression ")"; 3688 // Reference | Call | Interval | Literal | "(" Expression ")";
3334 public AtomicExpressionElements getAtomicExpressionAccess() { 3689 public AtomicExpressionElements getAtomicExpressionAccess() {
@@ -3340,8 +3695,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3340 } 3695 }
3341 3696
3342 //Call: 3697 //Call:
3343 // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? 3698 // functor=Reference argumentList=ArgumentList;
3344 // argumentList=ArgumentList;
3345 public CallElements getCallAccess() { 3699 public CallElements getCallAccess() {
3346 return pCall; 3700 return pCall;
3347 } 3701 }
@@ -3361,7 +3715,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3361 } 3715 }
3362 3716
3363 //Argument: 3717 //Argument:
3364 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; 3718 // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument;
3365 public ArgumentElements getArgumentAccess() { 3719 public ArgumentElements getArgumentAccess() {
3366 return pArgument; 3720 return pArgument;
3367 } 3721 }
@@ -3371,7 +3725,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3371 } 3725 }
3372 3726
3373 //ExpressionArgument: 3727 //ExpressionArgument:
3374 // body=ComparisonExpression; 3728 // expression=ComparisonExpression;
3375 public ExpressionArgumentElements getExpressionArgumentAccess() { 3729 public ExpressionArgumentElements getExpressionArgumentAccess() {
3376 return pExpressionArgument; 3730 return pExpressionArgument;
3377 } 3731 }
@@ -3390,18 +3744,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3390 return getStarArgumentAccess().getRule(); 3744 return getStarArgumentAccess().getRule();
3391 } 3745 }
3392 3746
3393 //TypedArgument: 3747 //TypedVariableArgument:
3394 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; 3748 // typeReference=TypeReference name=ID;
3395 public TypedArgumentElements getTypedArgumentAccess() { 3749 public TypedVariableArgumentElements getTypedVariableArgumentAccess() {
3396 return pTypedArgument; 3750 return pTypedVariableArgument;
3397 } 3751 }
3398 3752
3399 public ParserRule getTypedArgumentRule() { 3753 public ParserRule getTypedVariableArgumentRule() {
3400 return getTypedArgumentAccess().getRule(); 3754 return getTypedVariableArgumentAccess().getRule();
3401 } 3755 }
3402 3756
3403 //TypedStarArgument: 3757 //TypedStarArgument:
3404 // type=[NamedElement|QualifiedName] "*"; 3758 // typeReference=TypeReference "*";
3405 public TypedStarArgumentElements getTypedStarArgumentAccess() { 3759 public TypedStarArgumentElements getTypedStarArgumentAccess() {
3406 return pTypedStarArgument; 3760 return pTypedStarArgument;
3407 } 3761 }
@@ -3411,7 +3765,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3411 } 3765 }
3412 3766
3413 //Reference: 3767 //Reference:
3414 // referred=[NamedElement|QualifiedName]; 3768 // components+=PathComponent ("." components+=PathComponent)*;
3415 public ReferenceElements getReferenceAccess() { 3769 public ReferenceElements getReferenceAccess() {
3416 return pReference; 3770 return pReference;
3417 } 3771 }
@@ -3420,8 +3774,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3420 return getReferenceAccess().getRule(); 3774 return getReferenceAccess().getRule();
3421 } 3775 }
3422 3776
3777 //PathComponent:
3778 // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE |
3779 // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?;
3780 public PathComponentElements getPathComponentAccess() {
3781 return pPathComponent;
3782 }
3783
3784 public ParserRule getPathComponentRule() {
3785 return getPathComponentAccess().getRule();
3786 }
3787
3423 //Interval: 3788 //Interval:
3424 // "[" lowerBound=Expression ".." upperBound=Expression "]"; 3789 // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]";
3425 public IntervalElements getIntervalAccess() { 3790 public IntervalElements getIntervalAccess() {
3426 return pInterval; 3791 return pInterval;
3427 } 3792 }
@@ -3431,7 +3796,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3431 } 3796 }
3432 3797
3433 //Literal: 3798 //Literal:
3434 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; 3799 // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral;
3435 public LiteralElements getLiteralAccess() { 3800 public LiteralElements getLiteralAccess() {
3436 return pLiteral; 3801 return pLiteral;
3437 } 3802 }
@@ -3460,14 +3825,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3460 return getLogicLiteralAccess().getRule(); 3825 return getLogicLiteralAccess().getRule();
3461 } 3826 }
3462 3827
3463 //NumericLiteral: 3828 //IntLiteral:
3829 // value=INT;
3830 public IntLiteralElements getIntLiteralAccess() {
3831 return pIntLiteral;
3832 }
3833
3834 public ParserRule getIntLiteralRule() {
3835 return getIntLiteralAccess().getRule();
3836 }
3837
3838 //RealLiteral:
3464 // value=Real; 3839 // value=Real;
3465 public NumericLiteralElements getNumericLiteralAccess() { 3840 public RealLiteralElements getRealLiteralAccess() {
3466 return pNumericLiteral; 3841 return pRealLiteral;
3467 } 3842 }
3468 3843
3469 public ParserRule getNumericLiteralRule() { 3844 public ParserRule getRealLiteralRule() {
3470 return getNumericLiteralAccess().getRule(); 3845 return getRealLiteralAccess().getRule();
3471 } 3846 }
3472 3847
3473 //InfinityLiteral: 3848 //InfinityLiteral:
@@ -3480,14 +3855,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3480 return getInfinityLiteralAccess().getRule(); 3855 return getInfinityLiteralAccess().getRule();
3481 } 3856 }
3482 3857
3483 //EmptyIntervalLiteral: 3858 //EmptyLiteral:
3484 // {EmptyIntervalLiteral} "empty"; 3859 // {EmptyLiteral} "empty";
3485 public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() { 3860 public EmptyLiteralElements getEmptyLiteralAccess() {
3486 return pEmptyIntervalLiteral; 3861 return pEmptyLiteral;
3487 } 3862 }
3488 3863
3489 public ParserRule getEmptyIntervalLiteralRule() { 3864 public ParserRule getEmptyLiteralRule() {
3490 return getEmptyIntervalLiteralAccess().getRule(); 3865 return getEmptyLiteralAccess().getRule();
3491 } 3866 }
3492 3867
3493 //StringLiteral: 3868 //StringLiteral:
@@ -3500,31 +3875,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3500 return getStringLiteralAccess().getRule(); 3875 return getStringLiteralAccess().getRule();
3501 } 3876 }
3502 3877
3503 //ClassDefinition: 3878 //ClassDeclaration:
3504 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," 3879 // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] (","
3505 // superclasses+=[NamedElement|QualifiedName])*)? 3880 // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP);
3506 // "{" members+=MemberDefinition* "}"; 3881 public ClassDeclarationElements getClassDeclarationAccess() {
3507 public ClassDefinitionElements getClassDefinitionAccess() { 3882 return pClassDeclaration;
3508 return pClassDefinition;
3509 } 3883 }
3510 3884
3511 public ParserRule getClassDefinitionRule() { 3885 public ParserRule getClassDeclarationRule() {
3512 return getClassDefinitionAccess().getRule(); 3886 return getClassDeclarationAccess().getRule();
3513 } 3887 }
3514 3888
3515 //MemberDefinition: 3889 //Field:
3516 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" 3890 // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity?
3517 // opposite=[NamedElement|QualifiedName])? ";"?; 3891 // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?;
3518 public MemberDefinitionElements getMemberDefinitionAccess() { 3892 public FieldElements getFieldAccess() {
3519 return pMemberDefinition; 3893 return pField;
3520 } 3894 }
3521 3895
3522 public ParserRule getMemberDefinitionRule() { 3896 public ParserRule getFieldRule() {
3523 return getMemberDefinitionAccess().getRule(); 3897 return getFieldAccess().getRule();
3524 } 3898 }
3525 3899
3526 //Multiplicity: 3900 //Multiplicity:
3527 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; 3901 // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity;
3528 public MultiplicityElements getMultiplicityAccess() { 3902 public MultiplicityElements getMultiplicityAccess() {
3529 return pMultiplicity; 3903 return pMultiplicity;
3530 } 3904 }
@@ -3533,18 +3907,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3533 return getMultiplicityAccess().getRule(); 3907 return getMultiplicityAccess().getRule();
3534 } 3908 }
3535 3909
3536 //ManyMultiplicity: 3910 //UnboundedMultiplicity:
3537 // {ManyMultiplicity} "[" "]"; 3911 // {UnboundedMultiplicity} "[" "]";
3538 public ManyMultiplicityElements getManyMultiplicityAccess() { 3912 public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() {
3539 return pManyMultiplicity; 3913 return pUnboundedMultiplicity;
3540 } 3914 }
3541 3915
3542 public ParserRule getManyMultiplicityRule() { 3916 public ParserRule getUnboundedMultiplicityRule() {
3543 return getManyMultiplicityAccess().getRule(); 3917 return getUnboundedMultiplicityAccess().getRule();
3544 } 3918 }
3545 3919
3546 //ExactMultiplicity: 3920 //ExactMultiplicity:
3547 // "[" multiplicity=UpperMultiplicty "]"; 3921 // "[" value=UpperMultiplicty "]";
3548 public ExactMultiplicityElements getExactMultiplicityAccess() { 3922 public ExactMultiplicityElements getExactMultiplicityAccess() {
3549 return pExactMultiplicity; 3923 return pExactMultiplicity;
3550 } 3924 }
@@ -3554,7 +3928,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3554 } 3928 }
3555 3929
3556 //BoundedMultiplicity: 3930 //BoundedMultiplicity:
3557 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; 3931 // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]";
3558 public BoundedMultiplicityElements getBoundedMultiplicityAccess() { 3932 public BoundedMultiplicityElements getBoundedMultiplicityAccess() {
3559 return pBoundedMultiplicity; 3933 return pBoundedMultiplicity;
3560 } 3934 }
@@ -3563,50 +3937,70 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3563 return getBoundedMultiplicityAccess().getRule(); 3937 return getBoundedMultiplicityAccess().getRule();
3564 } 3938 }
3565 3939
3566 //ScopeDefinition: 3940 //EnumDeclaration:
3567 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; 3941 // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP);
3568 public ScopeDefinitionElements getScopeDefinitionAccess() { 3942 public EnumDeclarationElements getEnumDeclarationAccess() {
3569 return pScopeDefinition; 3943 return pEnumDeclaration;
3570 } 3944 }
3571 3945
3572 public ParserRule getScopeDefinitionRule() { 3946 public ParserRule getEnumDeclarationRule() {
3573 return getScopeDefinitionAccess().getRule(); 3947 return getEnumDeclarationAccess().getRule();
3574 } 3948 }
3575 3949
3576 //ExactScopeDefinition: 3950 //EnumLiteral:
3577 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; 3951 // name=ID;
3578 public ExactScopeDefinitionElements getExactScopeDefinitionAccess() { 3952 public EnumLiteralElements getEnumLiteralAccess() {
3579 return pExactScopeDefinition; 3953 return pEnumLiteral;
3580 } 3954 }
3581 3955
3582 public ParserRule getExactScopeDefinitionRule() { 3956 public ParserRule getEnumLiteralRule() {
3583 return getExactScopeDefinitionAccess().getRule(); 3957 return getEnumLiteralAccess().getRule();
3584 } 3958 }
3585 3959
3586 //BoundedScopeDefinition: 3960 //ScopeDeclaration:
3587 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" 3961 // ExactScope | BoundedScope | LowerBoundedScope;
3588 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); 3962 public ScopeDeclarationElements getScopeDeclarationAccess() {
3589 public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() { 3963 return pScopeDeclaration;
3590 return pBoundedScopeDefinition;
3591 } 3964 }
3592 3965
3593 public ParserRule getBoundedScopeDefinitionRule() { 3966 public ParserRule getScopeDeclarationRule() {
3594 return getBoundedScopeDefinitionAccess().getRule(); 3967 return getScopeDeclarationAccess().getRule();
3595 } 3968 }
3596 3969
3597 //LowerBoundedScopeDefinition: 3970 //ExactScope:
3598 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" 3971 // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP;
3599 // lowerBound=INT); 3972 public ExactScopeElements getExactScopeAccess() {
3600 public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() { 3973 return pExactScope;
3601 return pLowerBoundedScopeDefinition;
3602 } 3974 }
3603 3975
3604 public ParserRule getLowerBoundedScopeDefinitionRule() { 3976 public ParserRule getExactScopeRule() {
3605 return getLowerBoundedScopeDefinitionAccess().getRule(); 3977 return getExactScopeAccess().getRule();
3978 }
3979
3980 //BoundedScope:
3981 // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
3982 // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP;
3983 public BoundedScopeElements getBoundedScopeAccess() {
3984 return pBoundedScope;
3985 }
3986
3987 public ParserRule getBoundedScopeRule() {
3988 return getBoundedScopeAccess().getRule();
3989 }
3990
3991 //LowerBoundedScope:
3992 // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT)
3993 // FULL_STOP;
3994 public LowerBoundedScopeElements getLowerBoundedScopeAccess() {
3995 return pLowerBoundedScope;
3996 }
3997
3998 public ParserRule getLowerBoundedScopeRule() {
3999 return getLowerBoundedScopeAccess().getRule();
3606 } 4000 }
3607 4001
3608 //enum ObjectiveKind: 4002 //enum ObjectiveKind:
3609 // MINIMIZE="minimize" | MAXIMIZE="maximize"; 4003 // MINIMIZATION="minimize" | MAXIMIZATION="maximize";
3610 public ObjectiveKindElements getObjectiveKindAccess() { 4004 public ObjectiveKindElements getObjectiveKindAccess() {
3611 return eObjectiveKind; 4005 return eObjectiveKind;
3612 } 4006 }
@@ -3615,14 +4009,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3615 return getObjectiveKindAccess().getRule(); 4009 return getObjectiveKindAccess().getRule();
3616 } 4010 }
3617 4011
3618 //ObjectiveDefinition: 4012 //ObjectiveDeclaration:
3619 // kind=ObjectiveKind objective=Expression; 4013 // kind=ObjectiveKind objective=Expression FULL_STOP;
3620 public ObjectiveDefinitionElements getObjectiveDefinitionAccess() { 4014 public ObjectiveDeclarationElements getObjectiveDeclarationAccess() {
3621 return pObjectiveDefinition; 4015 return pObjectiveDeclaration;
3622 } 4016 }
3623 4017
3624 public ParserRule getObjectiveDefinitionRule() { 4018 public ParserRule getObjectiveDeclarationRule() {
3625 return getObjectiveDefinitionAccess().getRule(); 4019 return getObjectiveDeclarationAccess().getRule();
3626 } 4020 }
3627 4021
3628 //UpperMultiplicty ecore::EInt: 4022 //UpperMultiplicty ecore::EInt:
@@ -3636,7 +4030,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3636 } 4030 }
3637 4031
3638 //Real ecore::EBigDecimal hidden(): 4032 //Real ecore::EBigDecimal hidden():
3639 // INT ("." INT)?; 4033 // INT "." INT;
3640 public RealElements getRealAccess() { 4034 public RealElements getRealAccess() {
3641 return pReal; 4035 return pReal;
3642 } 4036 }
@@ -3645,8 +4039,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3645 return getRealAccess().getRule(); 4039 return getRealAccess().getRule();
3646 } 4040 }
3647 4041
4042 //QualifiedNameSegment:
4043 // ID | QUOTED_ID | "object";
4044 public QualifiedNameSegmentElements getQualifiedNameSegmentAccess() {
4045 return pQualifiedNameSegment;
4046 }
4047
4048 public ParserRule getQualifiedNameSegmentRule() {
4049 return getQualifiedNameSegmentAccess().getRule();
4050 }
4051
3648 //QualifiedName hidden(): 4052 //QualifiedName hidden():
3649 // ID ("." ID)* | QUOTED_ID; 4053 // QualifiedNameSegment ("::" QualifiedNameSegment)*;
3650 public QualifiedNameElements getQualifiedNameAccess() { 4054 public QualifiedNameElements getQualifiedNameAccess() {
3651 return pQualifiedName; 4055 return pQualifiedName;
3652 } 4056 }
diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2 b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2
index 50072f0d..644e681d 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2
@@ -32,7 +32,7 @@ Workflow {
32 language = StandardLanguage { 32 language = StandardLanguage {
33 name = "org.eclipse.viatra.solver.language.SolverLanguage" 33 name = "org.eclipse.viatra.solver.language.SolverLanguage"
34 fileExtensions = "vsc" 34 fileExtensions = "vsc"
35 referencedResource = "platform:/resource/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel" 35 referencedResource = "platform:/resource/org.eclipse.viatra.solver.language.model/model/model.genmodel"
36 36
37 serializer = { 37 serializer = {
38 generateStub = false 38 generateStub = false
diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
index d0578d78..51115da0 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
@@ -3,66 +3,80 @@ import "http://www.eclipse.org/emf/2002/Ecore" as ecore
3import "http://www.eclipse.org/viatra/solver/language/SolverLanguage" 3import "http://www.eclipse.org/viatra/solver/language/SolverLanguage"
4 4
5Problem: 5Problem:
6 (statements+=Statement)*; 6 ("problem" name=QualifiedName FULL_STOP)?
7 imports+=Import*
8 statements+=Statement*;
7 9
8Statement: 10Statement:
9 ( 11 (
10 AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | 12 AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion |
11 ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | 13 FunctionDefinition | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration |
12 ClassDefinition | ScopeDefinition | ObjectiveDefinition 14 ClassDeclaration | EnumDeclaration
13 ) FULL_STOP; 15 );
16
17Import:
18 UriImport | NamespaceImport;
19
20UriImport:
21 "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP;
22
23NamespaceImport:
24 "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP;
14 25
15AssertionOrDefinition returns Statement: 26AssertionOrDefinition returns Statement:
16 Expression ( 27 Expression (
17 {Interpretation.body=current} ":" range=Expression | 28 {Assertion.expression=current} (":" range=Expression)? |
18 {PredicateDefinition.head=current} ":-" body=Expression | 29 {PredicateDefinition.head=current} ":-" body=Expression |
19 {MetricDefinition.head=current} "=" body=Expression 30 {FunctionDefinition.head=current} ":=" body=Expression
20 )?; 31 ) FULL_STOP;
21 32
22PredicateDefinition: 33PredicateDefinition:
23 (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 34 (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression FULL_STOP;
24 35
25UnnamedErrorPrediateDefinition: 36UnnamedErrorPredicateDefintion:
26 "error" argumentList=ArgumentList ":-" body=Expression; 37 "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP;
27 38
28DefaultDefinition: 39DefaultAssertion:
29 "default" head=Call ":" range=Expression; 40 "default" expression=Call (":" range=Expression)? FULL_STOP;
30 41
31MetricDefinition: 42FunctionDefinition:
32 type=[NamedElement|QualifiedName] head=Call "=" body=Expression; 43 resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP;
33 44
34ExternPredicateDefinition: 45TypeReference:
35 "extern" name=QualifiedName argumentList=ArgumentList; 46 type=[Symbol|QualifiedName] forceObjectType?="object"?;
36 47
37ExternMetricDefinition: 48enum AttributeKind:
38 "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; 49 FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment";
39 50
40ExternAggregatorDefinition: 51Attribute:
41 "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; 52 kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP;
42 53
43ExternDatatypeDefinition: 54ExternDeclaration:
44 "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*); 55 ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration | ExternDatatypeDeclaration;
45 56
46Variable: 57ExternPredicateDeclaration:
47 type=[NamedElement|QualifiedName]? name=ID; 58 "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP;
59
60ExternFunctionDeclaration:
61 "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP;
62
63ExternAggregationOperatorDeclaration:
64 "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}" FULL_STOP;
65
66ExternDatatypeDeclaration:
67 "extern" "datatype" name=QualifiedName FULL_STOP;
48 68
49Expression: 69Expression:
50 IfElse | Let | ImplicationExpression; 70 ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>" body=DisjunctiveExpression)?;
51 71
52IfElse: 72ConditionalExpression:
53 "if" condition=Expression "then" then=Expression "else" else=Expression; 73 "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression;
54 74
55Let: 75LetExpression:
56 "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; 76 "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
57 77
58LetBinding: 78LetBinding:
59 variable=Variable "=" value=AdditiveExpression; 79 type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression;
60
61enum ImplicationOperator returns BinaryOperator:
62 IMPLIES = "=>";
63
64ImplicationExpression returns Expression:
65 DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
66 80
67DisjunctiveExpression returns Expression: 81DisjunctiveExpression returns Expression:
68 ConjunctiveExpression ( 82 ConjunctiveExpression (
@@ -77,19 +91,19 @@ ConjunctiveExpression returns Expression:
77 ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; 91 ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
78 92
79enum ComparisonOperator returns BinaryOperator: 93enum ComparisonOperator returns BinaryOperator:
80 EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 94 EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in";
81 95
82ComparisonExpression returns Expression: 96ComparisonExpression returns Expression:
83 AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; 97 AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?;
84 98
85enum AdditiveBinaryOperator returns BinaryOperator: 99enum AdditiveBinaryOperator returns BinaryOperator:
86 ADD="+" | SUB="-"; 100 PLUS="+" | MINUS="-";
87 101
88AdditiveExpression returns Expression: 102AdditiveExpression returns Expression:
89 MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*; 103 MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
90 104
91enum MultiplicativeBinaryOperator returns BinaryOperator: 105enum MultiplicativeBinaryOperator returns BinaryOperator:
92 MUL="*" | DIV="/"; 106 MULTIPLY="*" | DIVIDE="/";
93 107
94MultiplicativeExpression returns Expression: 108MultiplicativeExpression returns Expression:
95 ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*; 109 ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
@@ -101,61 +115,59 @@ ExponentialExpression returns Expression:
101 CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?; 115 CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
102 116
103CastExpression returns Expression: 117CastExpression returns Expression:
104 UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; 118 UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?;
105 119
106enum UnaryOp: 120enum UnaryOperator:
107 NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 121 NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?";
108 122
109UnaryExpression returns Expression: 123UnaryExpression returns Expression:
110 AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 124 BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression;
111
112AggregationExpression returns Expression:
113 AtomicExpression | QuantifiedExpression | Aggregation;
114 125
115LocalVariables: 126BracedAggregateExpression returns Expression:
116 {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; 127 AtomicExpression | Aggregation | Count ;
117
118enum Quantifier:
119 EXISTS="exists" | FORALL="forall" | COUNT="count";
120
121QuantifiedExpression:
122 quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
123 128
124Aggregation: 129Aggregation:
125 op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; 130 op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}";
131
132Count:
133 "count" "{" condition=Expression "}";
126 134
127AtomicExpression returns Expression: 135AtomicExpression returns Expression:
128 Reference | Call | Interval | Literal | "(" Expression ")"; 136 Reference | Call | Interval | Literal | "(" Expression ")";
129 137
130Call: 138Call:
131 functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? argumentList=ArgumentList; 139 functor=Reference argumentList=ArgumentList;
132 140
133ArgumentList: 141ArgumentList:
134 {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; 142 {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
135 143
136Argument: 144Argument:
137 ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; 145 ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument;
138 146
139ExpressionArgument: 147ExpressionArgument:
140 body=ComparisonExpression; 148 expression=ComparisonExpression;
141 149
142StarArgument: 150StarArgument:
143 {StarArgument} "*"; 151 {StarArgument} "*";
144 152
145TypedArgument: 153TypedVariableArgument:
146 type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; 154 typeReference=TypeReference name=ID;
147 155
148TypedStarArgument: 156TypedStarArgument:
149 type=[NamedElement|QualifiedName] "*"; 157 typeReference=TypeReference "*";
150 158
151Reference: 159Reference:
152 referred=[NamedElement|QualifiedName]; 160 components+=PathComponent ("." components+=PathComponent)*;
161
162PathComponent:
163 inverse?="~"? symbol=[Symbol|QualifiedName]
164 (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?;
153 165
154Interval: 166Interval:
155 "[" lowerBound=Expression ".." upperBound=Expression "]"; 167 "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]";
156 168
157Literal: 169Literal:
158 LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; 170 LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral;
159 171
160enum LogicValue: 172enum LogicValue:
161 TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"; 173 TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
@@ -163,69 +175,82 @@ enum LogicValue:
163LogicLiteral: 175LogicLiteral:
164 value=LogicValue; 176 value=LogicValue;
165 177
166NumericLiteral: 178IntLiteral:
179 value=INT;
180
181RealLiteral:
167 value=Real; 182 value=Real;
168 183
169InfinityLiteral: 184InfinityLiteral:
170 {InfinityLiteral} "inf"; 185 {InfinityLiteral} "inf";
171 186
172EmptyIntervalLiteral: 187EmptyLiteral:
173 {EmptyIntervalLiteral} "empty"; 188 {EmptyLiteral} "empty";
174 189
175StringLiteral: 190StringLiteral:
176 value=STRING; 191 value=STRING;
177 192
178ClassDefinition: 193ClassDeclaration:
179 abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? 194 (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] ("," supertypes+=[Symbol|QualifiedName])*)?
180 "{" members+=MemberDefinition* "}"; 195 ("{" fields+=Field* "}" | FULL_STOP);
181 196
182MemberDefinition: 197Field:
183 containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" opposite=[NamedElement|QualifiedName])? ";"?; 198 (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity?
199 name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?;
184 200
185Multiplicity: 201Multiplicity:
186 ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; 202 UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity;
187 203
188ManyMultiplicity: 204UnboundedMultiplicity:
189 {ManyMultiplicity} "[" "]"; 205 {UnboundedMultiplicity} "[" "]";
190 206
191ExactMultiplicity: 207ExactMultiplicity:
192 "[" multiplicity=UpperMultiplicty "]"; 208 "[" value=UpperMultiplicty "]";
193 209
194BoundedMultiplicity: 210BoundedMultiplicity:
195 "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; 211 "[" lowerBound=INT "," upperBound=UpperMultiplicty "]";
212
213EnumDeclaration:
214 "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP);
196 215
197ScopeDefinition: 216EnumLiteral:
198 ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; 217 name=ID;
199 218
200ExactScopeDefinition: 219ScopeDeclaration:
201 "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; 220 ExactScope | BoundedScope | LowerBoundedScope;
202 221
203BoundedScopeDefinition: 222ExactScope:
223 "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP;
224
225BoundedScope:
204 "scope" ( 226 "scope" (
205 (lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | 227 (lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT |
206 upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? 228 upperBound=INT ">=" type=[Symbol|QualifiedName] (">=" lowerBound=INT)?
207 ); 229 ) FULL_STOP;
208 230
209LowerBoundedScopeDefinition: 231LowerBoundedScope:
210 "scope" ( 232 "scope" (
211 lowerBound=INT "<=" type=[NamedElement|QualifiedName] | 233 lowerBound=INT "<=" type=[Symbol|QualifiedName] |
212 type=[NamedElement|QualifiedName] ">=" lowerBound=INT 234 type=[Symbol|QualifiedName] ">=" lowerBound=INT
213 ); 235 ) FULL_STOP;
214 236
215enum ObjectiveKind: 237enum ObjectiveKind:
216 MINIMIZE="minimize" | MAXIMIZE="maximize"; 238 MINIMIZATION="minimize" | MAXIMIZATION="maximize";
217 239
218ObjectiveDefinition: 240ObjectiveDeclaration:
219 kind=ObjectiveKind objective=Expression; 241 kind=ObjectiveKind objective=Expression FULL_STOP;
220 242
221UpperMultiplicty returns ecore::EInt: 243UpperMultiplicty returns ecore::EInt:
222 INT | "*"; 244 INT | "*";
223 245
224Real returns ecore::EBigDecimal hidden(): 246Real returns ecore::EBigDecimal hidden():
225 INT ("." INT)?; 247 INT "." INT;
248
249QualifiedNameSegment:
250 ID | QUOTED_ID | "object";
226 251
227QualifiedName hidden(): 252QualifiedName hidden():
228 ID ("." ID)* | QUOTED_ID; 253 QualifiedNameSegment ("::" QualifiedNameSegment)*;
229 254
230@Override 255@Override
231terminal STRING returns ecore::EString: 256terminal STRING returns ecore::EString:
diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java
index 4c1dacd5..70e7e492 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java
@@ -29,6 +29,7 @@ public class SolverLanguageTokenSource implements TokenSource {
29 private int plusTokenId = -1; 29 private int plusTokenId = -1;
30 private int starTokenId = -1; 30 private int starTokenId = -1;
31 private int dotTokenId = -1; 31 private int dotTokenId = -1;
32 private int tildeTokenId = -1;
32 private int openParenTokenId = -1; 33 private int openParenTokenId = -1;
33 34
34 public SolverLanguageTokenSource(TokenSource delegate) { 35 public SolverLanguageTokenSource(TokenSource delegate) {
@@ -42,33 +43,49 @@ public class SolverLanguageTokenSource implements TokenSource {
42 43
43 @Override 44 @Override
44 public Token nextToken() { 45 public Token nextToken() {
45 Token token = internalNextToken(); 46 Token token;
47 if (acceptor.hasNext()) {
48 token = acceptor.next();
49 } else {
50 token = delegate.nextToken();
51 }
52 postProcessToken(token);
46 lastTokenId = token.getType(); 53 lastTokenId = token.getType();
47 return token; 54 return token;
48 } 55 }
49 56
50 protected Token internalNextToken() { 57 protected void postProcessToken(Token token) {
51 if (acceptor.hasNext()) {
52 return acceptor.next();
53 }
54 Token token = delegate.nextToken();
55 int type = token.getType(); 58 int type = token.getType();
56 if (type == plusTokenId) { 59 if (type == plusTokenId) {
57 if ((lastTokenId == RULE_ID || lastTokenId == RULE_QUOTED_ID) 60 if (isTransitiveClosureInReferenceContext()) {
58 && peekUntilVisible().getType() == openParenTokenId) {
59 token.setType(RULE_TRANSITIVE_CLOSURE); 61 token.setType(RULE_TRANSITIVE_CLOSURE);
60 } 62 }
61 } else if (type == starTokenId) { 63 } else if (type == starTokenId) {
62 if ((lastTokenId == RULE_ID || lastTokenId == RULE_QUOTED_ID) 64 if (isTransitiveClosureInReferenceContext()) {
63 && peekUntilVisible().getType() == openParenTokenId) {
64 token.setType(RULE_REFLEXIVE_TRANSITIVE_CLOSURE); 65 token.setType(RULE_REFLEXIVE_TRANSITIVE_CLOSURE);
65 } 66 }
66 } else if (type == dotTokenId) { 67 } else if (type == dotTokenId) {
67 if ((lastTokenId != RULE_ID && lastTokenId != RULE_INT) || peekToken().getType() != lastTokenId) { 68 if (isFullStopContext()) {
68 token.setType(RULE_FULL_STOP); 69 token.setType(RULE_FULL_STOP);
69 } 70 }
70 } 71 }
71 return token; 72 }
73
74 private boolean isIdFragment(int tokenId) {
75 return tokenId == RULE_ID || tokenId == RULE_QUOTED_ID;
76 }
77
78 private boolean isTransitiveClosureInReferenceContext() {
79 int nextVisibleTokenId = peekUntilVisible().getType();
80 return isIdFragment(lastTokenId)
81 && (nextVisibleTokenId == dotTokenId || nextVisibleTokenId == openParenTokenId);
82 }
83
84 private boolean isFullStopContext() {
85 int nextTokenId = peekToken().getType();
86 boolean inReference = isIdFragment(lastTokenId) && (isIdFragment(nextTokenId) || nextTokenId == tildeTokenId);
87 boolean inReal = lastTokenId == RULE_INT && nextTokenId == RULE_INT;
88 return !(inReference || inReal);
72 } 89 }
73 90
74 protected Token peekUntilVisible() { 91 protected Token peekUntilVisible() {
@@ -101,6 +118,9 @@ public class SolverLanguageTokenSource implements TokenSource {
101 case "'.'": 118 case "'.'":
102 dotTokenId = entry.getKey(); 119 dotTokenId = entry.getKey();
103 break; 120 break;
121 case "'~'":
122 tildeTokenId = entry.getKey();
123 break;
104 case "'('": 124 case "'('":
105 openParenTokenId = entry.getKey(); 125 openParenTokenId = entry.getKey();
106 break; 126 break;
@@ -115,6 +135,9 @@ public class SolverLanguageTokenSource implements TokenSource {
115 if (dotTokenId == -1) { 135 if (dotTokenId == -1) {
116 throw new IllegalStateException("Token '.' was not found"); 136 throw new IllegalStateException("Token '.' was not found");
117 } 137 }
138 if (tildeTokenId == -1) {
139 throw new IllegalStateException("Token '~' was not found");
140 }
118 if (openParenTokenId == -1) { 141 if (openParenTokenId == -1) {
119 throw new IllegalStateException("Token '(' was not found"); 142 throw new IllegalStateException("Token '(' was not found");
120 } 143 }
diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
index c8d4144d..61001113 100644
--- a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
index b16c52f7..5ab360c2 100644
--- a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
Binary files differ