aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-19 21:18:06 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-19 21:18:06 +0200
commitb3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b (patch)
treead3222182065b8fac7d9b3d528c4efabf2aa0dd2 /Application/org.eclipse.viatra.solver.language
parentMerge branch 'master' of github.com:viatra/VIATRA-Generator (diff)
downloadVIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.gz
VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.zst
VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.zip
Config language WIP
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language')
-rw-r--r--Application/org.eclipse.viatra.solver.language/.classpath19
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java)39
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java)37
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java)37
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java)37
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java)37
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java)37
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java)39
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java)37
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java)39
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java)83
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java)79
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java)83
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java)79
-rw-r--r--Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java)83
-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.ecore (renamed from Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore)106
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel (renamed from Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel)98
-rw-r--r--Application/org.eclipse.viatra.solver.language/plugin.properties4
-rw-r--r--Application/org.eclipse.viatra.solver.language/plugin.xml2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin11964 -> 13021 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java5
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g1071
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java5598
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g46
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java1673
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java511
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java1153
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java455
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java93
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java50
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java271
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java140
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java458
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java4143
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java401
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java340
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java342
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java180
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java463
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java180
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java181
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java400
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java894
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java2379
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java242
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java1053
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java1245
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe21
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext71
-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
234 files changed, 34633 insertions, 28559 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/.classpath b/Application/org.eclipse.viatra.solver.language/.classpath
index 1287f96c..6b0b4bdb 100644
--- a/Application/org.eclipse.viatra.solver.language/.classpath
+++ b/Application/org.eclipse.viatra.solver.language/.classpath
@@ -1,9 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
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="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 6 <classpathentry kind="src" path="ecore-gen"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
8 <classpathentry kind="output" path="bin"/> 8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9</classpath> 9 <classpathentry kind="output" path="bin"/>
10</classpath>
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
new file mode 100644
index 00000000..f6159bd8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
@@ -0,0 +1,115 @@
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/src-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
index 73c79940..3f5d1b45 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,20 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Argument</b></em>'. 10 * A representation of the model object '<em><b>Argument</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * 13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface Argument extends EObject 18public interface Argument extends EObject {
19{ 19} // Argument
20} // Argument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
index 4a932fea..2be01423 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,40 +1,39 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.common.util.EList; 6import org.eclipse.emf.common.util.EList;
7 7
8import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
9 9
10/** 10/**
11 * <!-- begin-user-doc --> 11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Argument List</b></em>'. 12 * A representation of the model object '<em><b>Argument List</b></em>'.
13 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
14 * 14 *
15 * <p> 15 * <p>
16 * The following features are supported: 16 * The following features are supported:
17 * </p> 17 * </p>
18 * <ul> 18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}</li> 19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}</li>
20 * </ul> 20 * </ul>
21 * 21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList() 22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList()
23 * @model 23 * @model
24 * @generated 24 * @generated
25 */ 25 */
26public interface ArgumentList extends EObject 26public interface ArgumentList extends EObject {
27{ 27 /**
28 /** 28 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
29 * 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 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}. 30 * <!-- begin-user-doc -->
31 * <!-- begin-user-doc --> 31 * <!-- end-user-doc -->
32 * <!-- end-user-doc --> 32 * @return the value of the '<em>Arguments</em>' containment reference list.
33 * @return the value of the '<em>Arguments</em>' containment reference list. 33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments()
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments() 34 * @model containment="true"
35 * @model containment="true" 35 * @generated
36 * @generated 36 */
37 */ 37 EList<Argument> getArguments();
38 EList<Argument> getArguments(); 38
39 39} // ArgumentList
40} // 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
new file mode 100644
index 00000000..6b50beba
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
@@ -0,0 +1,95 @@
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
new file mode 100644
index 00000000..ce34afc7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
@@ -0,0 +1,463 @@
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
new file mode 100644
index 00000000..e0cea7d4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..81f87193
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..ab0940bb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
@@ -0,0 +1,115 @@
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
new file mode 100644
index 00000000..f2d2e5a7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..d8fe4945
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..0963c7a1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
@@ -0,0 +1,96 @@
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
new file mode 100644
index 00000000..5187c5db
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
@@ -0,0 +1,95 @@
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
new file mode 100644
index 00000000..788f5a97
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
@@ -0,0 +1,37 @@
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
new file mode 100644
index 00000000..ac5f6f32
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..eb1cafde
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
@@ -0,0 +1,37 @@
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/src-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
index 03f09681..b3e5ccf7 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Empty Interval Literal</b></em>'. 9 * A representation of the model object '<em><b>Empty Interval Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface EmptyIntervalLiteral extends Literal 17public interface EmptyIntervalLiteral extends Literal {
18{ 18} // EmptyIntervalLiteral
19} // 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
new file mode 100644
index 00000000..666c2f43
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..035329e2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
@@ -0,0 +1,46 @@
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/src-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
index 1ecd89a5..2034cdfd 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Expression</b></em>'. 9 * A representation of the model object '<em><b>Expression</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression()
14 * @model 14 * @model abstract="true"
15 * @generated 15 * @generated
16 */ 16 */
17public interface Expression extends Statement 17public interface Expression extends Statement {
18{ 18} // Expression
19} // 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
new file mode 100644
index 00000000..26f6142e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..eb6b8cdf
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java
@@ -0,0 +1,92 @@
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
new file mode 100644
index 00000000..a0fb33eb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java
@@ -0,0 +1,60 @@
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
new file mode 100644
index 00000000..45cac1e2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
@@ -0,0 +1,92 @@
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
new file mode 100644
index 00000000..647f7b91
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..45861d3e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java
@@ -0,0 +1,37 @@
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
new file mode 100644
index 00000000..d32ca1e3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
@@ -0,0 +1,92 @@
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/src-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
index 24e9633b..5a584019 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Infinity Literal</b></em>'. 9 * A representation of the model object '<em><b>Infinity Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface InfinityLiteral extends Literal 17public interface InfinityLiteral extends Literal {
18{ 18} // InfinityLiteral
19} // 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
new file mode 100644
index 00000000..4d1b6b77
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..39e4cbf3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..d3e76c1e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java
@@ -0,0 +1,60 @@
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
new file mode 100644
index 00000000..f6569b11
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java
@@ -0,0 +1,70 @@
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/src-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
index 67d4e64f..c7f7a31a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Literal</b></em>'. 9 * A representation of the model object '<em><b>Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface Literal extends Expression 17public interface Literal extends Expression {
18{ 18} // Literal
19} // 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
new file mode 100644
index 00000000..d5edda19
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java
@@ -0,0 +1,39 @@
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
new file mode 100644
index 00000000..8c60650b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
@@ -0,0 +1,49 @@
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
new file mode 100644
index 00000000..5f129c05
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
@@ -0,0 +1,256 @@
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
new file mode 100644
index 00000000..1c1c6764
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
@@ -0,0 +1,46 @@
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/src-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
index 4a667d4a..2d40f570 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Many Multiplicity</b></em>'. 9 * A representation of the model object '<em><b>Many Multiplicity</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface ManyMultiplicity extends Multiplicity 17public interface ManyMultiplicity extends Multiplicity {
18{ 18} // ManyMultiplicity
19} // 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
new file mode 100644
index 00000000..6a8d507e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
@@ -0,0 +1,139 @@
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
new file mode 100644
index 00000000..02724d03
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..fa86f55e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
@@ -0,0 +1,92 @@
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/src-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
index 1cbfadd6..5b6f1306 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,20 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity</b></em>'. 10 * A representation of the model object '<em><b>Multiplicity</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * 13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface Multiplicity extends EObject 18public interface Multiplicity extends EObject {
19{ 19} // Multiplicity
20} // 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
new file mode 100644
index 00000000..4daa21ab
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
@@ -0,0 +1,47 @@
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
new file mode 100644
index 00000000..f9c5d833
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..dcefba48
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
@@ -0,0 +1,47 @@
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
new file mode 100644
index 00000000..ffd46d01
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
@@ -0,0 +1,72 @@
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
new file mode 100644
index 00000000..72f5947c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
@@ -0,0 +1,210 @@
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
new file mode 100644
index 00000000..cfeaa0f2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
@@ -0,0 +1,18 @@
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
new file mode 100644
index 00000000..ff248906
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
@@ -0,0 +1,115 @@
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/src-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
index 2383bf18..56fac081 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,40 +1,39 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.common.util.EList; 6import org.eclipse.emf.common.util.EList;
7 7
8import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
9 9
10/** 10/**
11 * <!-- begin-user-doc --> 11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Problem</b></em>'. 12 * A representation of the model object '<em><b>Problem</b></em>'.
13 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
14 * 14 *
15 * <p> 15 * <p>
16 * The following features are supported: 16 * The following features are supported:
17 * </p> 17 * </p>
18 * <ul> 18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}</li> 19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}</li>
20 * </ul> 20 * </ul>
21 * 21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem() 22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem()
23 * @model 23 * @model
24 * @generated 24 * @generated
25 */ 25 */
26public interface Problem extends EObject 26public interface Problem extends EObject {
27{ 27 /**
28 /** 28 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
29 * 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 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}. 30 * <!-- begin-user-doc -->
31 * <!-- begin-user-doc --> 31 * <!-- end-user-doc -->
32 * <!-- end-user-doc --> 32 * @return the value of the '<em>Statements</em>' containment reference list.
33 * @return the value of the '<em>Statements</em>' containment reference list. 33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements()
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements() 34 * @model containment="true"
35 * @model containment="true" 35 * @generated
36 * @generated 36 */
37 */ 37 EList<Statement> getStatements();
38 EList<Statement> getStatements(); 38
39 39} // Problem
40} // 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
new file mode 100644
index 00000000..0b2edb36
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java
@@ -0,0 +1,95 @@
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
new file mode 100644
index 00000000..4c674fe0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java
@@ -0,0 +1,233 @@
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
new file mode 100644
index 00000000..5fd43f34
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..6cd03ef0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..6589eaa4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
@@ -0,0 +1,538 @@
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
new file mode 100644
index 00000000..9e01d8db
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
@@ -0,0 +1,5191 @@
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/src-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
index 4e4bed1b..1abc7ea1 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,19 +1,18 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Star Argument</b></em>'. 9 * A representation of the model object '<em><b>Star Argument</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface StarArgument extends Argument 17public interface StarArgument extends Argument {
18{ 18} // StarArgument
19} // StarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
index 7c8d208f..2dd89f73 100644
--- a/Application/org.eclipse.viatra.solver.language/src-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
@@ -1,20 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Statement</b></em>'. 10 * A representation of the model object '<em><b>Statement</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * 13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface Statement extends EObject 18public interface Statement extends EObject {
19{ 19} // Statement
20} // 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
new file mode 100644
index 00000000..7272e64a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..fc181c0b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
@@ -0,0 +1,37 @@
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
new file mode 100644
index 00000000..04744ad9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..53a18217
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..c0a1ddc7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
@@ -0,0 +1,72 @@
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
new file mode 100644
index 00000000..fad289b1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
@@ -0,0 +1,302 @@
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
new file mode 100644
index 00000000..fd916c18
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
@@ -0,0 +1,69 @@
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
new file mode 100644
index 00000000..581ce517
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
@@ -0,0 +1,46 @@
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
new file mode 100644
index 00000000..0f0262df
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
@@ -0,0 +1,378 @@
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/src-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
index d8bf8d91..afd14afa 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
@@ -1,43 +1,40 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 9
10import org.eclipse.viatra.solver.language.solverLanguage.Argument; 10import org.eclipse.viatra.solver.language.solverLanguage.Argument;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 12
13/** 13/**
14 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Argument</b></em>'. 15 * An implementation of the model object '<em><b>Argument</b></em>'.
16 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * 17 *
18 * @generated 18 * @generated
19 */ 19 */
20public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument 20public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
21{ 21 /**
22 /** 22 * <!-- begin-user-doc -->
23 * <!-- begin-user-doc --> 23 * <!-- end-user-doc -->
24 * <!-- end-user-doc --> 24 * @generated
25 * @generated 25 */
26 */ 26 protected ArgumentImpl() {
27 protected ArgumentImpl() 27 super();
28 { 28 }
29 super(); 29
30 } 30 /**
31 31 * <!-- begin-user-doc -->
32 /** 32 * <!-- end-user-doc -->
33 * <!-- begin-user-doc --> 33 * @generated
34 * <!-- end-user-doc --> 34 */
35 * @generated 35 @Override
36 */ 36 protected EClass eStaticClass() {
37 @Override 37 return SolverLanguagePackage.Literals.ARGUMENT;
38 protected EClass eStaticClass() 38 }
39 { 39
40 return SolverLanguagePackage.Literals.ARGUMENT; 40} //ArgumentImpl
41 }
42
43} //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
new file mode 100644
index 00000000..fce298f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
@@ -0,0 +1,154 @@
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
new file mode 100644
index 00000000..e85a40f9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
@@ -0,0 +1,317 @@
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
new file mode 100644
index 00000000..9b4f0385
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
@@ -0,0 +1,221 @@
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
new file mode 100644
index 00000000..7d3a981e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
@@ -0,0 +1,221 @@
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
new file mode 100644
index 00000000..bbc2dd4c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
@@ -0,0 +1,373 @@
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
new file mode 100644
index 00000000..d6905f3b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
@@ -0,0 +1,246 @@
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
new file mode 100644
index 00000000..39e20e46
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java
@@ -0,0 +1,241 @@
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
new file mode 100644
index 00000000..9fe48f0b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
@@ -0,0 +1,318 @@
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
new file mode 100644
index 00000000..37cc2e07
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
@@ -0,0 +1,317 @@
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
new file mode 100644
index 00000000..cc689c0d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
@@ -0,0 +1,152 @@
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
new file mode 100644
index 00000000..f1ad7bea
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
@@ -0,0 +1,247 @@
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
new file mode 100644
index 00000000..47dd7bcc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
@@ -0,0 +1,152 @@
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/src-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
index 1ebf38ad..26717519 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; 8import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Empty Interval Literal</b></em>'. 13 * An implementation of the model object '<em><b>Empty Interval Literal</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral 18public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected EmptyIntervalLiteralImpl() {
25 protected EmptyIntervalLiteralImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL; 38} //EmptyIntervalLiteralImpl
39 }
40
41} //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
new file mode 100644
index 00000000..fdeeae5e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
@@ -0,0 +1,165 @@
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
new file mode 100644
index 00000000..d5a375b0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
@@ -0,0 +1,165 @@
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
new file mode 100644
index 00000000..798b4b68
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
@@ -0,0 +1,178 @@
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/src-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
index 585e3c41..5b1c5969 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.Expression; 8import org.eclipse.viatra.solver.language.solverLanguage.Expression;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Expression</b></em>'. 13 * An implementation of the model object '<em><b>Expression</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class ExpressionImpl extends StatementImpl implements Expression 18public abstract class ExpressionImpl extends StatementImpl implements Expression {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected ExpressionImpl() {
25 protected ExpressionImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.EXPRESSION;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.EXPRESSION; 38} //ExpressionImpl
39 }
40
41} //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
new file mode 100644
index 00000000..2b4efc07
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java
@@ -0,0 +1,291 @@
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
new file mode 100644
index 00000000..d186fb95
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java
@@ -0,0 +1,208 @@
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
new file mode 100644
index 00000000..97c76273
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
@@ -0,0 +1,311 @@
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
new file mode 100644
index 00000000..e59fa4e3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
@@ -0,0 +1,248 @@
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
new file mode 100644
index 00000000..73bbc04f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java
@@ -0,0 +1,134 @@
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
new file mode 100644
index 00000000..3c6bb17a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
@@ -0,0 +1,314 @@
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/src-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
index e796f5a0..348f51df 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; 8import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Infinity Literal</b></em>'. 13 * An implementation of the model object '<em><b>Infinity Literal</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral 18public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected InfinityLiteralImpl() {
25 protected InfinityLiteralImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.INFINITY_LITERAL; 38} //InfinityLiteralImpl
39 }
40
41} //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
new file mode 100644
index 00000000..fab8335a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
@@ -0,0 +1,246 @@
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
new file mode 100644
index 00000000..a04dae76
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
@@ -0,0 +1,246 @@
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
new file mode 100644
index 00000000..9788c44d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java
@@ -0,0 +1,248 @@
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
new file mode 100644
index 00000000..841c74c7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java
@@ -0,0 +1,224 @@
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/src-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
index 2983566c..671fa305 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.Literal; 8import org.eclipse.viatra.solver.language.solverLanguage.Literal;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Literal</b></em>'. 13 * An implementation of the model object '<em><b>Literal</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class LiteralImpl extends ExpressionImpl implements Literal 18public class LiteralImpl extends ExpressionImpl implements Literal {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected LiteralImpl() {
25 protected LiteralImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.LITERAL;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.LITERAL; 38} //LiteralImpl
39 }
40
41} //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
new file mode 100644
index 00000000..e34a61c6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java
@@ -0,0 +1,154 @@
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
new file mode 100644
index 00000000..602edee1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
@@ -0,0 +1,166 @@
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
new file mode 100644
index 00000000..0e33864d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
@@ -0,0 +1,165 @@
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/src-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
index c248b4ea..20a59027 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; 8import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Many Multiplicity</b></em>'. 13 * An implementation of the model object '<em><b>Many Multiplicity</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity 18public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected ManyMultiplicityImpl() {
25 protected ManyMultiplicityImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY; 38} //ManyMultiplicityImpl
39 }
40
41} //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
new file mode 100644
index 00000000..f632faa4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
@@ -0,0 +1,430 @@
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
new file mode 100644
index 00000000..d441b8c1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
@@ -0,0 +1,309 @@
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
new file mode 100644
index 00000000..41fbe6de
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java
@@ -0,0 +1,159 @@
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/src-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
index 935cf5be..e29fe9f6 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
@@ -1,43 +1,40 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 9
10import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; 10import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 12
13/** 13/**
14 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Multiplicity</b></em>'. 15 * An implementation of the model object '<em><b>Multiplicity</b></em>'.
16 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * 17 *
18 * @generated 18 * @generated
19 */ 19 */
20public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity 20public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity {
21{ 21 /**
22 /** 22 * <!-- begin-user-doc -->
23 * <!-- begin-user-doc --> 23 * <!-- end-user-doc -->
24 * <!-- end-user-doc --> 24 * @generated
25 * @generated 25 */
26 */ 26 protected MultiplicityImpl() {
27 protected MultiplicityImpl() 27 super();
28 { 28 }
29 super(); 29
30 } 30 /**
31 31 * <!-- begin-user-doc -->
32 /** 32 * <!-- end-user-doc -->
33 * <!-- begin-user-doc --> 33 * @generated
34 * <!-- end-user-doc --> 34 */
35 * @generated 35 @Override
36 */ 36 protected EClass eStaticClass() {
37 @Override 37 return SolverLanguagePackage.Literals.MULTIPLICITY;
38 protected EClass eStaticClass() 38 }
39 { 39
40 return SolverLanguagePackage.Literals.MULTIPLICITY; 40} //MultiplicityImpl
41 }
42
43} //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
new file mode 100644
index 00000000..a6b102ac
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
@@ -0,0 +1,166 @@
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
new file mode 100644
index 00000000..a4fcf51f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java
@@ -0,0 +1,165 @@
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
new file mode 100644
index 00000000..ffd4294d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
@@ -0,0 +1,167 @@
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
new file mode 100644
index 00000000..7d0e4c50
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
@@ -0,0 +1,249 @@
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
new file mode 100644
index 00000000..251a27d9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
@@ -0,0 +1,372 @@
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
new file mode 100644
index 00000000..626b6419
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
@@ -0,0 +1,38 @@
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
new file mode 100644
index 00000000..0a4ad5ce
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
@@ -0,0 +1,154 @@
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
new file mode 100644
index 00000000..a1eecebd
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java
@@ -0,0 +1,318 @@
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
new file mode 100644
index 00000000..0be1aac7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
@@ -0,0 +1,159 @@
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
new file mode 100644
index 00000000..a4cf94a7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
@@ -0,0 +1,159 @@
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
new file mode 100644
index 00000000..5787175b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -0,0 +1,905 @@
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
new file mode 100644
index 00000000..e8834386
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -0,0 +1,2726 @@
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/src-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
index b0cecaab..93d3ce7f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
@@ -1,41 +1,38 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; 9import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Star Argument</b></em>'. 13 * An implementation of the model object '<em><b>Star Argument</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class StarArgumentImpl extends ArgumentImpl implements StarArgument 18public class StarArgumentImpl extends ArgumentImpl implements StarArgument {
19{ 19 /**
20 /** 20 * <!-- begin-user-doc -->
21 * <!-- begin-user-doc --> 21 * <!-- end-user-doc -->
22 * <!-- end-user-doc --> 22 * @generated
23 * @generated 23 */
24 */ 24 protected StarArgumentImpl() {
25 protected StarArgumentImpl() 25 super();
26 { 26 }
27 super(); 27
28 } 28 /**
29 29 * <!-- begin-user-doc -->
30 /** 30 * <!-- end-user-doc -->
31 * <!-- begin-user-doc --> 31 * @generated
32 * <!-- end-user-doc --> 32 */
33 * @generated 33 @Override
34 */ 34 protected EClass eStaticClass() {
35 @Override 35 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
36 protected EClass eStaticClass() 36 }
37 { 37
38 return SolverLanguagePackage.Literals.STAR_ARGUMENT; 38} //StarArgumentImpl
39 }
40
41} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
index d349d1a4..bf4d9e6a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -1,43 +1,40 @@
1/** 1/**
2 * generated by Xtext 2.21.0 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Statement; 11import org.eclipse.viatra.solver.language.solverLanguage.Statement;
12 12
13/** 13/**
14 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Statement</b></em>'. 15 * An implementation of the model object '<em><b>Statement</b></em>'.
16 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * 17 *
18 * @generated 18 * @generated
19 */ 19 */
20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement 20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement {
21{ 21 /**
22 /** 22 * <!-- begin-user-doc -->
23 * <!-- begin-user-doc --> 23 * <!-- end-user-doc -->
24 * <!-- end-user-doc --> 24 * @generated
25 * @generated 25 */
26 */ 26 protected StatementImpl() {
27 protected StatementImpl() 27 super();
28 { 28 }
29 super(); 29
30 } 30 /**
31 31 * <!-- begin-user-doc -->
32 /** 32 * <!-- end-user-doc -->
33 * <!-- begin-user-doc --> 33 * @generated
34 * <!-- end-user-doc --> 34 */
35 * @generated 35 @Override
36 */ 36 protected EClass eStaticClass() {
37 @Override 37 return SolverLanguagePackage.Literals.STATEMENT;
38 protected EClass eStaticClass() 38 }
39 { 39
40 return SolverLanguagePackage.Literals.STATEMENT; 40} //StatementImpl
41 }
42
43} //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
new file mode 100644
index 00000000..30bef702
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
@@ -0,0 +1,165 @@
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
new file mode 100644
index 00000000..23215a72
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
@@ -0,0 +1,152 @@
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
new file mode 100644
index 00000000..03032f1c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
@@ -0,0 +1,221 @@
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
new file mode 100644
index 00000000..c806b3c2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
@@ -0,0 +1,159 @@
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
new file mode 100644
index 00000000..a3a7b1dc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
@@ -0,0 +1,249 @@
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
new file mode 100644
index 00000000..35450b74
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
@@ -0,0 +1,247 @@
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
new file mode 100644
index 00000000..1762d35c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
@@ -0,0 +1,159 @@
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
new file mode 100644
index 00000000..23971e9d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
@@ -0,0 +1,1147 @@
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
new file mode 100644
index 00000000..4e5929e6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
@@ -0,0 +1,1388 @@
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/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
index bd516038..905e5a90 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
+++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
@@ -26,38 +26,63 @@
26 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" 26 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
27 containment="true"/> 27 containment="true"/>
28 </eClassifiers> 28 </eClassifiers>
29 <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement">
30 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
31 </eClassifiers>
32 <eClassifiers xsi:type="ecore:EEnum" name="MetricType">
33 <eLiterals name="INT" literal="int"/>
34 <eLiterals name="REAL" value="1" literal="real"/>
35 </eClassifiers>
36 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement"> 29 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement">
37 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" 30 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
38 containment="true"/> 31 containment="true"/>
39 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 32 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
40 containment="true"/> 33 containment="true"/>
41 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> 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"/>
42 </eClassifiers> 40 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement"> 41 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement">
44 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> 42 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
45 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> 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"/>
46 </eClassifiers> 56 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//Statement"/> 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"/>
48 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression"> 61 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression">
49 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
50 containment="true"/>
51 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression" 62 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression"
52 containment="true"/> 63 containment="true"/>
53 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression" 64 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression"
54 containment="true"/> 65 containment="true"/>
55 </eClassifiers>
56 <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression">
57 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" 66 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
58 containment="true"/> 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">
59 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 82 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
60 containment="true"/> 83 containment="true"/>
84 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
85 containment="true"/>
61 </eClassifiers> 86 </eClassifiers>
62 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator"> 87 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
63 <eLiterals name="EQ" literal="EQ"/> 88 <eLiterals name="EQ" literal="EQ"/>
@@ -72,6 +97,7 @@
72 <eLiterals name="MUL" value="9" literal="MUL"/> 97 <eLiterals name="MUL" value="9" literal="MUL"/>
73 <eLiterals name="DIV" value="10" literal="DIV"/> 98 <eLiterals name="DIV" value="10" literal="DIV"/>
74 <eLiterals name="POW" value="11" literal="POW"/> 99 <eLiterals name="POW" value="11" literal="POW"/>
100 <eLiterals name="IMPLIES" value="12"/>
75 </eClassifiers> 101 </eClassifiers>
76 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp"> 102 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp">
77 <eLiterals name="NEG" literal="!"/> 103 <eLiterals name="NEG" literal="!"/>
@@ -81,20 +107,21 @@
81 <eLiterals name="MUST" value="4" literal="must"/> 107 <eLiterals name="MUST" value="4" literal="must"/>
82 <eLiterals name="CURRENT" value="5" literal="current"/> 108 <eLiterals name="CURRENT" value="5" literal="current"/>
83 </eClassifiers> 109 </eClassifiers>
84 <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//Expression"> 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"/>
85 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 117 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
86 containment="true"/> 118 containment="true"/>
87 </eClassifiers> 119 <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" eType="#//Quantifier"/>
88 <eClassifiers xsi:type="ecore:EEnum" name="AggregationOp">
89 <eLiterals name="ONLY" literal="only"/>
90 <eLiterals name="SUM" value="1" literal="sum"/>
91 <eLiterals name="PROD" value="2" literal="prod"/>
92 <eLiterals name="AVG" value="3" literal="avg"/>
93 <eLiterals name="MIN" value="4" literal="min"/>
94 <eLiterals name="MAX" value="5" literal="max"/>
95 </eClassifiers> 120 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression"> 121 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression">
97 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//AggregationOp"/> 122 <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//NamedElement"/>
123 <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables"
124 containment="true"/>
98 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 125 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
99 containment="true"/> 126 containment="true"/>
100 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" 127 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
@@ -200,15 +227,15 @@
200 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression" 227 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression"
201 containment="true"/> 228 containment="true"/>
202 </eClassifiers> 229 </eClassifiers>
203 <eClassifiers xsi:type="ecore:EClass" name="NamedElement"> 230 <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement">
204 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
205 </eClassifiers>
206 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement">
207 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 231 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
208 containment="true"/> 232 containment="true"/>
209 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" 233 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
210 containment="true"/> 234 containment="true"/>
211 </eClassifiers> 235 </eClassifiers>
236 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//NamedElement">
237 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
238 </eClassifiers>
212 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression"> 239 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression">
213 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" 240 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
214 eType="#//Expression" containment="true"/> 241 eType="#//Expression" containment="true"/>
@@ -235,9 +262,30 @@
235 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" 262 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
236 containment="true"/> 263 containment="true"/>
237 </eClassifiers> 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>
238 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> 270 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
239 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> 271 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/>
240 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" 272 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
241 containment="true"/> 273 containment="true"/>
242 </eClassifiers> 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>
243</ecore:EPackage> 291</ecore:EPackage>
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
index 53c17e2a..2325d668 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
+++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
@@ -1,15 +1,13 @@
1<?xml version="1.0" encoding="UTF-8"?> 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" 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/src-gen" 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" 4 modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage"
5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" 5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20"> 6 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
7 runtimeVersion="2.20">
8 <foreignModel>SolverLanguage.ecore</foreignModel>
7 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" 9 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language"
8 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> 10 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/">
9 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//MetricType">
10 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/INT"/>
11 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/REAL"/>
12 </genEnums>
13 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator"> 11 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator">
14 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/> 12 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/>
15 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/> 13 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/>
@@ -23,6 +21,7 @@
23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/> 21 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/> 22 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/>
25 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/> 23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IMPLIES"/>
26 </genEnums> 25 </genEnums>
27 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp"> 26 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp">
28 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/> 27 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/>
@@ -32,14 +31,6 @@
32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/> 31 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/>
33 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/> 32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/>
34 </genEnums> 33 </genEnums>
35 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//AggregationOp">
36 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/ONLY"/>
37 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/SUM"/>
38 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/PROD"/>
39 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/AVG"/>
40 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MIN"/>
41 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MAX"/>
42 </genEnums>
43 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue"> 34 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue">
44 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/> 35 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/>
45 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/> 36 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/>
@@ -50,6 +41,11 @@
50 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/> 41 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/>
51 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/> 42 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/>
52 </genEnums> 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>
53 <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> 49 <genClasses ecoreClass="SolverLanguage.ecore#//Problem">
54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> 50 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/>
55 </genClasses> 51 </genClasses>
@@ -68,33 +64,61 @@
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/> 64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/> 65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/>
70 </genClasses> 66 </genClasses>
71 <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition">
72 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/head"/>
73 </genClasses>
74 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition"> 67 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition">
75 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/> 68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/>
76 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/> 69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/>
77 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MetricDefinition/type"/> 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"/>
78 </genClasses> 75 </genClasses>
79 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition"> 76 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition">
80 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/type"/> 77 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/type"/>
81 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/head"/> 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"/>
82 </genClasses> 92 </genClasses>
83 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/> 93 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/>
84 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse"> 94 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse">
85 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/>
86 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/> 95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/>
87 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/> 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"/>
88 </genClasses> 106 </genClasses>
89 <genClasses ecoreClass="SolverLanguage.ecore#//Case"> 107 <genClasses ecoreClass="SolverLanguage.ecore#//Case">
90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/>
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/> 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"/>
92 </genClasses> 113 </genClasses>
93 <genClasses ecoreClass="SolverLanguage.ecore#//Count"> 114 <genClasses ecoreClass="SolverLanguage.ecore#//QuantifiedExpression">
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Count/body"/> 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"/>
95 </genClasses> 118 </genClasses>
96 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation"> 119 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation">
97 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Aggregation/op"/> 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"/>
98 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/> 122 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/>
99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/> 123 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/>
100 </genClasses> 124 </genClasses>
@@ -177,12 +201,12 @@
177 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/> 201 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/>
178 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/> 202 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/>
179 </genClasses> 203 </genClasses>
180 <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement"> 204 <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation">
181 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/> 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"/>
182 </genClasses> 207 </genClasses>
183 <genClasses ecoreClass="SolverLanguage.ecore#//Assertion"> 208 <genClasses ecoreClass="SolverLanguage.ecore#//Variable">
184 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/body"/> 209 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Variable/type"/>
185 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/range"/>
186 </genClasses> 210 </genClasses>
187 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction"> 211 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction">
188 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/> 212 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/>
@@ -203,9 +227,23 @@
203 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/> 227 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/>
204 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/> 228 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/>
205 </genClasses> 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>
206 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression"> 234 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression">
207 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/> 235 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/>
208 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/> 236 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/>
209 </genClasses> 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>
210 </genPackages> 248 </genPackages>
211</genmodel:GenModel> 249</genmodel:GenModel>
diff --git a/Application/org.eclipse.viatra.solver.language/plugin.properties b/Application/org.eclipse.viatra.solver.language/plugin.properties
new file mode 100644
index 00000000..a81f16eb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/plugin.properties
@@ -0,0 +1,4 @@
1# generated by Xtext 2.21.0
2
3pluginName = org.eclipse.viatra.solver.language
4providerName = My Company
diff --git a/Application/org.eclipse.viatra.solver.language/plugin.xml b/Application/org.eclipse.viatra.solver.language/plugin.xml
index 3e332568..79c1ea47 100644
--- a/Application/org.eclipse.viatra.solver.language/plugin.xml
+++ b/Application/org.eclipse.viatra.solver.language/plugin.xml
@@ -5,6 +5,6 @@
5 <package 5 <package
6 uri = "http://www.eclipse.org/viatra/solver/language/SolverLanguage" 6 uri = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"
7 class = "org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage" 7 class = "org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage"
8 genModel = "model/generated/SolverLanguage.genmodel" /> 8 genModel = "model/SolverLanguage.genmodel" />
9 </extension> 9 </extension>
10</plugin> 10</plugin>
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
index da698ba6..da513ba9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
index 33c82701..c487738b 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
@@ -5,9 +5,7 @@ package org.eclipse.viatra.solver.language;
5 5
6import com.google.inject.Guice; 6import com.google.inject.Guice;
7import com.google.inject.Injector; 7import com.google.inject.Injector;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.resource.Resource; 8import org.eclipse.emf.ecore.resource.Resource;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.xtext.ISetup; 9import org.eclipse.xtext.ISetup;
12import org.eclipse.xtext.common.TerminalsStandaloneSetup; 10import org.eclipse.xtext.common.TerminalsStandaloneSetup;
13import org.eclipse.xtext.resource.IResourceFactory; 11import org.eclipse.xtext.resource.IResourceFactory;
@@ -30,9 +28,6 @@ public class SolverLanguageStandaloneSetupGenerated implements ISetup {
30 } 28 }
31 29
32 public void register(Injector injector) { 30 public void register(Injector injector) {
33 if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/viatra/solver/language/SolverLanguage")) {
34 EPackage.Registry.INSTANCE.put("http://www.eclipse.org/viatra/solver/language/SolverLanguage", SolverLanguagePackage.eINSTANCE);
35 }
36 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); 31 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
37 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); 32 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
38 33
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
index 6cd0341f..8ec69aaa 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
@@ -144,20 +144,20 @@ ruleStatement returns [EObject current=null]
144 } 144 }
145 | 145 |
146 { 146 {
147 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 147 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
148 } 148 }
149 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition 149 this_MetricDefinition_4=ruleMetricDefinition
150 { 150 {
151 $current = $this_ExternPredicateDefinition_4.current; 151 $current = $this_MetricDefinition_4.current;
152 afterParserOrEnumRuleCall(); 152 afterParserOrEnumRuleCall();
153 } 153 }
154 | 154 |
155 { 155 {
156 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 156 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
157 } 157 }
158 this_MetricDefinition_5=ruleMetricDefinition 158 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition
159 { 159 {
160 $current = $this_MetricDefinition_5.current; 160 $current = $this_ExternPredicateDefinition_5.current;
161 afterParserOrEnumRuleCall(); 161 afterParserOrEnumRuleCall();
162 } 162 }
163 | 163 |
@@ -171,35 +171,53 @@ ruleStatement returns [EObject current=null]
171 } 171 }
172 | 172 |
173 { 173 {
174 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 174 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
175 } 175 }
176 this_ClassDefinition_7=ruleClassDefinition 176 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition
177 { 177 {
178 $current = $this_ClassDefinition_7.current; 178 $current = $this_ExternAggregatorDefinition_7.current;
179 afterParserOrEnumRuleCall(); 179 afterParserOrEnumRuleCall();
180 } 180 }
181 | 181 |
182 { 182 {
183 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 183 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
184 } 184 }
185 this_ScopeDefinition_8=ruleScopeDefinition 185 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition
186 { 186 {
187 $current = $this_ScopeDefinition_8.current; 187 $current = $this_ExternDatatypeDefinition_8.current;
188 afterParserOrEnumRuleCall(); 188 afterParserOrEnumRuleCall();
189 } 189 }
190 | 190 |
191 { 191 {
192 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 192 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
193 } 193 }
194 this_ObjectiveDefinition_9=ruleObjectiveDefinition 194 this_ClassDefinition_9=ruleClassDefinition
195 { 195 {
196 $current = $this_ObjectiveDefinition_9.current; 196 $current = $this_ClassDefinition_9.current;
197 afterParserOrEnumRuleCall();
198 }
199 |
200 {
201 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
202 }
203 this_ScopeDefinition_10=ruleScopeDefinition
204 {
205 $current = $this_ScopeDefinition_10.current;
206 afterParserOrEnumRuleCall();
207 }
208 |
209 {
210 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
211 }
212 this_ObjectiveDefinition_11=ruleObjectiveDefinition
213 {
214 $current = $this_ObjectiveDefinition_11.current;
197 afterParserOrEnumRuleCall(); 215 afterParserOrEnumRuleCall();
198 } 216 }
199 ) 217 )
200 this_FULL_STOP_10=RULE_FULL_STOP 218 this_FULL_STOP_12=RULE_FULL_STOP
201 { 219 {
202 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 220 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
203 } 221 }
204 ) 222 )
205; 223;
@@ -233,35 +251,33 @@ ruleAssertionOrDefinition returns [EObject current=null]
233 ( 251 (
234 { 252 {
235 $current = forceCreateModelElementAndSet( 253 $current = forceCreateModelElementAndSet(
236 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 254 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
237 $current); 255 $current);
238 } 256 }
239 ) 257 )
258 otherlv_2=Colon
259 {
260 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
261 }
240 ( 262 (
241 otherlv_2=Colon
242 {
243 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
244 }
245 ( 263 (
246 ( 264 {
247 { 265 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
248 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); 266 }
249 } 267 lv_range_3_0=ruleExpression
250 lv_range_3_0=ruleExpression 268 {
251 { 269 if ($current==null) {
252 if ($current==null) { 270 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
253 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
254 }
255 set(
256 $current,
257 "range",
258 lv_range_3_0,
259 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
260 afterParserOrEnumRuleCall();
261 } 271 }
262 ) 272 set(
273 $current,
274 "range",
275 lv_range_3_0,
276 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
277 afterParserOrEnumRuleCall();
278 }
263 ) 279 )
264 )? 280 )
265 ) 281 )
266 | 282 |
267 ( 283 (
@@ -329,7 +345,7 @@ ruleAssertionOrDefinition returns [EObject current=null]
329 ) 345 )
330 ) 346 )
331 ) 347 )
332 ) 348 )?
333 ) 349 )
334; 350;
335 351
@@ -587,6 +603,83 @@ ruleDefaultDefinition returns [EObject current=null]
587 ) 603 )
588; 604;
589 605
606// Entry rule entryRuleMetricDefinition
607entryRuleMetricDefinition returns [EObject current=null]:
608 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); }
609 iv_ruleMetricDefinition=ruleMetricDefinition
610 { $current=$iv_ruleMetricDefinition.current; }
611 EOF;
612
613// Rule MetricDefinition
614ruleMetricDefinition returns [EObject current=null]
615@init {
616 enterRule();
617}
618@after {
619 leaveRule();
620}:
621 (
622 (
623 (
624 {
625 if ($current==null) {
626 $current = createModelElement(grammarAccess.getMetricDefinitionRule());
627 }
628 }
629 {
630 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
631 }
632 ruleQualifiedName
633 {
634 afterParserOrEnumRuleCall();
635 }
636 )
637 )
638 (
639 (
640 {
641 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
642 }
643 lv_head_1_0=ruleCall
644 {
645 if ($current==null) {
646 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
647 }
648 set(
649 $current,
650 "head",
651 lv_head_1_0,
652 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
653 afterParserOrEnumRuleCall();
654 }
655 )
656 )
657 otherlv_2=EqualsSign
658 {
659 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
660 }
661 (
662 (
663 {
664 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
665 }
666 lv_body_3_0=ruleExpression
667 {
668 if ($current==null) {
669 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
670 }
671 set(
672 $current,
673 "body",
674 lv_body_3_0,
675 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
676 afterParserOrEnumRuleCall();
677 }
678 )
679 )
680 )
681;
682
590// Entry rule entryRuleExternPredicateDefinition 683// Entry rule entryRuleExternPredicateDefinition
591entryRuleExternPredicateDefinition returns [EObject current=null]: 684entryRuleExternPredicateDefinition returns [EObject current=null]:
592 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } 685 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); }
@@ -610,18 +703,37 @@ ruleExternPredicateDefinition returns [EObject current=null]
610 ( 703 (
611 ( 704 (
612 { 705 {
613 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 706 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
614 } 707 }
615 lv_head_1_0=ruleCall 708 lv_name_1_0=ruleQualifiedName
616 { 709 {
617 if ($current==null) { 710 if ($current==null) {
618 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 711 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
619 } 712 }
620 set( 713 set(
621 $current, 714 $current,
622 "head", 715 "name",
623 lv_head_1_0, 716 lv_name_1_0,
624 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 717 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
718 afterParserOrEnumRuleCall();
719 }
720 )
721 )
722 (
723 (
724 {
725 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
726 }
727 lv_argumentList_2_0=ruleArgumentList
728 {
729 if ($current==null) {
730 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
731 }
732 set(
733 $current,
734 "argumentList",
735 lv_argumentList_2_0,
736 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
625 afterParserOrEnumRuleCall(); 737 afterParserOrEnumRuleCall();
626 } 738 }
627 ) 739 )
@@ -629,15 +741,15 @@ ruleExternPredicateDefinition returns [EObject current=null]
629 ) 741 )
630; 742;
631 743
632// Entry rule entryRuleMetricDefinition 744// Entry rule entryRuleExternMetricDefinition
633entryRuleMetricDefinition returns [EObject current=null]: 745entryRuleExternMetricDefinition returns [EObject current=null]:
634 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } 746 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); }
635 iv_ruleMetricDefinition=ruleMetricDefinition 747 iv_ruleExternMetricDefinition=ruleExternMetricDefinition
636 { $current=$iv_ruleMetricDefinition.current; } 748 { $current=$iv_ruleExternMetricDefinition.current; }
637 EOF; 749 EOF;
638 750
639// Rule MetricDefinition 751// Rule ExternMetricDefinition
640ruleMetricDefinition returns [EObject current=null] 752ruleExternMetricDefinition returns [EObject current=null]
641@init { 753@init {
642 enterRule(); 754 enterRule();
643} 755}
@@ -645,21 +757,41 @@ ruleMetricDefinition returns [EObject current=null]
645 leaveRule(); 757 leaveRule();
646}: 758}:
647 ( 759 (
760 otherlv_0=Extern
761 {
762 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
763 }
648 ( 764 (
649 ( 765 (
650 { 766 {
651 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 767 if ($current==null) {
768 $current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
769 }
652 } 770 }
653 lv_type_0_0=ruleMetricType 771 {
772 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
773 }
774 ruleQualifiedName
775 {
776 afterParserOrEnumRuleCall();
777 }
778 )
779 )
780 (
781 (
782 {
783 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
784 }
785 lv_name_2_0=ruleQualifiedName
654 { 786 {
655 if ($current==null) { 787 if ($current==null) {
656 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 788 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
657 } 789 }
658 set( 790 set(
659 $current, 791 $current,
660 "type", 792 "name",
661 lv_type_0_0, 793 lv_name_2_0,
662 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 794 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
663 afterParserOrEnumRuleCall(); 795 afterParserOrEnumRuleCall();
664 } 796 }
665 ) 797 )
@@ -667,57 +799,120 @@ ruleMetricDefinition returns [EObject current=null]
667 ( 799 (
668 ( 800 (
669 { 801 {
670 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 802 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
671 } 803 }
672 lv_head_1_0=ruleExpression 804 lv_argumentList_3_0=ruleArgumentList
673 { 805 {
674 if ($current==null) { 806 if ($current==null) {
675 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 807 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
676 } 808 }
677 set( 809 set(
678 $current, 810 $current,
679 "head", 811 "argumentList",
680 lv_head_1_0, 812 lv_argumentList_3_0,
681 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 813 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
682 afterParserOrEnumRuleCall(); 814 afterParserOrEnumRuleCall();
683 } 815 }
684 ) 816 )
685 ) 817 )
686 otherlv_2=EqualsSign 818 )
819;
820
821// Entry rule entryRuleExternAggregatorDefinition
822entryRuleExternAggregatorDefinition returns [EObject current=null]:
823 { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); }
824 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition
825 { $current=$iv_ruleExternAggregatorDefinition.current; }
826 EOF;
827
828// Rule ExternAggregatorDefinition
829ruleExternAggregatorDefinition returns [EObject current=null]
830@init {
831 enterRule();
832}
833@after {
834 leaveRule();
835}:
836 (
837 otherlv_0=Extern
687 { 838 {
688 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 839 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
689 } 840 }
690 ( 841 (
691 ( 842 (
692 { 843 {
693 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 844 if ($current==null) {
845 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
846 }
694 } 847 }
695 lv_body_3_0=ruleExpression 848 {
849 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
850 }
851 ruleQualifiedName
852 {
853 afterParserOrEnumRuleCall();
854 }
855 )
856 )
857 (
858 (
859 {
860 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
861 }
862 lv_name_2_0=ruleQualifiedName
696 { 863 {
697 if ($current==null) { 864 if ($current==null) {
698 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 865 $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
699 } 866 }
700 set( 867 set(
701 $current, 868 $current,
702 "body", 869 "name",
703 lv_body_3_0, 870 lv_name_2_0,
704 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 871 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
705 afterParserOrEnumRuleCall(); 872 afterParserOrEnumRuleCall();
706 } 873 }
707 ) 874 )
708 ) 875 )
876 otherlv_3=LeftCurlyBracket
877 {
878 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
879 }
880 (
881 (
882 {
883 if ($current==null) {
884 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
885 }
886 }
887 {
888 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
889 }
890 ruleQualifiedName
891 {
892 afterParserOrEnumRuleCall();
893 }
894 )
895 )
896 otherlv_5=FullStopFullStopFullStop
897 {
898 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
899 }
900 otherlv_6=RightCurlyBracket
901 {
902 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
903 }
709 ) 904 )
710; 905;
711 906
712// Entry rule entryRuleExternMetricDefinition 907// Entry rule entryRuleExternDatatypeDefinition
713entryRuleExternMetricDefinition returns [EObject current=null]: 908entryRuleExternDatatypeDefinition returns [EObject current=null]:
714 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } 909 { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); }
715 iv_ruleExternMetricDefinition=ruleExternMetricDefinition 910 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition
716 { $current=$iv_ruleExternMetricDefinition.current; } 911 { $current=$iv_ruleExternDatatypeDefinition.current; }
717 EOF; 912 EOF;
718 913
719// Rule ExternMetricDefinition 914// Rule ExternDatatypeDefinition
720ruleExternMetricDefinition returns [EObject current=null] 915ruleExternDatatypeDefinition returns [EObject current=null]
721@init { 916@init {
722 enterRule(); 917 enterRule();
723} 918}
@@ -727,43 +922,125 @@ ruleExternMetricDefinition returns [EObject current=null]
727 ( 922 (
728 otherlv_0=Extern 923 otherlv_0=Extern
729 { 924 {
730 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 925 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
926 }
927 otherlv_1=Datatype
928 {
929 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
731 } 930 }
732 ( 931 (
733 ( 932 (
734 { 933 {
735 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 934 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
736 } 935 }
737 lv_type_1_0=ruleMetricType 936 lv_name_2_0=ruleQualifiedName
738 { 937 {
739 if ($current==null) { 938 if ($current==null) {
740 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 939 $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
741 } 940 }
742 set( 941 set(
743 $current, 942 $current,
744 "type", 943 "name",
745 lv_type_1_0, 944 lv_name_2_0,
746 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 945 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
747 afterParserOrEnumRuleCall(); 946 afterParserOrEnumRuleCall();
748 } 947 }
749 ) 948 )
750 ) 949 )
751 ( 950 (
951 otherlv_3=Extends
952 {
953 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
954 }
955 (
956 (
957 {
958 if ($current==null) {
959 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
960 }
961 }
962 {
963 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
964 }
965 ruleQualifiedName
966 {
967 afterParserOrEnumRuleCall();
968 }
969 )
970 )
971 (
972 otherlv_5=Comma
973 {
974 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
975 }
976 (
977 (
978 {
979 if ($current==null) {
980 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
981 }
982 }
983 {
984 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
985 }
986 ruleQualifiedName
987 {
988 afterParserOrEnumRuleCall();
989 }
990 )
991 )
992 )*
993 )
994 )
995;
996
997// Entry rule entryRuleVariable
998entryRuleVariable returns [EObject current=null]:
999 { newCompositeNode(grammarAccess.getVariableRule()); }
1000 iv_ruleVariable=ruleVariable
1001 { $current=$iv_ruleVariable.current; }
1002 EOF;
1003
1004// Rule Variable
1005ruleVariable returns [EObject current=null]
1006@init {
1007 enterRule();
1008}
1009@after {
1010 leaveRule();
1011}:
1012 (
1013 (
752 ( 1014 (
753 { 1015 {
754 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 1016 if ($current==null) {
1017 $current = createModelElement(grammarAccess.getVariableRule());
1018 }
1019 }
1020 {
1021 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
1022 }
1023 ruleQualifiedName
1024 {
1025 afterParserOrEnumRuleCall();
1026 }
1027 )
1028 )?
1029 (
1030 (
1031 lv_name_1_0=RULE_ID
1032 {
1033 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
755 } 1034 }
756 lv_head_2_0=ruleCall
757 { 1035 {
758 if ($current==null) { 1036 if ($current==null) {
759 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 1037 $current = createModelElement(grammarAccess.getVariableRule());
760 } 1038 }
761 set( 1039 setWithLastConsumed(
762 $current, 1040 $current,
763 "head", 1041 "name",
764 lv_head_2_0, 1042 lv_name_1_0,
765 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1043 "org.eclipse.xtext.common.Terminals.ID");
766 afterParserOrEnumRuleCall();
767 } 1044 }
768 ) 1045 )
769 ) 1046 )
@@ -796,11 +1073,20 @@ ruleExpression returns [EObject current=null]
796 } 1073 }
797 | 1074 |
798 { 1075 {
799 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 1076 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
800 } 1077 }
801 this_DisjunctiveExpression_1=ruleDisjunctiveExpression 1078 this_Let_1=ruleLet
802 { 1079 {
803 $current = $this_DisjunctiveExpression_1.current; 1080 $current = $this_Let_1.current;
1081 afterParserOrEnumRuleCall();
1082 }
1083 |
1084 {
1085 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
1086 }
1087 this_ImplicationExpression_2=ruleImplicationExpression
1088 {
1089 $current = $this_ImplicationExpression_2.current;
804 afterParserOrEnumRuleCall(); 1090 afterParserOrEnumRuleCall();
805 } 1091 }
806 ) 1092 )
@@ -894,6 +1180,231 @@ ruleIfElse returns [EObject current=null]
894 ) 1180 )
895; 1181;
896 1182
1183// Entry rule entryRuleLet
1184entryRuleLet returns [EObject current=null]:
1185 { newCompositeNode(grammarAccess.getLetRule()); }
1186 iv_ruleLet=ruleLet
1187 { $current=$iv_ruleLet.current; }
1188 EOF;
1189
1190// Rule Let
1191ruleLet returns [EObject current=null]
1192@init {
1193 enterRule();
1194}
1195@after {
1196 leaveRule();
1197}:
1198 (
1199 otherlv_0=Let
1200 {
1201 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
1202 }
1203 (
1204 (
1205 {
1206 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
1207 }
1208 lv_bindings_1_0=ruleLetBinding
1209 {
1210 if ($current==null) {
1211 $current = createModelElementForParent(grammarAccess.getLetRule());
1212 }
1213 add(
1214 $current,
1215 "bindings",
1216 lv_bindings_1_0,
1217 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1218 afterParserOrEnumRuleCall();
1219 }
1220 )
1221 )
1222 (
1223 otherlv_2=Comma
1224 {
1225 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
1226 }
1227 (
1228 (
1229 {
1230 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
1231 }
1232 lv_bindings_3_0=ruleLetBinding
1233 {
1234 if ($current==null) {
1235 $current = createModelElementForParent(grammarAccess.getLetRule());
1236 }
1237 add(
1238 $current,
1239 "bindings",
1240 lv_bindings_3_0,
1241 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1242 afterParserOrEnumRuleCall();
1243 }
1244 )
1245 )
1246 )*
1247 otherlv_4=In
1248 {
1249 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
1250 }
1251 (
1252 (
1253 {
1254 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
1255 }
1256 lv_body_5_0=ruleExpression
1257 {
1258 if ($current==null) {
1259 $current = createModelElementForParent(grammarAccess.getLetRule());
1260 }
1261 set(
1262 $current,
1263 "body",
1264 lv_body_5_0,
1265 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1266 afterParserOrEnumRuleCall();
1267 }
1268 )
1269 )
1270 )
1271;
1272
1273// Entry rule entryRuleLetBinding
1274entryRuleLetBinding returns [EObject current=null]:
1275 { newCompositeNode(grammarAccess.getLetBindingRule()); }
1276 iv_ruleLetBinding=ruleLetBinding
1277 { $current=$iv_ruleLetBinding.current; }
1278 EOF;
1279
1280// Rule LetBinding
1281ruleLetBinding returns [EObject current=null]
1282@init {
1283 enterRule();
1284}
1285@after {
1286 leaveRule();
1287}:
1288 (
1289 (
1290 (
1291 {
1292 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
1293 }
1294 lv_variable_0_0=ruleVariable
1295 {
1296 if ($current==null) {
1297 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1298 }
1299 set(
1300 $current,
1301 "variable",
1302 lv_variable_0_0,
1303 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1304 afterParserOrEnumRuleCall();
1305 }
1306 )
1307 )
1308 otherlv_1=EqualsSign
1309 {
1310 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
1311 }
1312 (
1313 (
1314 {
1315 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
1316 }
1317 lv_value_2_0=ruleAdditiveExpression
1318 {
1319 if ($current==null) {
1320 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1321 }
1322 set(
1323 $current,
1324 "value",
1325 lv_value_2_0,
1326 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
1327 afterParserOrEnumRuleCall();
1328 }
1329 )
1330 )
1331 )
1332;
1333
1334// Entry rule entryRuleImplicationExpression
1335entryRuleImplicationExpression returns [EObject current=null]:
1336 { newCompositeNode(grammarAccess.getImplicationExpressionRule()); }
1337 iv_ruleImplicationExpression=ruleImplicationExpression
1338 { $current=$iv_ruleImplicationExpression.current; }
1339 EOF;
1340
1341// Rule ImplicationExpression
1342ruleImplicationExpression returns [EObject current=null]
1343@init {
1344 enterRule();
1345}
1346@after {
1347 leaveRule();
1348}:
1349 (
1350 {
1351 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
1352 }
1353 this_DisjunctiveExpression_0=ruleDisjunctiveExpression
1354 {
1355 $current = $this_DisjunctiveExpression_0.current;
1356 afterParserOrEnumRuleCall();
1357 }
1358 (
1359 (
1360 {
1361 $current = forceCreateModelElementAndSet(
1362 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1363 $current);
1364 }
1365 )
1366 (
1367 (
1368 {
1369 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
1370 }
1371 lv_op_2_0=ruleImplicationOperator
1372 {
1373 if ($current==null) {
1374 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1375 }
1376 set(
1377 $current,
1378 "op",
1379 lv_op_2_0,
1380 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
1381 afterParserOrEnumRuleCall();
1382 }
1383 )
1384 )
1385 (
1386 (
1387 {
1388 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
1389 }
1390 lv_right_3_0=ruleImplicationExpression
1391 {
1392 if ($current==null) {
1393 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1394 }
1395 set(
1396 $current,
1397 "right",
1398 lv_right_3_0,
1399 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
1400 afterParserOrEnumRuleCall();
1401 }
1402 )
1403 )
1404 )?
1405 )
1406;
1407
897// Entry rule entryRuleDisjunctiveExpression 1408// Entry rule entryRuleDisjunctiveExpression
898entryRuleDisjunctiveExpression returns [EObject current=null]: 1409entryRuleDisjunctiveExpression returns [EObject current=null]:
899 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } 1410 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); }
@@ -1383,11 +1894,11 @@ ruleExponentialExpression returns [EObject current=null]
1383}: 1894}:
1384 ( 1895 (
1385 { 1896 {
1386 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 1897 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
1387 } 1898 }
1388 this_UnaryExpression_0=ruleUnaryExpression 1899 this_CastExpression_0=ruleCastExpression
1389 { 1900 {
1390 $current = $this_UnaryExpression_0.current; 1901 $current = $this_CastExpression_0.current;
1391 afterParserOrEnumRuleCall(); 1902 afterParserOrEnumRuleCall();
1392 } 1903 }
1393 ( 1904 (
@@ -1420,9 +1931,9 @@ ruleExponentialExpression returns [EObject current=null]
1420 ( 1931 (
1421 ( 1932 (
1422 { 1933 {
1423 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 1934 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
1424 } 1935 }
1425 lv_right_3_0=ruleExponentialExpression 1936 lv_right_3_0=ruleCastExpression
1426 { 1937 {
1427 if ($current==null) { 1938 if ($current==null) {
1428 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); 1939 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
@@ -1431,7 +1942,63 @@ ruleExponentialExpression returns [EObject current=null]
1431 $current, 1942 $current,
1432 "right", 1943 "right",
1433 lv_right_3_0, 1944 lv_right_3_0,
1434 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 1945 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
1946 afterParserOrEnumRuleCall();
1947 }
1948 )
1949 )
1950 )?
1951 )
1952;
1953
1954// Entry rule entryRuleCastExpression
1955entryRuleCastExpression returns [EObject current=null]:
1956 { newCompositeNode(grammarAccess.getCastExpressionRule()); }
1957 iv_ruleCastExpression=ruleCastExpression
1958 { $current=$iv_ruleCastExpression.current; }
1959 EOF;
1960
1961// Rule CastExpression
1962ruleCastExpression returns [EObject current=null]
1963@init {
1964 enterRule();
1965}
1966@after {
1967 leaveRule();
1968}:
1969 (
1970 {
1971 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
1972 }
1973 this_UnaryExpression_0=ruleUnaryExpression
1974 {
1975 $current = $this_UnaryExpression_0.current;
1976 afterParserOrEnumRuleCall();
1977 }
1978 (
1979 (
1980 {
1981 $current = forceCreateModelElementAndSet(
1982 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
1983 $current);
1984 }
1985 )
1986 otherlv_2=As
1987 {
1988 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
1989 }
1990 (
1991 (
1992 {
1993 if ($current==null) {
1994 $current = createModelElement(grammarAccess.getCastExpressionRule());
1995 }
1996 }
1997 {
1998 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
1999 }
2000 ruleQualifiedName
2001 {
1435 afterParserOrEnumRuleCall(); 2002 afterParserOrEnumRuleCall();
1436 } 2003 }
1437 ) 2004 )
@@ -1541,11 +2108,11 @@ ruleAggregationExpression returns [EObject current=null]
1541 } 2108 }
1542 | 2109 |
1543 { 2110 {
1544 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 2111 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
1545 } 2112 }
1546 this_Count_1=ruleCount 2113 this_QuantifiedExpression_1=ruleQuantifiedExpression
1547 { 2114 {
1548 $current = $this_Count_1.current; 2115 $current = $this_QuantifiedExpression_1.current;
1549 afterParserOrEnumRuleCall(); 2116 afterParserOrEnumRuleCall();
1550 } 2117 }
1551 | 2118 |
@@ -1560,15 +2127,15 @@ ruleAggregationExpression returns [EObject current=null]
1560 ) 2127 )
1561; 2128;
1562 2129
1563// Entry rule entryRuleCount 2130// Entry rule entryRuleLocalVariables
1564entryRuleCount returns [EObject current=null]: 2131entryRuleLocalVariables returns [EObject current=null]:
1565 { newCompositeNode(grammarAccess.getCountRule()); } 2132 { newCompositeNode(grammarAccess.getLocalVariablesRule()); }
1566 iv_ruleCount=ruleCount 2133 iv_ruleLocalVariables=ruleLocalVariables
1567 { $current=$iv_ruleCount.current; } 2134 { $current=$iv_ruleLocalVariables.current; }
1568 EOF; 2135 EOF;
1569 2136
1570// Rule Count 2137// Rule LocalVariables
1571ruleCount returns [EObject current=null] 2138ruleLocalVariables returns [EObject current=null]
1572@init { 2139@init {
1573 enterRule(); 2140 enterRule();
1574} 2141}
@@ -1576,36 +2143,150 @@ ruleCount returns [EObject current=null]
1576 leaveRule(); 2143 leaveRule();
1577}: 2144}:
1578 ( 2145 (
1579 otherlv_0=Count 2146 (
2147 {
2148 $current = forceCreateModelElement(
2149 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
2150 $current);
2151 }
2152 )
2153 otherlv_1=LeftSquareBracket
1580 { 2154 {
1581 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 2155 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
1582 } 2156 }
1583 otherlv_1=LeftCurlyBracket 2157 (
2158 (
2159 (
2160 {
2161 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
2162 }
2163 lv_variables_2_0=ruleVariable
2164 {
2165 if ($current==null) {
2166 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2167 }
2168 add(
2169 $current,
2170 "variables",
2171 lv_variables_2_0,
2172 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2173 afterParserOrEnumRuleCall();
2174 }
2175 )
2176 )
2177 (
2178 otherlv_3=Comma
2179 {
2180 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
2181 }
2182 (
2183 (
2184 {
2185 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
2186 }
2187 lv_variables_4_0=ruleVariable
2188 {
2189 if ($current==null) {
2190 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2191 }
2192 add(
2193 $current,
2194 "variables",
2195 lv_variables_4_0,
2196 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2197 afterParserOrEnumRuleCall();
2198 }
2199 )
2200 )
2201 )*
2202 )?
2203 otherlv_5=RightSquareBracket
1584 { 2204 {
1585 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 2205 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
1586 } 2206 }
2207 )
2208;
2209
2210// Entry rule entryRuleQuantifiedExpression
2211entryRuleQuantifiedExpression returns [EObject current=null]:
2212 { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); }
2213 iv_ruleQuantifiedExpression=ruleQuantifiedExpression
2214 { $current=$iv_ruleQuantifiedExpression.current; }
2215 EOF;
2216
2217// Rule QuantifiedExpression
2218ruleQuantifiedExpression returns [EObject current=null]
2219@init {
2220 enterRule();
2221}
2222@after {
2223 leaveRule();
2224}:
2225 (
1587 ( 2226 (
1588 ( 2227 (
1589 { 2228 {
1590 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 2229 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
1591 } 2230 }
1592 lv_body_2_0=ruleExpression 2231 lv_quantifier_0_0=ruleQuantifier
1593 { 2232 {
1594 if ($current==null) { 2233 if ($current==null) {
1595 $current = createModelElementForParent(grammarAccess.getCountRule()); 2234 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2235 }
2236 set(
2237 $current,
2238 "quantifier",
2239 lv_quantifier_0_0,
2240 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2241 afterParserOrEnumRuleCall();
2242 }
2243 )
2244 )
2245 (
2246 (
2247 {
2248 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
2249 }
2250 lv_localVariables_1_0=ruleLocalVariables
2251 {
2252 if ($current==null) {
2253 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2254 }
2255 set(
2256 $current,
2257 "localVariables",
2258 lv_localVariables_1_0,
2259 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
2260 afterParserOrEnumRuleCall();
2261 }
2262 )
2263 )?
2264 otherlv_2=LeftCurlyBracket
2265 {
2266 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
2267 }
2268 (
2269 (
2270 {
2271 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
2272 }
2273 lv_body_3_0=ruleExpression
2274 {
2275 if ($current==null) {
2276 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
1596 } 2277 }
1597 set( 2278 set(
1598 $current, 2279 $current,
1599 "body", 2280 "body",
1600 lv_body_2_0, 2281 lv_body_3_0,
1601 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2282 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1602 afterParserOrEnumRuleCall(); 2283 afterParserOrEnumRuleCall();
1603 } 2284 }
1604 ) 2285 )
1605 ) 2286 )
1606 otherlv_3=RightCurlyBracket 2287 otherlv_4=RightCurlyBracket
1607 { 2288 {
1608 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 2289 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
1609 } 2290 }
1610 ) 2291 )
1611; 2292;
@@ -1629,71 +2310,89 @@ ruleAggregation returns [EObject current=null]
1629 ( 2310 (
1630 ( 2311 (
1631 { 2312 {
1632 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
1633 }
1634 lv_op_0_0=ruleAggregationOp
1635 {
1636 if ($current==null) { 2313 if ($current==null) {
1637 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2314 $current = createModelElement(grammarAccess.getAggregationRule());
1638 } 2315 }
1639 set( 2316 }
1640 $current, 2317 {
1641 "op", 2318 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
1642 lv_op_0_0, 2319 }
1643 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); 2320 ruleQualifiedName
2321 {
1644 afterParserOrEnumRuleCall(); 2322 afterParserOrEnumRuleCall();
1645 } 2323 }
1646 ) 2324 )
1647 ) 2325 )
1648 otherlv_1=LeftCurlyBracket
1649 {
1650 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
1651 }
1652 ( 2326 (
1653 ( 2327 (
1654 { 2328 {
1655 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 2329 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
1656 } 2330 }
1657 lv_body_2_0=ruleExpression 2331 lv_localVariables_1_0=ruleLocalVariables
1658 { 2332 {
1659 if ($current==null) { 2333 if ($current==null) {
1660 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2334 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1661 } 2335 }
1662 set( 2336 set(
1663 $current, 2337 $current,
1664 "body", 2338 "localVariables",
1665 lv_body_2_0, 2339 lv_localVariables_1_0,
1666 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2340 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
1667 afterParserOrEnumRuleCall(); 2341 afterParserOrEnumRuleCall();
1668 } 2342 }
1669 ) 2343 )
1670 ) 2344 )?
1671 otherlv_3=VerticalLine 2345 otherlv_2=LeftCurlyBracket
1672 { 2346 {
1673 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 2347 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
1674 } 2348 }
1675 ( 2349 (
1676 ( 2350 (
1677 { 2351 {
1678 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 2352 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
1679 } 2353 }
1680 lv_condition_4_0=ruleExpression 2354 lv_body_3_0=ruleExpression
1681 { 2355 {
1682 if ($current==null) { 2356 if ($current==null) {
1683 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2357 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1684 } 2358 }
1685 set( 2359 set(
1686 $current, 2360 $current,
1687 "condition", 2361 "body",
1688 lv_condition_4_0, 2362 lv_body_3_0,
1689 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2363 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1690 afterParserOrEnumRuleCall(); 2364 afterParserOrEnumRuleCall();
1691 } 2365 }
1692 ) 2366 )
1693 ) 2367 )
1694 otherlv_5=RightCurlyBracket 2368 (
2369 otherlv_4=VerticalLine
2370 {
2371 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
2372 }
2373 (
2374 (
2375 {
2376 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
2377 }
2378 lv_condition_5_0=ruleExpression
2379 {
2380 if ($current==null) {
2381 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2382 }
2383 set(
2384 $current,
2385 "condition",
2386 lv_condition_5_0,
2387 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2388 afterParserOrEnumRuleCall();
2389 }
2390 )
2391 )
2392 )?
2393 otherlv_6=RightCurlyBracket
1695 { 2394 {
1696 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 2395 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
1697 } 2396 }
1698 ) 2397 )
1699; 2398;
@@ -3485,8 +4184,8 @@ finally {
3485 myHiddenTokenState.restore(); 4184 myHiddenTokenState.restore();
3486} 4185}
3487 4186
3488// Rule MetricType 4187// Rule ImplicationOperator
3489ruleMetricType returns [Enumerator current=null] 4188ruleImplicationOperator returns [Enumerator current=null]
3490@init { 4189@init {
3491 enterRule(); 4190 enterRule();
3492} 4191}
@@ -3494,21 +4193,11 @@ ruleMetricType returns [Enumerator current=null]
3494 leaveRule(); 4193 leaveRule();
3495}: 4194}:
3496 ( 4195 (
3497 ( 4196 enumLiteral_0=EqualsSignGreaterThanSign
3498 enumLiteral_0=Int 4197 {
3499 { 4198 $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
3500 $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4199 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
3501 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); 4200 }
3502 }
3503 )
3504 |
3505 (
3506 enumLiteral_1=Real
3507 {
3508 $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3509 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
3510 }
3511 )
3512 ) 4201 )
3513; 4202;
3514 4203
@@ -3709,8 +4398,8 @@ ruleUnaryOp returns [Enumerator current=null]
3709 ) 4398 )
3710; 4399;
3711 4400
3712// Rule AggregationOp 4401// Rule Quantifier
3713ruleAggregationOp returns [Enumerator current=null] 4402ruleQuantifier returns [Enumerator current=null]
3714@init { 4403@init {
3715 enterRule(); 4404 enterRule();
3716} 4405}
@@ -3719,50 +4408,26 @@ ruleAggregationOp returns [Enumerator current=null]
3719}: 4408}:
3720 ( 4409 (
3721 ( 4410 (
3722 enumLiteral_0=Only 4411 enumLiteral_0=Exists
3723 {
3724 $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3725 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
3726 }
3727 )
3728 |
3729 (
3730 enumLiteral_1=Sum
3731 {
3732 $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3733 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
3734 }
3735 )
3736 |
3737 (
3738 enumLiteral_2=Prod
3739 {
3740 $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3741 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
3742 }
3743 )
3744 |
3745 (
3746 enumLiteral_3=Avg
3747 { 4412 {
3748 $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 4413 $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3749 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 4414 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
3750 } 4415 }
3751 ) 4416 )
3752 | 4417 |
3753 ( 4418 (
3754 enumLiteral_4=Min 4419 enumLiteral_1=Forall
3755 { 4420 {
3756 $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); 4421 $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3757 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); 4422 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
3758 } 4423 }
3759 ) 4424 )
3760 | 4425 |
3761 ( 4426 (
3762 enumLiteral_5=Max 4427 enumLiteral_2=Count
3763 { 4428 {
3764 $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 4429 $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3765 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); 4430 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
3766 } 4431 }
3767 ) 4432 )
3768 ) 4433 )
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
index 7dbfa002..3e25746c 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
@@ -22,92 +22,79 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "GREATER_EQ", "Functional", "Abstract", "Contains", "Maximize", "Minimize", "Opposite", "GREATER", "LESS_EQ", "Current", "Default", "Extends", "Unknown", "NOT_EQ", "Extern", "Class", "Count", "Empty", "Error", "False", "Scope", "LESS", "Else", "Must", "Only", "Prod", "Real", "Then", "True", "ADD", "DIV", "MUL", "POW", "SUB", "Avg", "Inf", "Int", "Max", "May", "Min", "Sum", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "GreaterThanSignEqualsSign", "EQ", "IN", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Current", "Default", "Extends", "Unknown", "Exists", "Extern", "Forall", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Must", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "May", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
26 }; 26 };
27 public static final int ADD=33; 27 public static final int EqualsSignGreaterThanSign=38;
28 public static final int True=32; 28 public static final int True=27;
29 public static final int GREATER_EQ=4; 29 public static final int Count=19;
30 public static final int Count=20; 30 public static final int False=22;
31 public static final int False=23; 31 public static final int Must=25;
32 public static final int Must=27; 32 public static final int FullStopFullStopFullStop=28;
33 public static final int LessThanSign=67; 33 public static final int LessThanSign=54;
34 public static final int LeftParenthesis=57; 34 public static final int Datatype=7;
35 public static final int Unknown=16; 35 public static final int LeftParenthesis=44;
36 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 36 public static final int Unknown=14;
37 public static final int FullStopFullStop=47; 37 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
38 public static final int Real=30; 38 public static final int FullStopFullStop=34;
39 public static final int Then=31; 39 public static final int Then=26;
40 public static final int Extends=15; 40 public static final int Extends=13;
41 public static final int RightSquareBracket=71; 41 public static final int Forall=17;
42 public static final int ExclamationMark=56; 42 public static final int RightSquareBracket=58;
43 public static final int ExclamationMark=43;
43 public static final int Opposite=10; 44 public static final int Opposite=10;
44 public static final int SUB=37; 45 public static final int GreaterThanSign=56;
45 public static final int GreaterThanSign=69; 46 public static final int RULE_ID=69;
46 public static final int NOT_EQ=17; 47 public static final int RULE_QUOTED_ID=64;
47 public static final int RULE_ID=82; 48 public static final int RightParenthesis=45;
48 public static final int MUL=35; 49 public static final int GreaterThanSignEqualsSign=39;
49 public static final int IN=53; 50 public static final int Functional=4;
50 public static final int RULE_QUOTED_ID=77; 51 public static final int EqualsSignEqualsSign=37;
51 public static final int RightParenthesis=58; 52 public static final int VerticalLine=61;
52 public static final int Sum=44; 53 public static final int PlusSign=47;
53 public static final int EQ=52; 54 public static final int RULE_INT=70;
54 public static final int GreaterThanSignEqualsSign=51; 55 public static final int Contains=6;
55 public static final int Functional=5; 56 public static final int RULE_ML_COMMENT=71;
56 public static final int EqualsSignEqualsSign=50; 57 public static final int RULE_TRANSITIVE_CLOSURE=66;
57 public static final int Avg=38; 58 public static final int Class=18;
58 public static final int Min=43; 59 public static final int LeftSquareBracket=57;
59 public static final int VerticalLine=74; 60 public static final int RULE_FULL_STOP=68;
60 public static final int PlusSign=60; 61 public static final int Current=11;
61 public static final int RULE_INT=83; 62 public static final int If=41;
62 public static final int Contains=7; 63 public static final int Inf=29;
63 public static final int RULE_ML_COMMENT=84; 64 public static final int May=31;
64 public static final int POW=36; 65 public static final int In=42;
65 public static final int RULE_TRANSITIVE_CLOSURE=79; 66 public static final int RULE_STRING=63;
66 public static final int Class=19; 67 public static final int Extern=16;
67 public static final int LESS=25; 68 public static final int RULE_SL_COMMENT=65;
68 public static final int LeftSquareBracket=70; 69 public static final int Comma=48;
69 public static final int RULE_FULL_STOP=81; 70 public static final int EqualsSign=55;
70 public static final int Current=13; 71 public static final int Empty=20;
71 public static final int If=54; 72 public static final int As=40;
72 public static final int Inf=39; 73 public static final int HyphenMinus=49;
73 public static final int LESS_EQ=12;
74 public static final int May=42;
75 public static final int Max=41;
76 public static final int In=55;
77 public static final int RULE_STRING=76;
78 public static final int Int=40;
79 public static final int Extern=18;
80 public static final int RULE_SL_COMMENT=78;
81 public static final int Prod=29;
82 public static final int Comma=61;
83 public static final int EqualsSign=68;
84 public static final int Empty=21;
85 public static final int HyphenMinus=62;
86 public static final int Maximize=8; 74 public static final int Maximize=8;
87 public static final int LessThanSignEqualsSign=49; 75 public static final int LessThanSignEqualsSign=36;
88 public static final int Solidus=64; 76 public static final int Solidus=51;
89 public static final int Colon=65; 77 public static final int Colon=52;
90 public static final int RightCurlyBracket=75; 78 public static final int RightCurlyBracket=62;
91 public static final int EOF=-1; 79 public static final int EOF=-1;
92 public static final int Asterisk=59; 80 public static final int Asterisk=46;
93 public static final int FullStop=63; 81 public static final int FullStop=50;
94 public static final int RULE_WS=85; 82 public static final int RULE_WS=72;
95 public static final int Abstract=6; 83 public static final int Abstract=5;
96 public static final int Minimize=9; 84 public static final int Minimize=9;
97 public static final int GREATER=11; 85 public static final int LeftCurlyBracket=60;
98 public static final int LeftCurlyBracket=73; 86 public static final int Error=21;
99 public static final int Error=22; 87 public static final int RULE_ANY_OTHER=73;
100 public static final int Only=28; 88 public static final int Default=12;
101 public static final int RULE_ANY_OTHER=86; 89 public static final int ColonHyphenMinus=35;
102 public static final int Default=14; 90 public static final int CircumflexAccent=59;
103 public static final int ColonHyphenMinus=48; 91 public static final int Semicolon=53;
104 public static final int CircumflexAccent=72; 92 public static final int Scope=23;
105 public static final int DIV=34; 93 public static final int Exists=15;
106 public static final int Semicolon=66; 94 public static final int Else=24;
107 public static final int Scope=24; 95 public static final int Let=30;
108 public static final int Else=26; 96 public static final int ExclamationMarkEqualsSign=32;
109 public static final int ExclamationMarkEqualsSign=45; 97 public static final int HyphenMinusGreaterThanSign=33;
110 public static final int HyphenMinusGreaterThanSign=46;
111 98
112 // delegates 99 // delegates
113 // delegators 100 // delegators
@@ -205,7 +192,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
205 int alt1=2; 192 int alt1=2;
206 int LA1_0 = input.LA(1); 193 int LA1_0 = input.LA(1);
207 194
208 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||LA1_0==Unknown||(LA1_0>=Extern && LA1_0<=False)||LA1_0==Scope||(LA1_0>=Must && LA1_0<=Real)||LA1_0==True||(LA1_0>=Avg && LA1_0<=Sum)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) { 195 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||(LA1_0>=Unknown && LA1_0<=False)||LA1_0==Scope||LA1_0==Must||LA1_0==True||(LA1_0>=Inf && LA1_0<=May)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) {
209 alt1=1; 196 alt1=1;
210 } 197 }
211 198
@@ -304,11 +291,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
304 291
305 292
306 // $ANTLR start "ruleStatement" 293 // $ANTLR start "ruleStatement"
307 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ; 294 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) ;
308 public final EObject ruleStatement() throws RecognitionException { 295 public final EObject ruleStatement() throws RecognitionException {
309 EObject current = null; 296 EObject current = null;
310 297
311 Token this_FULL_STOP_10=null; 298 Token this_FULL_STOP_12=null;
312 EObject this_AssertionOrDefinition_0 = null; 299 EObject this_AssertionOrDefinition_0 = null;
313 300
314 EObject this_PredicateDefinition_1 = null; 301 EObject this_PredicateDefinition_1 = null;
@@ -317,31 +304,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
317 304
318 EObject this_DefaultDefinition_3 = null; 305 EObject this_DefaultDefinition_3 = null;
319 306
320 EObject this_ExternPredicateDefinition_4 = null; 307 EObject this_MetricDefinition_4 = null;
321 308
322 EObject this_MetricDefinition_5 = null; 309 EObject this_ExternPredicateDefinition_5 = null;
323 310
324 EObject this_ExternMetricDefinition_6 = null; 311 EObject this_ExternMetricDefinition_6 = null;
325 312
326 EObject this_ClassDefinition_7 = null; 313 EObject this_ExternAggregatorDefinition_7 = null;
327 314
328 EObject this_ScopeDefinition_8 = null; 315 EObject this_ExternDatatypeDefinition_8 = null;
329 316
330 EObject this_ObjectiveDefinition_9 = null; 317 EObject this_ClassDefinition_9 = null;
318
319 EObject this_ScopeDefinition_10 = null;
320
321 EObject this_ObjectiveDefinition_11 = null;
331 322
332 323
333 324
334 enterRule(); 325 enterRule();
335 326
336 try { 327 try {
337 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ) 328 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) )
338 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 329 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
339 { 330 {
340 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 331 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
341 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP 332 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP
342 { 333 {
343 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) 334 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )
344 int alt2=10; 335 int alt2=12;
345 alt2 = dfa2.predict(input); 336 alt2 = dfa2.predict(input);
346 switch (alt2) { 337 switch (alt2) {
347 case 1 : 338 case 1 :
@@ -417,36 +408,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
417 } 408 }
418 break; 409 break;
419 case 5 : 410 case 5 :
420 // InternalSolverLanguageParser.g:146:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition 411 // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition
421 { 412 {
422 413
423 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 414 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
424 415
425 pushFollow(FOLLOW_4); 416 pushFollow(FOLLOW_4);
426 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); 417 this_MetricDefinition_4=ruleMetricDefinition();
427 418
428 state._fsp--; 419 state._fsp--;
429 420
430 421
431 current = this_ExternPredicateDefinition_4; 422 current = this_MetricDefinition_4;
432 afterParserOrEnumRuleCall(); 423 afterParserOrEnumRuleCall();
433 424
434 425
435 } 426 }
436 break; 427 break;
437 case 6 : 428 case 6 :
438 // InternalSolverLanguageParser.g:155:4: this_MetricDefinition_5= ruleMetricDefinition 429 // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition
439 { 430 {
440 431
441 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 432 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
442 433
443 pushFollow(FOLLOW_4); 434 pushFollow(FOLLOW_4);
444 this_MetricDefinition_5=ruleMetricDefinition(); 435 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition();
445 436
446 state._fsp--; 437 state._fsp--;
447 438
448 439
449 current = this_MetricDefinition_5; 440 current = this_ExternPredicateDefinition_5;
450 afterParserOrEnumRuleCall(); 441 afterParserOrEnumRuleCall();
451 442
452 443
@@ -471,54 +462,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
471 } 462 }
472 break; 463 break;
473 case 8 : 464 case 8 :
474 // InternalSolverLanguageParser.g:173:4: this_ClassDefinition_7= ruleClassDefinition 465 // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition
475 { 466 {
476 467
477 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 468 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
478 469
479 pushFollow(FOLLOW_4); 470 pushFollow(FOLLOW_4);
480 this_ClassDefinition_7=ruleClassDefinition(); 471 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition();
481 472
482 state._fsp--; 473 state._fsp--;
483 474
484 475
485 current = this_ClassDefinition_7; 476 current = this_ExternAggregatorDefinition_7;
486 afterParserOrEnumRuleCall(); 477 afterParserOrEnumRuleCall();
487 478
488 479
489 } 480 }
490 break; 481 break;
491 case 9 : 482 case 9 :
492 // InternalSolverLanguageParser.g:182:4: this_ScopeDefinition_8= ruleScopeDefinition 483 // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition
493 { 484 {
494 485
495 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 486 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
496 487
497 pushFollow(FOLLOW_4); 488 pushFollow(FOLLOW_4);
498 this_ScopeDefinition_8=ruleScopeDefinition(); 489 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition();
499 490
500 state._fsp--; 491 state._fsp--;
501 492
502 493
503 current = this_ScopeDefinition_8; 494 current = this_ExternDatatypeDefinition_8;
504 afterParserOrEnumRuleCall(); 495 afterParserOrEnumRuleCall();
505 496
506 497
507 } 498 }
508 break; 499 break;
509 case 10 : 500 case 10 :
510 // InternalSolverLanguageParser.g:191:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition 501 // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition
502 {
503
504 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
505
506 pushFollow(FOLLOW_4);
507 this_ClassDefinition_9=ruleClassDefinition();
508
509 state._fsp--;
510
511
512 current = this_ClassDefinition_9;
513 afterParserOrEnumRuleCall();
514
515
516 }
517 break;
518 case 11 :
519 // InternalSolverLanguageParser.g:200:4: this_ScopeDefinition_10= ruleScopeDefinition
520 {
521
522 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
523
524 pushFollow(FOLLOW_4);
525 this_ScopeDefinition_10=ruleScopeDefinition();
526
527 state._fsp--;
528
529
530 current = this_ScopeDefinition_10;
531 afterParserOrEnumRuleCall();
532
533
534 }
535 break;
536 case 12 :
537 // InternalSolverLanguageParser.g:209:4: this_ObjectiveDefinition_11= ruleObjectiveDefinition
511 { 538 {
512 539
513 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 540 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
514 541
515 pushFollow(FOLLOW_4); 542 pushFollow(FOLLOW_4);
516 this_ObjectiveDefinition_9=ruleObjectiveDefinition(); 543 this_ObjectiveDefinition_11=ruleObjectiveDefinition();
517 544
518 state._fsp--; 545 state._fsp--;
519 546
520 547
521 current = this_ObjectiveDefinition_9; 548 current = this_ObjectiveDefinition_11;
522 afterParserOrEnumRuleCall(); 549 afterParserOrEnumRuleCall();
523 550
524 551
@@ -527,9 +554,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
527 554
528 } 555 }
529 556
530 this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); 557 this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
531 558
532 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 559 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
533 560
534 561
535 } 562 }
@@ -554,7 +581,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
554 581
555 582
556 // $ANTLR start "entryRuleAssertionOrDefinition" 583 // $ANTLR start "entryRuleAssertionOrDefinition"
557 // InternalSolverLanguageParser.g:208:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; 584 // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ;
558 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { 585 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException {
559 EObject current = null; 586 EObject current = null;
560 587
@@ -562,8 +589,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
562 589
563 590
564 try { 591 try {
565 // InternalSolverLanguageParser.g:208:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) 592 // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF )
566 // InternalSolverLanguageParser.g:209:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF 593 // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF
567 { 594 {
568 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); 595 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule());
569 pushFollow(FOLLOW_1); 596 pushFollow(FOLLOW_1);
@@ -590,7 +617,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
590 617
591 618
592 // $ANTLR start "ruleAssertionOrDefinition" 619 // $ANTLR start "ruleAssertionOrDefinition"
593 // InternalSolverLanguageParser.g:215:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ; 620 // InternalSolverLanguageParser.g:233:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) ;
594 public final EObject ruleAssertionOrDefinition() throws RecognitionException { 621 public final EObject ruleAssertionOrDefinition() throws RecognitionException {
595 EObject current = null; 622 EObject current = null;
596 623
@@ -610,11 +637,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
610 enterRule(); 637 enterRule();
611 638
612 try { 639 try {
613 // InternalSolverLanguageParser.g:221:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ) 640 // InternalSolverLanguageParser.g:239:2: ( (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) )
614 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 641 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
615 { 642 {
616 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 643 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
617 // InternalSolverLanguageParser.g:223:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 644 // InternalSolverLanguageParser.g:241:3: this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
618 { 645 {
619 646
620 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); 647 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
@@ -628,100 +655,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
628 current = this_Expression_0; 655 current = this_Expression_0;
629 afterParserOrEnumRuleCall(); 656 afterParserOrEnumRuleCall();
630 657
631 // InternalSolverLanguageParser.g:231:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 658 // InternalSolverLanguageParser.g:249:3: ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
632 int alt4=3; 659 int alt3=4;
633 switch ( input.LA(1) ) { 660 switch ( input.LA(1) ) {
634 case EOF: 661 case Colon:
635 case Colon: 662 {
636 case RULE_FULL_STOP: 663 alt3=1;
637 { 664 }
638 alt4=1; 665 break;
639 } 666 case ColonHyphenMinus:
640 break; 667 {
641 case ColonHyphenMinus: 668 alt3=2;
642 { 669 }
643 alt4=2; 670 break;
644 } 671 case EqualsSign:
645 break; 672 {
646 case EqualsSign: 673 alt3=3;
647 { 674 }
648 alt4=3; 675 break;
649 }
650 break;
651 default:
652 NoViableAltException nvae =
653 new NoViableAltException("", 4, 0, input);
654
655 throw nvae;
656 } 676 }
657 677
658 switch (alt4) { 678 switch (alt3) {
659 case 1 : 679 case 1 :
660 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 680 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
661 { 681 {
662 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 682 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
663 // InternalSolverLanguageParser.g:233:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 683 // InternalSolverLanguageParser.g:251:5: () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
664 { 684 {
665 // InternalSolverLanguageParser.g:233:5: () 685 // InternalSolverLanguageParser.g:251:5: ()
666 // InternalSolverLanguageParser.g:234:6: 686 // InternalSolverLanguageParser.g:252:6:
667 { 687 {
668 688
669 current = forceCreateModelElementAndSet( 689 current = forceCreateModelElementAndSet(
670 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 690 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
671 current); 691 current);
672 692
673 693
674 } 694 }
675 695
676 // InternalSolverLanguageParser.g:240:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 696 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
677 int alt3=2;
678 int LA3_0 = input.LA(1);
679
680 if ( (LA3_0==Colon) ) {
681 alt3=1;
682 }
683 switch (alt3) {
684 case 1 :
685 // InternalSolverLanguageParser.g:241:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
686 {
687 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
688
689 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
690
691 // InternalSolverLanguageParser.g:245:6: ( (lv_range_3_0= ruleExpression ) )
692 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
693 {
694 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
695 // InternalSolverLanguageParser.g:247:8: lv_range_3_0= ruleExpression
696 {
697
698 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
699
700 pushFollow(FOLLOW_2);
701 lv_range_3_0=ruleExpression();
702
703 state._fsp--;
704 697
698 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
699
700 // InternalSolverLanguageParser.g:262:5: ( (lv_range_3_0= ruleExpression ) )
701 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
702 {
703 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
704 // InternalSolverLanguageParser.g:264:7: lv_range_3_0= ruleExpression
705 {
705 706
706 if (current==null) { 707 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
707 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); 708
708 } 709 pushFollow(FOLLOW_2);
709 set( 710 lv_range_3_0=ruleExpression();
710 current,
711 "range",
712 lv_range_3_0,
713 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
714 afterParserOrEnumRuleCall();
715
716 711
717 } 712 state._fsp--;
718 713
719 714
720 } 715 if (current==null) {
716 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
717 }
718 set(
719 current,
720 "range",
721 lv_range_3_0,
722 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
723 afterParserOrEnumRuleCall();
724
721 725
726 }
722 727
723 }
724 break;
725 728
726 } 729 }
727 730
@@ -732,13 +735,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
732 } 735 }
733 break; 736 break;
734 case 2 : 737 case 2 :
735 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 738 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
736 { 739 {
737 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 740 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
738 // InternalSolverLanguageParser.g:268:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 741 // InternalSolverLanguageParser.g:284:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
739 { 742 {
740 // InternalSolverLanguageParser.g:268:5: () 743 // InternalSolverLanguageParser.g:284:5: ()
741 // InternalSolverLanguageParser.g:269:6: 744 // InternalSolverLanguageParser.g:285:6:
742 { 745 {
743 746
744 current = forceCreateModelElementAndSet( 747 current = forceCreateModelElementAndSet(
@@ -752,11 +755,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
752 755
753 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); 756 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
754 757
755 // InternalSolverLanguageParser.g:279:5: ( (lv_body_6_0= ruleExpression ) ) 758 // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) )
756 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 759 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
757 { 760 {
758 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 761 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
759 // InternalSolverLanguageParser.g:281:7: lv_body_6_0= ruleExpression 762 // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression
760 { 763 {
761 764
762 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); 765 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
@@ -790,13 +793,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
790 } 793 }
791 break; 794 break;
792 case 3 : 795 case 3 :
793 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 796 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
794 { 797 {
795 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 798 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
796 // InternalSolverLanguageParser.g:301:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) 799 // InternalSolverLanguageParser.g:317:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) )
797 { 800 {
798 // InternalSolverLanguageParser.g:301:5: () 801 // InternalSolverLanguageParser.g:317:5: ()
799 // InternalSolverLanguageParser.g:302:6: 802 // InternalSolverLanguageParser.g:318:6:
800 { 803 {
801 804
802 current = forceCreateModelElementAndSet( 805 current = forceCreateModelElementAndSet(
@@ -810,11 +813,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
810 813
811 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 814 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
812 815
813 // InternalSolverLanguageParser.g:312:5: ( (lv_body_9_0= ruleExpression ) ) 816 // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) )
814 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 817 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
815 { 818 {
816 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 819 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
817 // InternalSolverLanguageParser.g:314:7: lv_body_9_0= ruleExpression 820 // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression
818 { 821 {
819 822
820 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); 823 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
@@ -873,7 +876,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
873 876
874 877
875 // $ANTLR start "entryRulePredicateDefinition" 878 // $ANTLR start "entryRulePredicateDefinition"
876 // InternalSolverLanguageParser.g:337:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 879 // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
877 public final EObject entryRulePredicateDefinition() throws RecognitionException { 880 public final EObject entryRulePredicateDefinition() throws RecognitionException {
878 EObject current = null; 881 EObject current = null;
879 882
@@ -881,8 +884,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
881 884
882 885
883 try { 886 try {
884 // InternalSolverLanguageParser.g:337:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 887 // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
885 // InternalSolverLanguageParser.g:338:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 888 // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
886 { 889 {
887 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 890 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
888 pushFollow(FOLLOW_1); 891 pushFollow(FOLLOW_1);
@@ -909,7 +912,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
909 912
910 913
911 // $ANTLR start "rulePredicateDefinition" 914 // $ANTLR start "rulePredicateDefinition"
912 // InternalSolverLanguageParser.g:344:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ; 915 // InternalSolverLanguageParser.g:360:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ;
913 public final EObject rulePredicateDefinition() throws RecognitionException { 916 public final EObject rulePredicateDefinition() throws RecognitionException {
914 EObject current = null; 917 EObject current = null;
915 918
@@ -927,40 +930,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
927 enterRule(); 930 enterRule();
928 931
929 try { 932 try {
930 // InternalSolverLanguageParser.g:350:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ) 933 // InternalSolverLanguageParser.g:366:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) )
931 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 934 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
932 { 935 {
933 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 936 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
934 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 937 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
935 { 938 {
936 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) 939 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) )
937 int alt7=2; 940 int alt6=2;
938 int LA7_0 = input.LA(1); 941 int LA6_0 = input.LA(1);
939 942
940 if ( (LA7_0==Functional) ) { 943 if ( (LA6_0==Functional) ) {
941 alt7=1; 944 alt6=1;
942 } 945 }
943 else if ( (LA7_0==Error) ) { 946 else if ( (LA6_0==Error) ) {
944 alt7=2; 947 alt6=2;
945 } 948 }
946 else { 949 else {
947 NoViableAltException nvae = 950 NoViableAltException nvae =
948 new NoViableAltException("", 7, 0, input); 951 new NoViableAltException("", 6, 0, input);
949 952
950 throw nvae; 953 throw nvae;
951 } 954 }
952 switch (alt7) { 955 switch (alt6) {
953 case 1 : 956 case 1 :
954 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 957 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
955 { 958 {
956 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 959 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
957 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? 960 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )?
958 { 961 {
959 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) 962 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) )
960 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 963 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
961 { 964 {
962 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 965 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
963 // InternalSolverLanguageParser.g:356:7: lv_functional_0_0= Functional 966 // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional
964 { 967 {
965 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); 968 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7);
966 969
@@ -978,19 +981,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
978 981
979 } 982 }
980 983
981 // InternalSolverLanguageParser.g:368:5: ( (lv_error_1_0= Error ) )? 984 // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )?
982 int alt5=2; 985 int alt4=2;
983 int LA5_0 = input.LA(1); 986 int LA4_0 = input.LA(1);
984 987
985 if ( (LA5_0==Error) ) { 988 if ( (LA4_0==Error) ) {
986 alt5=1; 989 alt4=1;
987 } 990 }
988 switch (alt5) { 991 switch (alt4) {
989 case 1 : 992 case 1 :
990 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 993 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
991 { 994 {
992 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 995 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
993 // InternalSolverLanguageParser.g:370:7: lv_error_1_0= Error 996 // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error
994 { 997 {
995 lv_error_1_0=(Token)match(input,Error,FOLLOW_8); 998 lv_error_1_0=(Token)match(input,Error,FOLLOW_8);
996 999
@@ -1018,16 +1021,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1018 } 1021 }
1019 break; 1022 break;
1020 case 2 : 1023 case 2 :
1021 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1024 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1022 { 1025 {
1023 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1026 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1024 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? 1027 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )?
1025 { 1028 {
1026 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) 1029 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) )
1027 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1030 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1028 { 1031 {
1029 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1032 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1030 // InternalSolverLanguageParser.g:387:7: lv_error_2_0= Error 1033 // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error
1031 { 1034 {
1032 lv_error_2_0=(Token)match(input,Error,FOLLOW_9); 1035 lv_error_2_0=(Token)match(input,Error,FOLLOW_9);
1033 1036
@@ -1045,19 +1048,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1045 1048
1046 } 1049 }
1047 1050
1048 // InternalSolverLanguageParser.g:399:5: ( (lv_functional_3_0= Functional ) )? 1051 // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )?
1049 int alt6=2; 1052 int alt5=2;
1050 int LA6_0 = input.LA(1); 1053 int LA5_0 = input.LA(1);
1051 1054
1052 if ( (LA6_0==Functional) ) { 1055 if ( (LA5_0==Functional) ) {
1053 alt6=1; 1056 alt5=1;
1054 } 1057 }
1055 switch (alt6) { 1058 switch (alt5) {
1056 case 1 : 1059 case 1 :
1057 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1060 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1058 { 1061 {
1059 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1062 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1060 // InternalSolverLanguageParser.g:401:7: lv_functional_3_0= Functional 1063 // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional
1061 { 1064 {
1062 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); 1065 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8);
1063 1066
@@ -1087,11 +1090,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1087 1090
1088 } 1091 }
1089 1092
1090 // InternalSolverLanguageParser.g:415:3: ( (lv_head_4_0= ruleCall ) ) 1093 // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) )
1091 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1094 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1092 { 1095 {
1093 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1096 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1094 // InternalSolverLanguageParser.g:417:5: lv_head_4_0= ruleCall 1097 // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall
1095 { 1098 {
1096 1099
1097 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1100 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1122,11 +1125,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1122 1125
1123 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1126 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
1124 1127
1125 // InternalSolverLanguageParser.g:438:3: ( (lv_body_6_0= ruleExpression ) ) 1128 // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) )
1126 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1129 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1127 { 1130 {
1128 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1131 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1129 // InternalSolverLanguageParser.g:440:5: lv_body_6_0= ruleExpression 1132 // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression
1130 { 1133 {
1131 1134
1132 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1135 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1176,7 +1179,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1176 1179
1177 1180
1178 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" 1181 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
1179 // InternalSolverLanguageParser.g:461:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; 1182 // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ;
1180 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { 1183 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
1181 EObject current = null; 1184 EObject current = null;
1182 1185
@@ -1184,8 +1187,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1184 1187
1185 1188
1186 try { 1189 try {
1187 // InternalSolverLanguageParser.g:461:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) 1190 // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF )
1188 // InternalSolverLanguageParser.g:462:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF 1191 // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF
1189 { 1192 {
1190 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1193 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1191 pushFollow(FOLLOW_1); 1194 pushFollow(FOLLOW_1);
@@ -1212,7 +1215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1212 1215
1213 1216
1214 // $ANTLR start "ruleUnnamedErrorPrediateDefinition" 1217 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
1215 // InternalSolverLanguageParser.g:468:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ; 1218 // InternalSolverLanguageParser.g:484:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ;
1216 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { 1219 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
1217 EObject current = null; 1220 EObject current = null;
1218 1221
@@ -1227,21 +1230,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1227 enterRule(); 1230 enterRule();
1228 1231
1229 try { 1232 try {
1230 // InternalSolverLanguageParser.g:474:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) 1233 // InternalSolverLanguageParser.g:490:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) )
1231 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1234 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1232 { 1235 {
1233 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1236 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1234 // InternalSolverLanguageParser.g:476:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) 1237 // InternalSolverLanguageParser.g:492:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) )
1235 { 1238 {
1236 otherlv_0=(Token)match(input,Error,FOLLOW_11); 1239 otherlv_0=(Token)match(input,Error,FOLLOW_11);
1237 1240
1238 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 1241 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
1239 1242
1240 // InternalSolverLanguageParser.g:480:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) 1243 // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
1241 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1244 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1242 { 1245 {
1243 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1246 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1244 // InternalSolverLanguageParser.g:482:5: lv_argumentList_1_0= ruleArgumentList 1247 // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList
1245 { 1248 {
1246 1249
1247 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 1250 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
@@ -1272,11 +1275,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1272 1275
1273 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1276 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
1274 1277
1275 // InternalSolverLanguageParser.g:503:3: ( (lv_body_3_0= ruleExpression ) ) 1278 // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) )
1276 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1279 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1277 { 1280 {
1278 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1281 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1279 // InternalSolverLanguageParser.g:505:5: lv_body_3_0= ruleExpression 1282 // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression
1280 { 1283 {
1281 1284
1282 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1285 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1326,7 +1329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1326 1329
1327 1330
1328 // $ANTLR start "entryRuleDefaultDefinition" 1331 // $ANTLR start "entryRuleDefaultDefinition"
1329 // InternalSolverLanguageParser.g:526:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; 1332 // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ;
1330 public final EObject entryRuleDefaultDefinition() throws RecognitionException { 1333 public final EObject entryRuleDefaultDefinition() throws RecognitionException {
1331 EObject current = null; 1334 EObject current = null;
1332 1335
@@ -1334,8 +1337,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1334 1337
1335 1338
1336 try { 1339 try {
1337 // InternalSolverLanguageParser.g:526:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) 1340 // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF )
1338 // InternalSolverLanguageParser.g:527:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF 1341 // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF
1339 { 1342 {
1340 newCompositeNode(grammarAccess.getDefaultDefinitionRule()); 1343 newCompositeNode(grammarAccess.getDefaultDefinitionRule());
1341 pushFollow(FOLLOW_1); 1344 pushFollow(FOLLOW_1);
@@ -1362,7 +1365,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1362 1365
1363 1366
1364 // $ANTLR start "ruleDefaultDefinition" 1367 // $ANTLR start "ruleDefaultDefinition"
1365 // InternalSolverLanguageParser.g:533:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ; 1368 // InternalSolverLanguageParser.g:549:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ;
1366 public final EObject ruleDefaultDefinition() throws RecognitionException { 1369 public final EObject ruleDefaultDefinition() throws RecognitionException {
1367 EObject current = null; 1370 EObject current = null;
1368 1371
@@ -1377,21 +1380,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1377 enterRule(); 1380 enterRule();
1378 1381
1379 try { 1382 try {
1380 // InternalSolverLanguageParser.g:539:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) 1383 // InternalSolverLanguageParser.g:555:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) )
1381 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1384 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1382 { 1385 {
1383 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1386 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1384 // InternalSolverLanguageParser.g:541:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) 1387 // InternalSolverLanguageParser.g:557:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
1385 { 1388 {
1386 otherlv_0=(Token)match(input,Default,FOLLOW_8); 1389 otherlv_0=(Token)match(input,Default,FOLLOW_8);
1387 1390
1388 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 1391 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
1389 1392
1390 // InternalSolverLanguageParser.g:545:3: ( (lv_head_1_0= ruleCall ) ) 1393 // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) )
1391 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1394 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1392 { 1395 {
1393 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1396 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1394 // InternalSolverLanguageParser.g:547:5: lv_head_1_0= ruleCall 1397 // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall
1395 { 1398 {
1396 1399
1397 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1400 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1422,11 +1425,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1422 1425
1423 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 1426 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
1424 1427
1425 // InternalSolverLanguageParser.g:568:3: ( (lv_range_3_0= ruleExpression ) ) 1428 // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) )
1426 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1429 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1427 { 1430 {
1428 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1431 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1429 // InternalSolverLanguageParser.g:570:5: lv_range_3_0= ruleExpression 1432 // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression
1430 { 1433 {
1431 1434
1432 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 1435 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
@@ -1475,8 +1478,181 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1475 // $ANTLR end "ruleDefaultDefinition" 1478 // $ANTLR end "ruleDefaultDefinition"
1476 1479
1477 1480
1481 // $ANTLR start "entryRuleMetricDefinition"
1482 // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ;
1483 public final EObject entryRuleMetricDefinition() throws RecognitionException {
1484 EObject current = null;
1485
1486 EObject iv_ruleMetricDefinition = null;
1487
1488
1489 try {
1490 // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF )
1491 // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF
1492 {
1493 newCompositeNode(grammarAccess.getMetricDefinitionRule());
1494 pushFollow(FOLLOW_1);
1495 iv_ruleMetricDefinition=ruleMetricDefinition();
1496
1497 state._fsp--;
1498
1499 current =iv_ruleMetricDefinition;
1500 match(input,EOF,FOLLOW_2);
1501
1502 }
1503
1504 }
1505
1506 catch (RecognitionException re) {
1507 recover(input,re);
1508 appendSkippedTokens();
1509 }
1510 finally {
1511 }
1512 return current;
1513 }
1514 // $ANTLR end "entryRuleMetricDefinition"
1515
1516
1517 // $ANTLR start "ruleMetricDefinition"
1518 // InternalSolverLanguageParser.g:614:1: ruleMetricDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ;
1519 public final EObject ruleMetricDefinition() throws RecognitionException {
1520 EObject current = null;
1521
1522 Token otherlv_2=null;
1523 EObject lv_head_1_0 = null;
1524
1525 EObject lv_body_3_0 = null;
1526
1527
1528
1529 enterRule();
1530
1531 try {
1532 // InternalSolverLanguageParser.g:620:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) )
1533 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1534 {
1535 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1536 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) )
1537 {
1538 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) )
1539 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1540 {
1541 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1542 // InternalSolverLanguageParser.g:624:5: ruleQualifiedName
1543 {
1544
1545 if (current==null) {
1546 current = createModelElement(grammarAccess.getMetricDefinitionRule());
1547 }
1548
1549
1550 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
1551
1552 pushFollow(FOLLOW_8);
1553 ruleQualifiedName();
1554
1555 state._fsp--;
1556
1557
1558 afterParserOrEnumRuleCall();
1559
1560
1561 }
1562
1563
1564 }
1565
1566 // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) )
1567 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1568 {
1569 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1570 // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall
1571 {
1572
1573 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
1574
1575 pushFollow(FOLLOW_13);
1576 lv_head_1_0=ruleCall();
1577
1578 state._fsp--;
1579
1580
1581 if (current==null) {
1582 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1583 }
1584 set(
1585 current,
1586 "head",
1587 lv_head_1_0,
1588 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1589 afterParserOrEnumRuleCall();
1590
1591
1592 }
1593
1594
1595 }
1596
1597 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1598
1599 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
1600
1601 // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) )
1602 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1603 {
1604 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1605 // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression
1606 {
1607
1608 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1609
1610 pushFollow(FOLLOW_2);
1611 lv_body_3_0=ruleExpression();
1612
1613 state._fsp--;
1614
1615
1616 if (current==null) {
1617 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1618 }
1619 set(
1620 current,
1621 "body",
1622 lv_body_3_0,
1623 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1624 afterParserOrEnumRuleCall();
1625
1626
1627 }
1628
1629
1630 }
1631
1632
1633 }
1634
1635
1636 }
1637
1638
1639 leaveRule();
1640
1641 }
1642
1643 catch (RecognitionException re) {
1644 recover(input,re);
1645 appendSkippedTokens();
1646 }
1647 finally {
1648 }
1649 return current;
1650 }
1651 // $ANTLR end "ruleMetricDefinition"
1652
1653
1478 // $ANTLR start "entryRuleExternPredicateDefinition" 1654 // $ANTLR start "entryRuleExternPredicateDefinition"
1479 // InternalSolverLanguageParser.g:591:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; 1655 // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ;
1480 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { 1656 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException {
1481 EObject current = null; 1657 EObject current = null;
1482 1658
@@ -1484,8 +1660,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1484 1660
1485 1661
1486 try { 1662 try {
1487 // InternalSolverLanguageParser.g:591:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) 1663 // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF )
1488 // InternalSolverLanguageParser.g:592:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF 1664 // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF
1489 { 1665 {
1490 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); 1666 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule());
1491 pushFollow(FOLLOW_1); 1667 pushFollow(FOLLOW_1);
@@ -1512,39 +1688,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1512 1688
1513 1689
1514 // $ANTLR start "ruleExternPredicateDefinition" 1690 // $ANTLR start "ruleExternPredicateDefinition"
1515 // InternalSolverLanguageParser.g:598:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ; 1691 // InternalSolverLanguageParser.g:691:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ;
1516 public final EObject ruleExternPredicateDefinition() throws RecognitionException { 1692 public final EObject ruleExternPredicateDefinition() throws RecognitionException {
1517 EObject current = null; 1693 EObject current = null;
1518 1694
1519 Token otherlv_0=null; 1695 Token otherlv_0=null;
1520 EObject lv_head_1_0 = null; 1696 AntlrDatatypeRuleToken lv_name_1_0 = null;
1697
1698 EObject lv_argumentList_2_0 = null;
1521 1699
1522 1700
1523 1701
1524 enterRule(); 1702 enterRule();
1525 1703
1526 try { 1704 try {
1527 // InternalSolverLanguageParser.g:604:2: ( (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ) 1705 // InternalSolverLanguageParser.g:697:2: ( (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) )
1528 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1706 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1529 { 1707 {
1530 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1708 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1531 // InternalSolverLanguageParser.g:606:3: otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) 1709 // InternalSolverLanguageParser.g:699:3: otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) )
1532 { 1710 {
1533 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 1711 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1534 1712
1535 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 1713 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
1536 1714
1537 // InternalSolverLanguageParser.g:610:3: ( (lv_head_1_0= ruleCall ) ) 1715 // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) )
1538 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1716 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1717 {
1718 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName
1720 {
1721
1722 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
1723
1724 pushFollow(FOLLOW_11);
1725 lv_name_1_0=ruleQualifiedName();
1726
1727 state._fsp--;
1728
1729
1730 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
1732 }
1733 set(
1734 current,
1735 "name",
1736 lv_name_1_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall();
1739
1740
1741 }
1742
1743
1744 }
1745
1746 // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) )
1747 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1539 { 1748 {
1540 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1749 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1541 // InternalSolverLanguageParser.g:612:5: lv_head_1_0= ruleCall 1750 // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList
1542 { 1751 {
1543 1752
1544 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1753 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
1545 1754
1546 pushFollow(FOLLOW_2); 1755 pushFollow(FOLLOW_2);
1547 lv_head_1_0=ruleCall(); 1756 lv_argumentList_2_0=ruleArgumentList();
1548 1757
1549 state._fsp--; 1758 state._fsp--;
1550 1759
@@ -1554,9 +1763,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1554 } 1763 }
1555 set( 1764 set(
1556 current, 1765 current,
1557 "head", 1766 "argumentList",
1558 lv_head_1_0, 1767 lv_argumentList_2_0,
1559 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1768 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1560 afterParserOrEnumRuleCall(); 1769 afterParserOrEnumRuleCall();
1561 1770
1562 1771
@@ -1587,25 +1796,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1587 // $ANTLR end "ruleExternPredicateDefinition" 1796 // $ANTLR end "ruleExternPredicateDefinition"
1588 1797
1589 1798
1590 // $ANTLR start "entryRuleMetricDefinition" 1799 // $ANTLR start "entryRuleExternMetricDefinition"
1591 // InternalSolverLanguageParser.g:633:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; 1800 // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ;
1592 public final EObject entryRuleMetricDefinition() throws RecognitionException { 1801 public final EObject entryRuleExternMetricDefinition() throws RecognitionException {
1593 EObject current = null; 1802 EObject current = null;
1594 1803
1595 EObject iv_ruleMetricDefinition = null; 1804 EObject iv_ruleExternMetricDefinition = null;
1596 1805
1597 1806
1598 try { 1807 try {
1599 // InternalSolverLanguageParser.g:633:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) 1808 // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF )
1600 // InternalSolverLanguageParser.g:634:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF 1809 // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF
1601 { 1810 {
1602 newCompositeNode(grammarAccess.getMetricDefinitionRule()); 1811 newCompositeNode(grammarAccess.getExternMetricDefinitionRule());
1603 pushFollow(FOLLOW_1); 1812 pushFollow(FOLLOW_1);
1604 iv_ruleMetricDefinition=ruleMetricDefinition(); 1813 iv_ruleExternMetricDefinition=ruleExternMetricDefinition();
1605 1814
1606 state._fsp--; 1815 state._fsp--;
1607 1816
1608 current =iv_ruleMetricDefinition; 1817 current =iv_ruleExternMetricDefinition;
1609 match(input,EOF,FOLLOW_2); 1818 match(input,EOF,FOLLOW_2);
1610 1819
1611 } 1820 }
@@ -1620,55 +1829,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1620 } 1829 }
1621 return current; 1830 return current;
1622 } 1831 }
1623 // $ANTLR end "entryRuleMetricDefinition" 1832 // $ANTLR end "entryRuleExternMetricDefinition"
1624 1833
1625 1834
1626 // $ANTLR start "ruleMetricDefinition" 1835 // $ANTLR start "ruleExternMetricDefinition"
1627 // InternalSolverLanguageParser.g:640:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; 1836 // InternalSolverLanguageParser.g:752:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
1628 public final EObject ruleMetricDefinition() throws RecognitionException { 1837 public final EObject ruleExternMetricDefinition() throws RecognitionException {
1629 EObject current = null; 1838 EObject current = null;
1630 1839
1631 Token otherlv_2=null; 1840 Token otherlv_0=null;
1632 Enumerator lv_type_0_0 = null; 1841 AntlrDatatypeRuleToken lv_name_2_0 = null;
1633
1634 EObject lv_head_1_0 = null;
1635 1842
1636 EObject lv_body_3_0 = null; 1843 EObject lv_argumentList_3_0 = null;
1637 1844
1638 1845
1639 1846
1640 enterRule(); 1847 enterRule();
1641 1848
1642 try { 1849 try {
1643 // InternalSolverLanguageParser.g:646:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) 1850 // InternalSolverLanguageParser.g:758:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
1644 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1851 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1645 { 1852 {
1646 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1853 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1647 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) 1854 // InternalSolverLanguageParser.g:760:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) )
1648 { 1855 {
1649 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) 1856 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1650 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1857
1858 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
1859
1860 // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) )
1861 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1651 { 1862 {
1652 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1863 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1653 // InternalSolverLanguageParser.g:650:5: lv_type_0_0= ruleMetricType 1864 // InternalSolverLanguageParser.g:766:5: ruleQualifiedName
1654 { 1865 {
1655 1866
1656 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 1867 if (current==null) {
1868 current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
1869 }
1870
1871
1872 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
1657 1873
1658 pushFollow(FOLLOW_6); 1874 pushFollow(FOLLOW_8);
1659 lv_type_0_0=ruleMetricType(); 1875 ruleQualifiedName();
1876
1877 state._fsp--;
1878
1879
1880 afterParserOrEnumRuleCall();
1881
1882
1883 }
1884
1885
1886 }
1887
1888 // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) )
1889 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1890 {
1891 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1892 // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName
1893 {
1894
1895 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1896
1897 pushFollow(FOLLOW_11);
1898 lv_name_2_0=ruleQualifiedName();
1660 1899
1661 state._fsp--; 1900 state._fsp--;
1662 1901
1663 1902
1664 if (current==null) { 1903 if (current==null) {
1665 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1904 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1666 } 1905 }
1667 set( 1906 set(
1668 current, 1907 current,
1669 "type", 1908 "name",
1670 lv_type_0_0, 1909 lv_name_2_0,
1671 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 1910 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1672 afterParserOrEnumRuleCall(); 1911 afterParserOrEnumRuleCall();
1673 1912
1674 1913
@@ -1677,29 +1916,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1677 1916
1678 } 1917 }
1679 1918
1680 // InternalSolverLanguageParser.g:667:3: ( (lv_head_1_0= ruleExpression ) ) 1919 // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
1681 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1920 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1682 { 1921 {
1683 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1922 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1684 // InternalSolverLanguageParser.g:669:5: lv_head_1_0= ruleExpression 1923 // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList
1685 { 1924 {
1686 1925
1687 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 1926 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
1688 1927
1689 pushFollow(FOLLOW_13); 1928 pushFollow(FOLLOW_2);
1690 lv_head_1_0=ruleExpression(); 1929 lv_argumentList_3_0=ruleArgumentList();
1691 1930
1692 state._fsp--; 1931 state._fsp--;
1693 1932
1694 1933
1695 if (current==null) { 1934 if (current==null) {
1696 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1935 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1697 } 1936 }
1698 set( 1937 set(
1699 current, 1938 current,
1700 "head", 1939 "argumentList",
1701 lv_head_1_0, 1940 lv_argumentList_3_0,
1702 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 1941 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1703 afterParserOrEnumRuleCall(); 1942 afterParserOrEnumRuleCall();
1704 1943
1705 1944
@@ -1708,33 +1947,141 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1708 1947
1709 } 1948 }
1710 1949
1711 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1712 1950
1713 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 1951 }
1952
1953
1954 }
1955
1956
1957 leaveRule();
1958
1959 }
1960
1961 catch (RecognitionException re) {
1962 recover(input,re);
1963 appendSkippedTokens();
1964 }
1965 finally {
1966 }
1967 return current;
1968 }
1969 // $ANTLR end "ruleExternMetricDefinition"
1970
1971
1972 // $ANTLR start "entryRuleExternAggregatorDefinition"
1973 // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ;
1974 public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException {
1975 EObject current = null;
1976
1977 EObject iv_ruleExternAggregatorDefinition = null;
1978
1979
1980 try {
1981 // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF )
1982 // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF
1983 {
1984 newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule());
1985 pushFollow(FOLLOW_1);
1986 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition();
1987
1988 state._fsp--;
1989
1990 current =iv_ruleExternAggregatorDefinition;
1991 match(input,EOF,FOLLOW_2);
1992
1993 }
1994
1995 }
1996
1997 catch (RecognitionException re) {
1998 recover(input,re);
1999 appendSkippedTokens();
2000 }
2001 finally {
2002 }
2003 return current;
2004 }
2005 // $ANTLR end "entryRuleExternAggregatorDefinition"
2006
2007
2008 // $ANTLR start "ruleExternAggregatorDefinition"
2009 // InternalSolverLanguageParser.g:829:1: ruleExternAggregatorDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) ;
2010 public final EObject ruleExternAggregatorDefinition() throws RecognitionException {
2011 EObject current = null;
2012
2013 Token otherlv_0=null;
2014 Token otherlv_3=null;
2015 Token otherlv_5=null;
2016 Token otherlv_6=null;
2017 AntlrDatatypeRuleToken lv_name_2_0 = null;
2018
2019
2020
2021 enterRule();
2022
2023 try {
2024 // InternalSolverLanguageParser.g:835:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) )
2025 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2026 {
2027 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2028 // InternalSolverLanguageParser.g:837:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket
2029 {
2030 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
2031
2032 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
1714 2033
1715 // InternalSolverLanguageParser.g:690:3: ( (lv_body_3_0= ruleExpression ) ) 2034 // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) )
1716 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2035 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1717 { 2036 {
1718 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2037 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:692:5: lv_body_3_0= ruleExpression 2038 // InternalSolverLanguageParser.g:843:5: ruleQualifiedName
1720 { 2039 {
1721 2040
1722 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 2041 if (current==null) {
2042 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2043 }
1723 2044
1724 pushFollow(FOLLOW_2); 2045
1725 lv_body_3_0=ruleExpression(); 2046 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
2047
2048 pushFollow(FOLLOW_8);
2049 ruleQualifiedName();
2050
2051 state._fsp--;
2052
2053
2054 afterParserOrEnumRuleCall();
2055
2056
2057 }
2058
2059
2060 }
2061
2062 // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) )
2063 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2064 {
2065 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2066 // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName
2067 {
2068
2069 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
2070
2071 pushFollow(FOLLOW_14);
2072 lv_name_2_0=ruleQualifiedName();
1726 2073
1727 state._fsp--; 2074 state._fsp--;
1728 2075
1729 2076
1730 if (current==null) { 2077 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 2078 current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
1732 } 2079 }
1733 set( 2080 set(
1734 current, 2081 current,
1735 "body", 2082 "name",
1736 lv_body_3_0, 2083 lv_name_2_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2084 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall(); 2085 afterParserOrEnumRuleCall();
1739 2086
1740 2087
@@ -1743,6 +2090,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1743 2090
1744 } 2091 }
1745 2092
2093 otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_8);
2094
2095 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
2096
2097 // InternalSolverLanguageParser.g:880:3: ( ( ruleQualifiedName ) )
2098 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2099 {
2100 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2101 // InternalSolverLanguageParser.g:882:5: ruleQualifiedName
2102 {
2103
2104 if (current==null) {
2105 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2106 }
2107
2108
2109 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
2110
2111 pushFollow(FOLLOW_15);
2112 ruleQualifiedName();
2113
2114 state._fsp--;
2115
2116
2117 afterParserOrEnumRuleCall();
2118
2119
2120 }
2121
2122
2123 }
2124
2125 otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16);
2126
2127 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
2128
2129 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
2130
2131 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
2132
1746 2133
1747 } 2134 }
1748 2135
@@ -1762,28 +2149,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1762 } 2149 }
1763 return current; 2150 return current;
1764 } 2151 }
1765 // $ANTLR end "ruleMetricDefinition" 2152 // $ANTLR end "ruleExternAggregatorDefinition"
1766 2153
1767 2154
1768 // $ANTLR start "entryRuleExternMetricDefinition" 2155 // $ANTLR start "entryRuleExternDatatypeDefinition"
1769 // InternalSolverLanguageParser.g:713:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; 2156 // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ;
1770 public final EObject entryRuleExternMetricDefinition() throws RecognitionException { 2157 public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException {
1771 EObject current = null; 2158 EObject current = null;
1772 2159
1773 EObject iv_ruleExternMetricDefinition = null; 2160 EObject iv_ruleExternDatatypeDefinition = null;
1774 2161
1775 2162
1776 try { 2163 try {
1777 // InternalSolverLanguageParser.g:713:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) 2164 // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF )
1778 // InternalSolverLanguageParser.g:714:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF 2165 // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF
1779 { 2166 {
1780 newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); 2167 newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule());
1781 pushFollow(FOLLOW_1); 2168 pushFollow(FOLLOW_1);
1782 iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); 2169 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition();
1783 2170
1784 state._fsp--; 2171 state._fsp--;
1785 2172
1786 current =iv_ruleExternMetricDefinition; 2173 current =iv_ruleExternDatatypeDefinition;
1787 match(input,EOF,FOLLOW_2); 2174 match(input,EOF,FOLLOW_2);
1788 2175
1789 } 2176 }
@@ -1798,57 +2185,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1798 } 2185 }
1799 return current; 2186 return current;
1800 } 2187 }
1801 // $ANTLR end "entryRuleExternMetricDefinition" 2188 // $ANTLR end "entryRuleExternDatatypeDefinition"
1802 2189
1803 2190
1804 // $ANTLR start "ruleExternMetricDefinition" 2191 // $ANTLR start "ruleExternDatatypeDefinition"
1805 // InternalSolverLanguageParser.g:720:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; 2192 // InternalSolverLanguageParser.g:915:1: ruleExternDatatypeDefinition returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ;
1806 public final EObject ruleExternMetricDefinition() throws RecognitionException { 2193 public final EObject ruleExternDatatypeDefinition() throws RecognitionException {
1807 EObject current = null; 2194 EObject current = null;
1808 2195
1809 Token otherlv_0=null; 2196 Token otherlv_0=null;
1810 Enumerator lv_type_1_0 = null; 2197 Token otherlv_1=null;
1811 2198 Token otherlv_3=null;
1812 EObject lv_head_2_0 = null; 2199 Token otherlv_5=null;
2200 AntlrDatatypeRuleToken lv_name_2_0 = null;
1813 2201
1814 2202
1815 2203
1816 enterRule(); 2204 enterRule();
1817 2205
1818 try { 2206 try {
1819 // InternalSolverLanguageParser.g:726:2: ( (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) 2207 // InternalSolverLanguageParser.g:921:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) )
1820 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2208 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1821 { 2209 {
1822 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2210 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1823 // InternalSolverLanguageParser.g:728:3: otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) 2211 // InternalSolverLanguageParser.g:923:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1824 { 2212 {
1825 otherlv_0=(Token)match(input,Extern,FOLLOW_14); 2213 otherlv_0=(Token)match(input,Extern,FOLLOW_17);
1826 2214
1827 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 2215 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
2216
2217 otherlv_1=(Token)match(input,Datatype,FOLLOW_8);
2218
2219 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
1828 2220
1829 // InternalSolverLanguageParser.g:732:3: ( (lv_type_1_0= ruleMetricType ) ) 2221 // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) )
1830 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2222 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1831 { 2223 {
1832 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2224 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1833 // InternalSolverLanguageParser.g:734:5: lv_type_1_0= ruleMetricType 2225 // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName
1834 { 2226 {
1835 2227
1836 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 2228 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1837 2229
1838 pushFollow(FOLLOW_8); 2230 pushFollow(FOLLOW_18);
1839 lv_type_1_0=ruleMetricType(); 2231 lv_name_2_0=ruleQualifiedName();
1840 2232
1841 state._fsp--; 2233 state._fsp--;
1842 2234
1843 2235
1844 if (current==null) { 2236 if (current==null) {
1845 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2237 current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
1846 } 2238 }
1847 set( 2239 set(
1848 current, 2240 current,
1849 "type", 2241 "name",
1850 lv_type_1_0, 2242 lv_name_2_0,
1851 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 2243 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1852 afterParserOrEnumRuleCall(); 2244 afterParserOrEnumRuleCall();
1853 2245
1854 2246
@@ -1857,30 +2249,240 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1857 2249
1858 } 2250 }
1859 2251
1860 // InternalSolverLanguageParser.g:751:3: ( (lv_head_2_0= ruleCall ) ) 2252 // InternalSolverLanguageParser.g:950:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1861 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2253 // InternalSolverLanguageParser.g:951:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
1862 { 2254 {
1863 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2255 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
1864 // InternalSolverLanguageParser.g:753:5: lv_head_2_0= ruleCall 2256
2257 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
2258
2259 // InternalSolverLanguageParser.g:955:4: ( ( ruleQualifiedName ) )
2260 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2261 {
2262 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2263 // InternalSolverLanguageParser.g:957:6: ruleQualifiedName
1865 { 2264 {
1866 2265
1867 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 2266 if (current==null) {
1868 2267 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
1869 pushFollow(FOLLOW_2); 2268 }
1870 lv_head_2_0=ruleCall(); 2269
2270
2271 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
2272
2273 pushFollow(FOLLOW_19);
2274 ruleQualifiedName();
2275
2276 state._fsp--;
2277
2278
2279 afterParserOrEnumRuleCall();
2280
2281
2282 }
2283
2284
2285 }
2286
2287 // InternalSolverLanguageParser.g:971:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
2288 loop7:
2289 do {
2290 int alt7=2;
2291 int LA7_0 = input.LA(1);
2292
2293 if ( (LA7_0==Comma) ) {
2294 alt7=1;
2295 }
2296
2297
2298 switch (alt7) {
2299 case 1 :
2300 // InternalSolverLanguageParser.g:972:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
2301 {
2302 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
2303
2304 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
2305
2306 // InternalSolverLanguageParser.g:976:5: ( ( ruleQualifiedName ) )
2307 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2308 {
2309 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2310 // InternalSolverLanguageParser.g:978:7: ruleQualifiedName
2311 {
2312
2313 if (current==null) {
2314 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
2315 }
2316
2317
2318 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
2319
2320 pushFollow(FOLLOW_19);
2321 ruleQualifiedName();
2322
2323 state._fsp--;
2324
2325
2326 afterParserOrEnumRuleCall();
2327
2328
2329 }
2330
2331
2332 }
2333
2334
2335 }
2336 break;
2337
2338 default :
2339 break loop7;
2340 }
2341 } while (true);
2342
2343
2344 }
2345
2346
2347 }
2348
2349
2350 }
2351
2352
2353 leaveRule();
2354
2355 }
2356
2357 catch (RecognitionException re) {
2358 recover(input,re);
2359 appendSkippedTokens();
2360 }
2361 finally {
2362 }
2363 return current;
2364 }
2365 // $ANTLR end "ruleExternDatatypeDefinition"
2366
2367
2368 // $ANTLR start "entryRuleVariable"
2369 // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
2370 public final EObject entryRuleVariable() throws RecognitionException {
2371 EObject current = null;
2372
2373 EObject iv_ruleVariable = null;
2374
2375
2376 try {
2377 // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF )
2378 // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF
2379 {
2380 newCompositeNode(grammarAccess.getVariableRule());
2381 pushFollow(FOLLOW_1);
2382 iv_ruleVariable=ruleVariable();
1871 2383
1872 state._fsp--; 2384 state._fsp--;
1873 2385
2386 current =iv_ruleVariable;
2387 match(input,EOF,FOLLOW_2);
2388
2389 }
2390
2391 }
2392
2393 catch (RecognitionException re) {
2394 recover(input,re);
2395 appendSkippedTokens();
2396 }
2397 finally {
2398 }
2399 return current;
2400 }
2401 // $ANTLR end "entryRuleVariable"
2402
2403
2404 // $ANTLR start "ruleVariable"
2405 // InternalSolverLanguageParser.g:1005:1: ruleVariable returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ;
2406 public final EObject ruleVariable() throws RecognitionException {
2407 EObject current = null;
2408
2409 Token lv_name_1_0=null;
2410
2411
2412 enterRule();
2413
2414 try {
2415 // InternalSolverLanguageParser.g:1011:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) )
2416 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2417 {
2418 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2419 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) )
2420 {
2421 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )?
2422 int alt8=2;
2423 int LA8_0 = input.LA(1);
2424
2425 if ( (LA8_0==RULE_ID) ) {
2426 int LA8_1 = input.LA(2);
2427
2428 if ( (LA8_1==FullStop||LA8_1==RULE_ID) ) {
2429 alt8=1;
2430 }
2431 }
2432 else if ( (LA8_0==RULE_QUOTED_ID) ) {
2433 alt8=1;
2434 }
2435 switch (alt8) {
2436 case 1 :
2437 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2438 {
2439 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2440 // InternalSolverLanguageParser.g:1015:5: ruleQualifiedName
2441 {
2442
2443 if (current==null) {
2444 current = createModelElement(grammarAccess.getVariableRule());
2445 }
2446
2447
2448 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
2449
2450 pushFollow(FOLLOW_20);
2451 ruleQualifiedName();
2452
2453 state._fsp--;
2454
2455
2456 afterParserOrEnumRuleCall();
2457
2458
2459 }
2460
2461
2462 }
2463 break;
2464
2465 }
2466
2467 // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) )
2468 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2469 {
2470 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2471 // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID
2472 {
2473 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
2474
2475 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
2476
1874 2477
1875 if (current==null) { 2478 if (current==null) {
1876 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2479 current = createModelElement(grammarAccess.getVariableRule());
1877 } 2480 }
1878 set( 2481 setWithLastConsumed(
1879 current, 2482 current,
1880 "head", 2483 "name",
1881 lv_head_2_0, 2484 lv_name_1_0,
1882 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 2485 "org.eclipse.xtext.common.Terminals.ID");
1883 afterParserOrEnumRuleCall();
1884 2486
1885 2487
1886 } 2488 }
@@ -1907,11 +2509,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1907 } 2509 }
1908 return current; 2510 return current;
1909 } 2511 }
1910 // $ANTLR end "ruleExternMetricDefinition" 2512 // $ANTLR end "ruleVariable"
1911 2513
1912 2514
1913 // $ANTLR start "entryRuleExpression" 2515 // $ANTLR start "entryRuleExpression"
1914 // InternalSolverLanguageParser.g:774:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; 2516 // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
1915 public final EObject entryRuleExpression() throws RecognitionException { 2517 public final EObject entryRuleExpression() throws RecognitionException {
1916 EObject current = null; 2518 EObject current = null;
1917 2519
@@ -1919,8 +2521,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1919 2521
1920 2522
1921 try { 2523 try {
1922 // InternalSolverLanguageParser.g:774:51: (iv_ruleExpression= ruleExpression EOF ) 2524 // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF )
1923 // InternalSolverLanguageParser.g:775:2: iv_ruleExpression= ruleExpression EOF 2525 // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF
1924 { 2526 {
1925 newCompositeNode(grammarAccess.getExpressionRule()); 2527 newCompositeNode(grammarAccess.getExpressionRule());
1926 pushFollow(FOLLOW_1); 2528 pushFollow(FOLLOW_1);
@@ -1947,41 +2549,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1947 2549
1948 2550
1949 // $ANTLR start "ruleExpression" 2551 // $ANTLR start "ruleExpression"
1950 // InternalSolverLanguageParser.g:781:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; 2552 // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ;
1951 public final EObject ruleExpression() throws RecognitionException { 2553 public final EObject ruleExpression() throws RecognitionException {
1952 EObject current = null; 2554 EObject current = null;
1953 2555
1954 EObject this_IfElse_0 = null; 2556 EObject this_IfElse_0 = null;
1955 2557
1956 EObject this_DisjunctiveExpression_1 = null; 2558 EObject this_Let_1 = null;
2559
2560 EObject this_ImplicationExpression_2 = null;
1957 2561
1958 2562
1959 2563
1960 enterRule(); 2564 enterRule();
1961 2565
1962 try { 2566 try {
1963 // InternalSolverLanguageParser.g:787:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) 2567 // InternalSolverLanguageParser.g:1064:2: ( (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) )
1964 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2568 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1965 { 2569 {
1966 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2570 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1967 int alt8=2; 2571 int alt9=3;
1968 int LA8_0 = input.LA(1); 2572 switch ( input.LA(1) ) {
1969 2573 case If:
1970 if ( (LA8_0==If) ) { 2574 {
1971 alt8=1; 2575 alt9=1;
1972 } 2576 }
1973 else if ( (LA8_0==Current||LA8_0==Unknown||(LA8_0>=Count && LA8_0<=False)||(LA8_0>=Must && LA8_0<=Prod)||LA8_0==True||(LA8_0>=Avg && LA8_0<=Inf)||(LA8_0>=Max && LA8_0<=Sum)||(LA8_0>=ExclamationMark && LA8_0<=LeftParenthesis)||LA8_0==PlusSign||LA8_0==HyphenMinus||LA8_0==LeftSquareBracket||(LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||(LA8_0>=RULE_ID && LA8_0<=RULE_INT)) ) { 2577 break;
1974 alt8=2; 2578 case Let:
1975 } 2579 {
1976 else { 2580 alt9=2;
2581 }
2582 break;
2583 case Current:
2584 case Unknown:
2585 case Exists:
2586 case Forall:
2587 case Count:
2588 case Empty:
2589 case Error:
2590 case False:
2591 case Must:
2592 case True:
2593 case Inf:
2594 case May:
2595 case ExclamationMark:
2596 case LeftParenthesis:
2597 case PlusSign:
2598 case HyphenMinus:
2599 case LeftSquareBracket:
2600 case RULE_STRING:
2601 case RULE_QUOTED_ID:
2602 case RULE_ID:
2603 case RULE_INT:
2604 {
2605 alt9=3;
2606 }
2607 break;
2608 default:
1977 NoViableAltException nvae = 2609 NoViableAltException nvae =
1978 new NoViableAltException("", 8, 0, input); 2610 new NoViableAltException("", 9, 0, input);
1979 2611
1980 throw nvae; 2612 throw nvae;
1981 } 2613 }
1982 switch (alt8) { 2614
2615 switch (alt9) {
1983 case 1 : 2616 case 1 :
1984 // InternalSolverLanguageParser.g:789:3: this_IfElse_0= ruleIfElse 2617 // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse
1985 { 2618 {
1986 2619
1987 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 2620 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
@@ -1999,18 +2632,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1999 } 2632 }
2000 break; 2633 break;
2001 case 2 : 2634 case 2 :
2002 // InternalSolverLanguageParser.g:798:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression 2635 // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet
2636 {
2637
2638 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
2639
2640 pushFollow(FOLLOW_2);
2641 this_Let_1=ruleLet();
2642
2643 state._fsp--;
2644
2645
2646 current = this_Let_1;
2647 afterParserOrEnumRuleCall();
2648
2649
2650 }
2651 break;
2652 case 3 :
2653 // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression
2003 { 2654 {
2004 2655
2005 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 2656 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
2006 2657
2007 pushFollow(FOLLOW_2); 2658 pushFollow(FOLLOW_2);
2008 this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); 2659 this_ImplicationExpression_2=ruleImplicationExpression();
2009 2660
2010 state._fsp--; 2661 state._fsp--;
2011 2662
2012 2663
2013 current = this_DisjunctiveExpression_1; 2664 current = this_ImplicationExpression_2;
2014 afterParserOrEnumRuleCall(); 2665 afterParserOrEnumRuleCall();
2015 2666
2016 2667
@@ -2039,7 +2690,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2039 2690
2040 2691
2041 // $ANTLR start "entryRuleIfElse" 2692 // $ANTLR start "entryRuleIfElse"
2042 // InternalSolverLanguageParser.g:810:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; 2693 // InternalSolverLanguageParser.g:1096:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ;
2043 public final EObject entryRuleIfElse() throws RecognitionException { 2694 public final EObject entryRuleIfElse() throws RecognitionException {
2044 EObject current = null; 2695 EObject current = null;
2045 2696
@@ -2047,8 +2698,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2047 2698
2048 2699
2049 try { 2700 try {
2050 // InternalSolverLanguageParser.g:810:47: (iv_ruleIfElse= ruleIfElse EOF ) 2701 // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF )
2051 // InternalSolverLanguageParser.g:811:2: iv_ruleIfElse= ruleIfElse EOF 2702 // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF
2052 { 2703 {
2053 newCompositeNode(grammarAccess.getIfElseRule()); 2704 newCompositeNode(grammarAccess.getIfElseRule());
2054 pushFollow(FOLLOW_1); 2705 pushFollow(FOLLOW_1);
@@ -2075,7 +2726,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2075 2726
2076 2727
2077 // $ANTLR start "ruleIfElse" 2728 // $ANTLR start "ruleIfElse"
2078 // InternalSolverLanguageParser.g:817:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; 2729 // InternalSolverLanguageParser.g:1103:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ;
2079 public final EObject ruleIfElse() throws RecognitionException { 2730 public final EObject ruleIfElse() throws RecognitionException {
2080 EObject current = null; 2731 EObject current = null;
2081 2732
@@ -2093,26 +2744,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2093 enterRule(); 2744 enterRule();
2094 2745
2095 try { 2746 try {
2096 // InternalSolverLanguageParser.g:823:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) 2747 // InternalSolverLanguageParser.g:1109:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) )
2097 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2748 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2098 { 2749 {
2099 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2750 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2100 // InternalSolverLanguageParser.g:825:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) 2751 // InternalSolverLanguageParser.g:1111:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) )
2101 { 2752 {
2102 otherlv_0=(Token)match(input,If,FOLLOW_6); 2753 otherlv_0=(Token)match(input,If,FOLLOW_6);
2103 2754
2104 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); 2755 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0());
2105 2756
2106 // InternalSolverLanguageParser.g:829:3: ( (lv_condition_1_0= ruleExpression ) ) 2757 // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) )
2107 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2758 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2108 { 2759 {
2109 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2760 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2110 // InternalSolverLanguageParser.g:831:5: lv_condition_1_0= ruleExpression 2761 // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression
2111 { 2762 {
2112 2763
2113 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 2764 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
2114 2765
2115 pushFollow(FOLLOW_15); 2766 pushFollow(FOLLOW_21);
2116 lv_condition_1_0=ruleExpression(); 2767 lv_condition_1_0=ruleExpression();
2117 2768
2118 state._fsp--; 2769 state._fsp--;
@@ -2138,16 +2789,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2138 2789
2139 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); 2790 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2());
2140 2791
2141 // InternalSolverLanguageParser.g:852:3: ( (lv_then_3_0= ruleExpression ) ) 2792 // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) )
2142 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2793 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2143 { 2794 {
2144 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2795 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2145 // InternalSolverLanguageParser.g:854:5: lv_then_3_0= ruleExpression 2796 // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression
2146 { 2797 {
2147 2798
2148 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 2799 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
2149 2800
2150 pushFollow(FOLLOW_16); 2801 pushFollow(FOLLOW_22);
2151 lv_then_3_0=ruleExpression(); 2802 lv_then_3_0=ruleExpression();
2152 2803
2153 state._fsp--; 2804 state._fsp--;
@@ -2173,11 +2824,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2173 2824
2174 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); 2825 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4());
2175 2826
2176 // InternalSolverLanguageParser.g:875:3: ( (lv_else_5_0= ruleExpression ) ) 2827 // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) )
2177 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2828 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2178 { 2829 {
2179 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2830 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2180 // InternalSolverLanguageParser.g:877:5: lv_else_5_0= ruleExpression 2831 // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression
2181 { 2832 {
2182 2833
2183 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 2834 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
@@ -2226,8 +2877,547 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2226 // $ANTLR end "ruleIfElse" 2877 // $ANTLR end "ruleIfElse"
2227 2878
2228 2879
2880 // $ANTLR start "entryRuleLet"
2881 // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ;
2882 public final EObject entryRuleLet() throws RecognitionException {
2883 EObject current = null;
2884
2885 EObject iv_ruleLet = null;
2886
2887
2888 try {
2889 // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF )
2890 // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF
2891 {
2892 newCompositeNode(grammarAccess.getLetRule());
2893 pushFollow(FOLLOW_1);
2894 iv_ruleLet=ruleLet();
2895
2896 state._fsp--;
2897
2898 current =iv_ruleLet;
2899 match(input,EOF,FOLLOW_2);
2900
2901 }
2902
2903 }
2904
2905 catch (RecognitionException re) {
2906 recover(input,re);
2907 appendSkippedTokens();
2908 }
2909 finally {
2910 }
2911 return current;
2912 }
2913 // $ANTLR end "entryRuleLet"
2914
2915
2916 // $ANTLR start "ruleLet"
2917 // InternalSolverLanguageParser.g:1191:1: ruleLet returns [EObject current=null] : (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) ;
2918 public final EObject ruleLet() throws RecognitionException {
2919 EObject current = null;
2920
2921 Token otherlv_0=null;
2922 Token otherlv_2=null;
2923 Token otherlv_4=null;
2924 EObject lv_bindings_1_0 = null;
2925
2926 EObject lv_bindings_3_0 = null;
2927
2928 EObject lv_body_5_0 = null;
2929
2930
2931
2932 enterRule();
2933
2934 try {
2935 // InternalSolverLanguageParser.g:1197:2: ( (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) )
2936 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2937 {
2938 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2939 // InternalSolverLanguageParser.g:1199:3: otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) )
2940 {
2941 otherlv_0=(Token)match(input,Let,FOLLOW_8);
2942
2943 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
2944
2945 // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) )
2946 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2947 {
2948 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2949 // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding
2950 {
2951
2952 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
2953
2954 pushFollow(FOLLOW_23);
2955 lv_bindings_1_0=ruleLetBinding();
2956
2957 state._fsp--;
2958
2959
2960 if (current==null) {
2961 current = createModelElementForParent(grammarAccess.getLetRule());
2962 }
2963 add(
2964 current,
2965 "bindings",
2966 lv_bindings_1_0,
2967 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
2968 afterParserOrEnumRuleCall();
2969
2970
2971 }
2972
2973
2974 }
2975
2976 // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )*
2977 loop10:
2978 do {
2979 int alt10=2;
2980 int LA10_0 = input.LA(1);
2981
2982 if ( (LA10_0==Comma) ) {
2983 alt10=1;
2984 }
2985
2986
2987 switch (alt10) {
2988 case 1 :
2989 // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) )
2990 {
2991 otherlv_2=(Token)match(input,Comma,FOLLOW_8);
2992
2993 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
2994
2995 // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) )
2996 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2997 {
2998 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2999 // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding
3000 {
3001
3002 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
3003
3004 pushFollow(FOLLOW_23);
3005 lv_bindings_3_0=ruleLetBinding();
3006
3007 state._fsp--;
3008
3009
3010 if (current==null) {
3011 current = createModelElementForParent(grammarAccess.getLetRule());
3012 }
3013 add(
3014 current,
3015 "bindings",
3016 lv_bindings_3_0,
3017 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
3018 afterParserOrEnumRuleCall();
3019
3020
3021 }
3022
3023
3024 }
3025
3026
3027 }
3028 break;
3029
3030 default :
3031 break loop10;
3032 }
3033 } while (true);
3034
3035 otherlv_4=(Token)match(input,In,FOLLOW_6);
3036
3037 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
3038
3039 // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) )
3040 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3041 {
3042 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3043 // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression
3044 {
3045
3046 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
3047
3048 pushFollow(FOLLOW_2);
3049 lv_body_5_0=ruleExpression();
3050
3051 state._fsp--;
3052
3053
3054 if (current==null) {
3055 current = createModelElementForParent(grammarAccess.getLetRule());
3056 }
3057 set(
3058 current,
3059 "body",
3060 lv_body_5_0,
3061 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
3062 afterParserOrEnumRuleCall();
3063
3064
3065 }
3066
3067
3068 }
3069
3070
3071 }
3072
3073
3074 }
3075
3076
3077 leaveRule();
3078
3079 }
3080
3081 catch (RecognitionException re) {
3082 recover(input,re);
3083 appendSkippedTokens();
3084 }
3085 finally {
3086 }
3087 return current;
3088 }
3089 // $ANTLR end "ruleLet"
3090
3091
3092 // $ANTLR start "entryRuleLetBinding"
3093 // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ;
3094 public final EObject entryRuleLetBinding() throws RecognitionException {
3095 EObject current = null;
3096
3097 EObject iv_ruleLetBinding = null;
3098
3099
3100 try {
3101 // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF )
3102 // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF
3103 {
3104 newCompositeNode(grammarAccess.getLetBindingRule());
3105 pushFollow(FOLLOW_1);
3106 iv_ruleLetBinding=ruleLetBinding();
3107
3108 state._fsp--;
3109
3110 current =iv_ruleLetBinding;
3111 match(input,EOF,FOLLOW_2);
3112
3113 }
3114
3115 }
3116
3117 catch (RecognitionException re) {
3118 recover(input,re);
3119 appendSkippedTokens();
3120 }
3121 finally {
3122 }
3123 return current;
3124 }
3125 // $ANTLR end "entryRuleLetBinding"
3126
3127
3128 // $ANTLR start "ruleLetBinding"
3129 // InternalSolverLanguageParser.g:1281:1: ruleLetBinding returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ;
3130 public final EObject ruleLetBinding() throws RecognitionException {
3131 EObject current = null;
3132
3133 Token otherlv_1=null;
3134 EObject lv_variable_0_0 = null;
3135
3136 EObject lv_value_2_0 = null;
3137
3138
3139
3140 enterRule();
3141
3142 try {
3143 // InternalSolverLanguageParser.g:1287:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) )
3144 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3145 {
3146 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3147 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) )
3148 {
3149 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) )
3150 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3151 {
3152 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3153 // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable
3154 {
3155
3156 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
3157
3158 pushFollow(FOLLOW_13);
3159 lv_variable_0_0=ruleVariable();
3160
3161 state._fsp--;
3162
3163
3164 if (current==null) {
3165 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3166 }
3167 set(
3168 current,
3169 "variable",
3170 lv_variable_0_0,
3171 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
3172 afterParserOrEnumRuleCall();
3173
3174
3175 }
3176
3177
3178 }
3179
3180 otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6);
3181
3182 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
3183
3184 // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) )
3185 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3186 {
3187 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3188 // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression
3189 {
3190
3191 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
3192
3193 pushFollow(FOLLOW_2);
3194 lv_value_2_0=ruleAdditiveExpression();
3195
3196 state._fsp--;
3197
3198
3199 if (current==null) {
3200 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3201 }
3202 set(
3203 current,
3204 "value",
3205 lv_value_2_0,
3206 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
3207 afterParserOrEnumRuleCall();
3208
3209
3210 }
3211
3212
3213 }
3214
3215
3216 }
3217
3218
3219 }
3220
3221
3222 leaveRule();
3223
3224 }
3225
3226 catch (RecognitionException re) {
3227 recover(input,re);
3228 appendSkippedTokens();
3229 }
3230 finally {
3231 }
3232 return current;
3233 }
3234 // $ANTLR end "ruleLetBinding"
3235
3236
3237 // $ANTLR start "entryRuleImplicationExpression"
3238 // InternalSolverLanguageParser.g:1335:1: entryRuleImplicationExpression returns [EObject current=null] : iv_ruleImplicationExpression= ruleImplicationExpression EOF ;
3239 public final EObject entryRuleImplicationExpression() throws RecognitionException {
3240 EObject current = null;
3241
3242 EObject iv_ruleImplicationExpression = null;
3243
3244
3245 try {
3246 // InternalSolverLanguageParser.g:1335:62: (iv_ruleImplicationExpression= ruleImplicationExpression EOF )
3247 // InternalSolverLanguageParser.g:1336:2: iv_ruleImplicationExpression= ruleImplicationExpression EOF
3248 {
3249 newCompositeNode(grammarAccess.getImplicationExpressionRule());
3250 pushFollow(FOLLOW_1);
3251 iv_ruleImplicationExpression=ruleImplicationExpression();
3252
3253 state._fsp--;
3254
3255 current =iv_ruleImplicationExpression;
3256 match(input,EOF,FOLLOW_2);
3257
3258 }
3259
3260 }
3261
3262 catch (RecognitionException re) {
3263 recover(input,re);
3264 appendSkippedTokens();
3265 }
3266 finally {
3267 }
3268 return current;
3269 }
3270 // $ANTLR end "entryRuleImplicationExpression"
3271
3272
3273 // $ANTLR start "ruleImplicationExpression"
3274 // InternalSolverLanguageParser.g:1342:1: ruleImplicationExpression returns [EObject current=null] : (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) ;
3275 public final EObject ruleImplicationExpression() throws RecognitionException {
3276 EObject current = null;
3277
3278 EObject this_DisjunctiveExpression_0 = null;
3279
3280 Enumerator lv_op_2_0 = null;
3281
3282 EObject lv_right_3_0 = null;
3283
3284
3285
3286 enterRule();
3287
3288 try {
3289 // InternalSolverLanguageParser.g:1348:2: ( (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) )
3290 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3291 {
3292 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3293 // InternalSolverLanguageParser.g:1350:3: this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3294 {
3295
3296 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
3297
3298 pushFollow(FOLLOW_24);
3299 this_DisjunctiveExpression_0=ruleDisjunctiveExpression();
3300
3301 state._fsp--;
3302
3303
3304 current = this_DisjunctiveExpression_0;
3305 afterParserOrEnumRuleCall();
3306
3307 // InternalSolverLanguageParser.g:1358:3: ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3308 int alt11=2;
3309 int LA11_0 = input.LA(1);
3310
3311 if ( (LA11_0==EqualsSignGreaterThanSign) ) {
3312 alt11=1;
3313 }
3314 switch (alt11) {
3315 case 1 :
3316 // InternalSolverLanguageParser.g:1359:4: () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) )
3317 {
3318 // InternalSolverLanguageParser.g:1359:4: ()
3319 // InternalSolverLanguageParser.g:1360:5:
3320 {
3321
3322 current = forceCreateModelElementAndSet(
3323 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3324 current);
3325
3326
3327 }
3328
3329 // InternalSolverLanguageParser.g:1366:4: ( (lv_op_2_0= ruleImplicationOperator ) )
3330 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3331 {
3332 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3333 // InternalSolverLanguageParser.g:1368:6: lv_op_2_0= ruleImplicationOperator
3334 {
3335
3336 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
3337
3338 pushFollow(FOLLOW_6);
3339 lv_op_2_0=ruleImplicationOperator();
3340
3341 state._fsp--;
3342
3343
3344 if (current==null) {
3345 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3346 }
3347 set(
3348 current,
3349 "op",
3350 lv_op_2_0,
3351 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
3352 afterParserOrEnumRuleCall();
3353
3354
3355 }
3356
3357
3358 }
3359
3360 // InternalSolverLanguageParser.g:1385:4: ( (lv_right_3_0= ruleImplicationExpression ) )
3361 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3362 {
3363 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3364 // InternalSolverLanguageParser.g:1387:6: lv_right_3_0= ruleImplicationExpression
3365 {
3366
3367 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
3368
3369 pushFollow(FOLLOW_2);
3370 lv_right_3_0=ruleImplicationExpression();
3371
3372 state._fsp--;
3373
3374
3375 if (current==null) {
3376 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3377 }
3378 set(
3379 current,
3380 "right",
3381 lv_right_3_0,
3382 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
3383 afterParserOrEnumRuleCall();
3384
3385
3386 }
3387
3388
3389 }
3390
3391
3392 }
3393 break;
3394
3395 }
3396
3397
3398 }
3399
3400
3401 }
3402
3403
3404 leaveRule();
3405
3406 }
3407
3408 catch (RecognitionException re) {
3409 recover(input,re);
3410 appendSkippedTokens();
3411 }
3412 finally {
3413 }
3414 return current;
3415 }
3416 // $ANTLR end "ruleImplicationExpression"
3417
3418
2229 // $ANTLR start "entryRuleDisjunctiveExpression" 3419 // $ANTLR start "entryRuleDisjunctiveExpression"
2230 // InternalSolverLanguageParser.g:898:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; 3420 // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ;
2231 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { 3421 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException {
2232 EObject current = null; 3422 EObject current = null;
2233 3423
@@ -2235,8 +3425,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2235 3425
2236 3426
2237 try { 3427 try {
2238 // InternalSolverLanguageParser.g:898:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) 3428 // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF )
2239 // InternalSolverLanguageParser.g:899:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF 3429 // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF
2240 { 3430 {
2241 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); 3431 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule());
2242 pushFollow(FOLLOW_1); 3432 pushFollow(FOLLOW_1);
@@ -2263,7 +3453,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2263 3453
2264 3454
2265 // $ANTLR start "ruleDisjunctiveExpression" 3455 // $ANTLR start "ruleDisjunctiveExpression"
2266 // InternalSolverLanguageParser.g:905:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; 3456 // InternalSolverLanguageParser.g:1416:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ;
2267 public final EObject ruleDisjunctiveExpression() throws RecognitionException { 3457 public final EObject ruleDisjunctiveExpression() throws RecognitionException {
2268 EObject current = null; 3458 EObject current = null;
2269 3459
@@ -2283,16 +3473,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2283 enterRule(); 3473 enterRule();
2284 3474
2285 try { 3475 try {
2286 // InternalSolverLanguageParser.g:911:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) 3476 // InternalSolverLanguageParser.g:1422:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) )
2287 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3477 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2288 { 3478 {
2289 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3479 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2290 // InternalSolverLanguageParser.g:913:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3480 // InternalSolverLanguageParser.g:1424:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2291 { 3481 {
2292 3482
2293 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); 3483 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
2294 3484
2295 pushFollow(FOLLOW_17); 3485 pushFollow(FOLLOW_25);
2296 this_ConjunctiveExpression_0=ruleConjunctiveExpression(); 3486 this_ConjunctiveExpression_0=ruleConjunctiveExpression();
2297 3487
2298 state._fsp--; 3488 state._fsp--;
@@ -2301,25 +3491,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2301 current = this_ConjunctiveExpression_0; 3491 current = this_ConjunctiveExpression_0;
2302 afterParserOrEnumRuleCall(); 3492 afterParserOrEnumRuleCall();
2303 3493
2304 // InternalSolverLanguageParser.g:921:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3494 // InternalSolverLanguageParser.g:1432:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2305 int alt11=3; 3495 int alt14=3;
2306 int LA11_0 = input.LA(1); 3496 int LA14_0 = input.LA(1);
2307 3497
2308 if ( (LA11_0==Semicolon) ) { 3498 if ( (LA14_0==Semicolon) ) {
2309 alt11=1; 3499 alt14=1;
2310 } 3500 }
2311 else if ( (LA11_0==HyphenMinusGreaterThanSign) ) { 3501 else if ( (LA14_0==HyphenMinusGreaterThanSign) ) {
2312 alt11=2; 3502 alt14=2;
2313 } 3503 }
2314 switch (alt11) { 3504 switch (alt14) {
2315 case 1 : 3505 case 1 :
2316 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3506 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2317 { 3507 {
2318 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3508 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2319 // InternalSolverLanguageParser.g:923:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3509 // InternalSolverLanguageParser.g:1434:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2320 { 3510 {
2321 // InternalSolverLanguageParser.g:923:5: () 3511 // InternalSolverLanguageParser.g:1434:5: ()
2322 // InternalSolverLanguageParser.g:924:6: 3512 // InternalSolverLanguageParser.g:1435:6:
2323 { 3513 {
2324 3514
2325 current = forceCreateModelElementAndAdd( 3515 current = forceCreateModelElementAndAdd(
@@ -2329,36 +3519,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2329 3519
2330 } 3520 }
2331 3521
2332 // InternalSolverLanguageParser.g:930:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3522 // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2333 int cnt9=0; 3523 int cnt12=0;
2334 loop9: 3524 loop12:
2335 do { 3525 do {
2336 int alt9=2; 3526 int alt12=2;
2337 int LA9_0 = input.LA(1); 3527 int LA12_0 = input.LA(1);
2338 3528
2339 if ( (LA9_0==Semicolon) ) { 3529 if ( (LA12_0==Semicolon) ) {
2340 alt9=1; 3530 alt12=1;
2341 } 3531 }
2342 3532
2343 3533
2344 switch (alt9) { 3534 switch (alt12) {
2345 case 1 : 3535 case 1 :
2346 // InternalSolverLanguageParser.g:931:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3536 // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) )
2347 { 3537 {
2348 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); 3538 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6);
2349 3539
2350 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); 3540 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
2351 3541
2352 // InternalSolverLanguageParser.g:935:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3542 // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) )
2353 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3543 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2354 { 3544 {
2355 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3545 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2356 // InternalSolverLanguageParser.g:937:8: lv_children_3_0= ruleConjunctiveExpression 3546 // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression
2357 { 3547 {
2358 3548
2359 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); 3549 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
2360 3550
2361 pushFollow(FOLLOW_18); 3551 pushFollow(FOLLOW_26);
2362 lv_children_3_0=ruleConjunctiveExpression(); 3552 lv_children_3_0=ruleConjunctiveExpression();
2363 3553
2364 state._fsp--; 3554 state._fsp--;
@@ -2385,12 +3575,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2385 break; 3575 break;
2386 3576
2387 default : 3577 default :
2388 if ( cnt9 >= 1 ) break loop9; 3578 if ( cnt12 >= 1 ) break loop12;
2389 EarlyExitException eee = 3579 EarlyExitException eee =
2390 new EarlyExitException(9, input); 3580 new EarlyExitException(12, input);
2391 throw eee; 3581 throw eee;
2392 } 3582 }
2393 cnt9++; 3583 cnt12++;
2394 } while (true); 3584 } while (true);
2395 3585
2396 3586
@@ -2400,13 +3590,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2400 } 3590 }
2401 break; 3591 break;
2402 case 2 : 3592 case 2 :
2403 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3593 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2404 { 3594 {
2405 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3595 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2406 // InternalSolverLanguageParser.g:958:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3596 // InternalSolverLanguageParser.g:1469:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2407 { 3597 {
2408 // InternalSolverLanguageParser.g:958:5: () 3598 // InternalSolverLanguageParser.g:1469:5: ()
2409 // InternalSolverLanguageParser.g:959:6: 3599 // InternalSolverLanguageParser.g:1470:6:
2410 { 3600 {
2411 3601
2412 current = forceCreateModelElementAndSet( 3602 current = forceCreateModelElementAndSet(
@@ -2420,16 +3610,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2420 3610
2421 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); 3611 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
2422 3612
2423 // InternalSolverLanguageParser.g:969:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) 3613 // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) )
2424 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3614 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2425 { 3615 {
2426 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3616 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2427 // InternalSolverLanguageParser.g:971:7: lv_body_6_0= ruleConjunctiveExpression 3617 // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression
2428 { 3618 {
2429 3619
2430 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); 3620 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
2431 3621
2432 pushFollow(FOLLOW_18); 3622 pushFollow(FOLLOW_26);
2433 lv_body_6_0=ruleConjunctiveExpression(); 3623 lv_body_6_0=ruleConjunctiveExpression();
2434 3624
2435 state._fsp--; 3625 state._fsp--;
@@ -2451,8 +3641,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2451 3641
2452 } 3642 }
2453 3643
2454 // InternalSolverLanguageParser.g:988:5: () 3644 // InternalSolverLanguageParser.g:1499:5: ()
2455 // InternalSolverLanguageParser.g:989:6: 3645 // InternalSolverLanguageParser.g:1500:6:
2456 { 3646 {
2457 3647
2458 current = forceCreateModelElementAndAdd( 3648 current = forceCreateModelElementAndAdd(
@@ -2462,35 +3652,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2462 3652
2463 } 3653 }
2464 3654
2465 // InternalSolverLanguageParser.g:995:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3655 // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2466 loop10: 3656 loop13:
2467 do { 3657 do {
2468 int alt10=2; 3658 int alt13=2;
2469 int LA10_0 = input.LA(1); 3659 int LA13_0 = input.LA(1);
2470 3660
2471 if ( (LA10_0==Semicolon) ) { 3661 if ( (LA13_0==Semicolon) ) {
2472 alt10=1; 3662 alt13=1;
2473 } 3663 }
2474 3664
2475 3665
2476 switch (alt10) { 3666 switch (alt13) {
2477 case 1 : 3667 case 1 :
2478 // InternalSolverLanguageParser.g:996:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) 3668 // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) )
2479 { 3669 {
2480 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); 3670 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6);
2481 3671
2482 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); 3672 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
2483 3673
2484 // InternalSolverLanguageParser.g:1000:6: ( (lv_cases_9_0= ruleCase ) ) 3674 // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) )
2485 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3675 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2486 { 3676 {
2487 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3677 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2488 // InternalSolverLanguageParser.g:1002:8: lv_cases_9_0= ruleCase 3678 // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase
2489 { 3679 {
2490 3680
2491 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); 3681 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
2492 3682
2493 pushFollow(FOLLOW_18); 3683 pushFollow(FOLLOW_26);
2494 lv_cases_9_0=ruleCase(); 3684 lv_cases_9_0=ruleCase();
2495 3685
2496 state._fsp--; 3686 state._fsp--;
@@ -2517,7 +3707,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2517 break; 3707 break;
2518 3708
2519 default : 3709 default :
2520 break loop10; 3710 break loop13;
2521 } 3711 }
2522 } while (true); 3712 } while (true);
2523 3713
@@ -2553,7 +3743,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2553 3743
2554 3744
2555 // $ANTLR start "entryRuleCase" 3745 // $ANTLR start "entryRuleCase"
2556 // InternalSolverLanguageParser.g:1026:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; 3746 // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ;
2557 public final EObject entryRuleCase() throws RecognitionException { 3747 public final EObject entryRuleCase() throws RecognitionException {
2558 EObject current = null; 3748 EObject current = null;
2559 3749
@@ -2561,8 +3751,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2561 3751
2562 3752
2563 try { 3753 try {
2564 // InternalSolverLanguageParser.g:1026:45: (iv_ruleCase= ruleCase EOF ) 3754 // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF )
2565 // InternalSolverLanguageParser.g:1027:2: iv_ruleCase= ruleCase EOF 3755 // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF
2566 { 3756 {
2567 newCompositeNode(grammarAccess.getCaseRule()); 3757 newCompositeNode(grammarAccess.getCaseRule());
2568 pushFollow(FOLLOW_1); 3758 pushFollow(FOLLOW_1);
@@ -2589,7 +3779,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2589 3779
2590 3780
2591 // $ANTLR start "ruleCase" 3781 // $ANTLR start "ruleCase"
2592 // InternalSolverLanguageParser.g:1033:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; 3782 // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ;
2593 public final EObject ruleCase() throws RecognitionException { 3783 public final EObject ruleCase() throws RecognitionException {
2594 EObject current = null; 3784 EObject current = null;
2595 3785
@@ -2603,22 +3793,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2603 enterRule(); 3793 enterRule();
2604 3794
2605 try { 3795 try {
2606 // InternalSolverLanguageParser.g:1039:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) 3796 // InternalSolverLanguageParser.g:1550:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) )
2607 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3797 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2608 { 3798 {
2609 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3799 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2610 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3800 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) )
2611 { 3801 {
2612 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) 3802 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) )
2613 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3803 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2614 { 3804 {
2615 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3805 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2616 // InternalSolverLanguageParser.g:1043:5: lv_condition_0_0= ruleConjunctiveExpression 3806 // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression
2617 { 3807 {
2618 3808
2619 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); 3809 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
2620 3810
2621 pushFollow(FOLLOW_19); 3811 pushFollow(FOLLOW_27);
2622 lv_condition_0_0=ruleConjunctiveExpression(); 3812 lv_condition_0_0=ruleConjunctiveExpression();
2623 3813
2624 state._fsp--; 3814 state._fsp--;
@@ -2644,11 +3834,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2644 3834
2645 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); 3835 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
2646 3836
2647 // InternalSolverLanguageParser.g:1064:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3837 // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) )
2648 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3838 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2649 { 3839 {
2650 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3840 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2651 // InternalSolverLanguageParser.g:1066:5: lv_body_2_0= ruleConjunctiveExpression 3841 // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression
2652 { 3842 {
2653 3843
2654 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); 3844 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
@@ -2698,7 +3888,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2698 3888
2699 3889
2700 // $ANTLR start "entryRuleConjunctiveExpression" 3890 // $ANTLR start "entryRuleConjunctiveExpression"
2701 // InternalSolverLanguageParser.g:1087:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; 3891 // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ;
2702 public final EObject entryRuleConjunctiveExpression() throws RecognitionException { 3892 public final EObject entryRuleConjunctiveExpression() throws RecognitionException {
2703 EObject current = null; 3893 EObject current = null;
2704 3894
@@ -2706,8 +3896,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2706 3896
2707 3897
2708 try { 3898 try {
2709 // InternalSolverLanguageParser.g:1087:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) 3899 // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF )
2710 // InternalSolverLanguageParser.g:1088:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF 3900 // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF
2711 { 3901 {
2712 newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); 3902 newCompositeNode(grammarAccess.getConjunctiveExpressionRule());
2713 pushFollow(FOLLOW_1); 3903 pushFollow(FOLLOW_1);
@@ -2734,7 +3924,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2734 3924
2735 3925
2736 // $ANTLR start "ruleConjunctiveExpression" 3926 // $ANTLR start "ruleConjunctiveExpression"
2737 // InternalSolverLanguageParser.g:1094:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; 3927 // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ;
2738 public final EObject ruleConjunctiveExpression() throws RecognitionException { 3928 public final EObject ruleConjunctiveExpression() throws RecognitionException {
2739 EObject current = null; 3929 EObject current = null;
2740 3930
@@ -2748,16 +3938,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2748 enterRule(); 3938 enterRule();
2749 3939
2750 try { 3940 try {
2751 // InternalSolverLanguageParser.g:1100:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) 3941 // InternalSolverLanguageParser.g:1611:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) )
2752 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3942 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2753 { 3943 {
2754 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3944 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2755 // InternalSolverLanguageParser.g:1102:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3945 // InternalSolverLanguageParser.g:1613:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2756 { 3946 {
2757 3947
2758 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); 3948 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
2759 3949
2760 pushFollow(FOLLOW_20); 3950 pushFollow(FOLLOW_19);
2761 this_ComparisonExpression_0=ruleComparisonExpression(); 3951 this_ComparisonExpression_0=ruleComparisonExpression();
2762 3952
2763 state._fsp--; 3953 state._fsp--;
@@ -2766,19 +3956,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2766 current = this_ComparisonExpression_0; 3956 current = this_ComparisonExpression_0;
2767 afterParserOrEnumRuleCall(); 3957 afterParserOrEnumRuleCall();
2768 3958
2769 // InternalSolverLanguageParser.g:1110:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3959 // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2770 int alt13=2; 3960 int alt16=2;
2771 int LA13_0 = input.LA(1); 3961 int LA16_0 = input.LA(1);
2772 3962
2773 if ( (LA13_0==Comma) ) { 3963 if ( (LA16_0==Comma) ) {
2774 alt13=1; 3964 alt16=1;
2775 } 3965 }
2776 switch (alt13) { 3966 switch (alt16) {
2777 case 1 : 3967 case 1 :
2778 // InternalSolverLanguageParser.g:1111:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3968 // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2779 { 3969 {
2780 // InternalSolverLanguageParser.g:1111:4: () 3970 // InternalSolverLanguageParser.g:1622:4: ()
2781 // InternalSolverLanguageParser.g:1112:5: 3971 // InternalSolverLanguageParser.g:1623:5:
2782 { 3972 {
2783 3973
2784 current = forceCreateModelElementAndAdd( 3974 current = forceCreateModelElementAndAdd(
@@ -2788,36 +3978,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2788 3978
2789 } 3979 }
2790 3980
2791 // InternalSolverLanguageParser.g:1118:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3981 // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2792 int cnt12=0; 3982 int cnt15=0;
2793 loop12: 3983 loop15:
2794 do { 3984 do {
2795 int alt12=2; 3985 int alt15=2;
2796 int LA12_0 = input.LA(1); 3986 int LA15_0 = input.LA(1);
2797 3987
2798 if ( (LA12_0==Comma) ) { 3988 if ( (LA15_0==Comma) ) {
2799 alt12=1; 3989 alt15=1;
2800 } 3990 }
2801 3991
2802 3992
2803 switch (alt12) { 3993 switch (alt15) {
2804 case 1 : 3994 case 1 :
2805 // InternalSolverLanguageParser.g:1119:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) 3995 // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) )
2806 { 3996 {
2807 otherlv_2=(Token)match(input,Comma,FOLLOW_6); 3997 otherlv_2=(Token)match(input,Comma,FOLLOW_6);
2808 3998
2809 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); 3999 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
2810 4000
2811 // InternalSolverLanguageParser.g:1123:5: ( (lv_children_3_0= ruleComparisonExpression ) ) 4001 // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) )
2812 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4002 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2813 { 4003 {
2814 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4004 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2815 // InternalSolverLanguageParser.g:1125:7: lv_children_3_0= ruleComparisonExpression 4005 // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression
2816 { 4006 {
2817 4007
2818 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); 4008 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
2819 4009
2820 pushFollow(FOLLOW_20); 4010 pushFollow(FOLLOW_19);
2821 lv_children_3_0=ruleComparisonExpression(); 4011 lv_children_3_0=ruleComparisonExpression();
2822 4012
2823 state._fsp--; 4013 state._fsp--;
@@ -2844,12 +4034,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2844 break; 4034 break;
2845 4035
2846 default : 4036 default :
2847 if ( cnt12 >= 1 ) break loop12; 4037 if ( cnt15 >= 1 ) break loop15;
2848 EarlyExitException eee = 4038 EarlyExitException eee =
2849 new EarlyExitException(12, input); 4039 new EarlyExitException(15, input);
2850 throw eee; 4040 throw eee;
2851 } 4041 }
2852 cnt12++; 4042 cnt15++;
2853 } while (true); 4043 } while (true);
2854 4044
2855 4045
@@ -2881,7 +4071,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2881 4071
2882 4072
2883 // $ANTLR start "entryRuleComparisonExpression" 4073 // $ANTLR start "entryRuleComparisonExpression"
2884 // InternalSolverLanguageParser.g:1148:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; 4074 // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ;
2885 public final EObject entryRuleComparisonExpression() throws RecognitionException { 4075 public final EObject entryRuleComparisonExpression() throws RecognitionException {
2886 EObject current = null; 4076 EObject current = null;
2887 4077
@@ -2889,8 +4079,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2889 4079
2890 4080
2891 try { 4081 try {
2892 // InternalSolverLanguageParser.g:1148:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) 4082 // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF )
2893 // InternalSolverLanguageParser.g:1149:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF 4083 // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF
2894 { 4084 {
2895 newCompositeNode(grammarAccess.getComparisonExpressionRule()); 4085 newCompositeNode(grammarAccess.getComparisonExpressionRule());
2896 pushFollow(FOLLOW_1); 4086 pushFollow(FOLLOW_1);
@@ -2917,7 +4107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2917 4107
2918 4108
2919 // $ANTLR start "ruleComparisonExpression" 4109 // $ANTLR start "ruleComparisonExpression"
2920 // InternalSolverLanguageParser.g:1155:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; 4110 // InternalSolverLanguageParser.g:1666:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ;
2921 public final EObject ruleComparisonExpression() throws RecognitionException { 4111 public final EObject ruleComparisonExpression() throws RecognitionException {
2922 EObject current = null; 4112 EObject current = null;
2923 4113
@@ -2932,16 +4122,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2932 enterRule(); 4122 enterRule();
2933 4123
2934 try { 4124 try {
2935 // InternalSolverLanguageParser.g:1161:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) 4125 // InternalSolverLanguageParser.g:1672:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) )
2936 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4126 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2937 { 4127 {
2938 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4128 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2939 // InternalSolverLanguageParser.g:1163:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4129 // InternalSolverLanguageParser.g:1674:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2940 { 4130 {
2941 4131
2942 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 4132 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
2943 4133
2944 pushFollow(FOLLOW_21); 4134 pushFollow(FOLLOW_28);
2945 this_AdditiveExpression_0=ruleAdditiveExpression(); 4135 this_AdditiveExpression_0=ruleAdditiveExpression();
2946 4136
2947 state._fsp--; 4137 state._fsp--;
@@ -2950,19 +4140,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2950 current = this_AdditiveExpression_0; 4140 current = this_AdditiveExpression_0;
2951 afterParserOrEnumRuleCall(); 4141 afterParserOrEnumRuleCall();
2952 4142
2953 // InternalSolverLanguageParser.g:1171:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4143 // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2954 int alt14=2; 4144 int alt17=2;
2955 int LA14_0 = input.LA(1); 4145 int LA17_0 = input.LA(1);
2956 4146
2957 if ( (LA14_0==ExclamationMarkEqualsSign||(LA14_0>=LessThanSignEqualsSign && LA14_0<=GreaterThanSignEqualsSign)||LA14_0==In||LA14_0==LessThanSign||LA14_0==GreaterThanSign) ) { 4147 if ( (LA17_0==ExclamationMarkEqualsSign||(LA17_0>=LessThanSignEqualsSign && LA17_0<=EqualsSignEqualsSign)||LA17_0==GreaterThanSignEqualsSign||LA17_0==In||LA17_0==LessThanSign||LA17_0==GreaterThanSign) ) {
2958 alt14=1; 4148 alt17=1;
2959 } 4149 }
2960 switch (alt14) { 4150 switch (alt17) {
2961 case 1 : 4151 case 1 :
2962 // InternalSolverLanguageParser.g:1172:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) 4152 // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) )
2963 { 4153 {
2964 // InternalSolverLanguageParser.g:1172:4: () 4154 // InternalSolverLanguageParser.g:1683:4: ()
2965 // InternalSolverLanguageParser.g:1173:5: 4155 // InternalSolverLanguageParser.g:1684:5:
2966 { 4156 {
2967 4157
2968 current = forceCreateModelElementAndSet( 4158 current = forceCreateModelElementAndSet(
@@ -2972,11 +4162,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2972 4162
2973 } 4163 }
2974 4164
2975 // InternalSolverLanguageParser.g:1179:4: ( (lv_op_2_0= ruleComparisonOperator ) ) 4165 // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) )
2976 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4166 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2977 { 4167 {
2978 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4168 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2979 // InternalSolverLanguageParser.g:1181:6: lv_op_2_0= ruleComparisonOperator 4169 // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator
2980 { 4170 {
2981 4171
2982 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); 4172 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
@@ -3003,11 +4193,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3003 4193
3004 } 4194 }
3005 4195
3006 // InternalSolverLanguageParser.g:1198:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) 4196 // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) )
3007 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4197 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3008 { 4198 {
3009 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4199 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3010 // InternalSolverLanguageParser.g:1200:6: lv_right_3_0= ruleAdditiveExpression 4200 // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression
3011 { 4201 {
3012 4202
3013 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); 4203 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
@@ -3063,7 +4253,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3063 4253
3064 4254
3065 // $ANTLR start "entryRuleAdditiveExpression" 4255 // $ANTLR start "entryRuleAdditiveExpression"
3066 // InternalSolverLanguageParser.g:1222:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; 4256 // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
3067 public final EObject entryRuleAdditiveExpression() throws RecognitionException { 4257 public final EObject entryRuleAdditiveExpression() throws RecognitionException {
3068 EObject current = null; 4258 EObject current = null;
3069 4259
@@ -3071,8 +4261,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3071 4261
3072 4262
3073 try { 4263 try {
3074 // InternalSolverLanguageParser.g:1222:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) 4264 // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
3075 // InternalSolverLanguageParser.g:1223:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF 4265 // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
3076 { 4266 {
3077 newCompositeNode(grammarAccess.getAdditiveExpressionRule()); 4267 newCompositeNode(grammarAccess.getAdditiveExpressionRule());
3078 pushFollow(FOLLOW_1); 4268 pushFollow(FOLLOW_1);
@@ -3099,7 +4289,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3099 4289
3100 4290
3101 // $ANTLR start "ruleAdditiveExpression" 4291 // $ANTLR start "ruleAdditiveExpression"
3102 // InternalSolverLanguageParser.g:1229:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; 4292 // InternalSolverLanguageParser.g:1740:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ;
3103 public final EObject ruleAdditiveExpression() throws RecognitionException { 4293 public final EObject ruleAdditiveExpression() throws RecognitionException {
3104 EObject current = null; 4294 EObject current = null;
3105 4295
@@ -3114,16 +4304,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3114 enterRule(); 4304 enterRule();
3115 4305
3116 try { 4306 try {
3117 // InternalSolverLanguageParser.g:1235:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) 4307 // InternalSolverLanguageParser.g:1746:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) )
3118 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4308 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3119 { 4309 {
3120 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4310 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3121 // InternalSolverLanguageParser.g:1237:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4311 // InternalSolverLanguageParser.g:1748:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3122 { 4312 {
3123 4313
3124 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 4314 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
3125 4315
3126 pushFollow(FOLLOW_22); 4316 pushFollow(FOLLOW_29);
3127 this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); 4317 this_MultiplicativeExpression_0=ruleMultiplicativeExpression();
3128 4318
3129 state._fsp--; 4319 state._fsp--;
@@ -3132,23 +4322,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3132 current = this_MultiplicativeExpression_0; 4322 current = this_MultiplicativeExpression_0;
3133 afterParserOrEnumRuleCall(); 4323 afterParserOrEnumRuleCall();
3134 4324
3135 // InternalSolverLanguageParser.g:1245:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4325 // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3136 loop15: 4326 loop18:
3137 do { 4327 do {
3138 int alt15=2; 4328 int alt18=2;
3139 int LA15_0 = input.LA(1); 4329 int LA18_0 = input.LA(1);
3140 4330
3141 if ( (LA15_0==PlusSign||LA15_0==HyphenMinus) ) { 4331 if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) {
3142 alt15=1; 4332 alt18=1;
3143 } 4333 }
3144 4334
3145 4335
3146 switch (alt15) { 4336 switch (alt18) {
3147 case 1 : 4337 case 1 :
3148 // InternalSolverLanguageParser.g:1246:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4338 // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3149 { 4339 {
3150 // InternalSolverLanguageParser.g:1246:4: () 4340 // InternalSolverLanguageParser.g:1757:4: ()
3151 // InternalSolverLanguageParser.g:1247:5: 4341 // InternalSolverLanguageParser.g:1758:5:
3152 { 4342 {
3153 4343
3154 current = forceCreateModelElementAndSet( 4344 current = forceCreateModelElementAndSet(
@@ -3158,11 +4348,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3158 4348
3159 } 4349 }
3160 4350
3161 // InternalSolverLanguageParser.g:1253:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) 4351 // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) )
3162 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4352 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3163 { 4353 {
3164 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4354 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3165 // InternalSolverLanguageParser.g:1255:6: lv_op_2_0= ruleAdditiveBinaryOperator 4355 // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator
3166 { 4356 {
3167 4357
3168 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); 4358 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
@@ -3189,16 +4379,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3189 4379
3190 } 4380 }
3191 4381
3192 // InternalSolverLanguageParser.g:1272:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4382 // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3193 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4383 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3194 { 4384 {
3195 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4385 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3196 // InternalSolverLanguageParser.g:1274:6: lv_right_3_0= ruleMultiplicativeExpression 4386 // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression
3197 { 4387 {
3198 4388
3199 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); 4389 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
3200 4390
3201 pushFollow(FOLLOW_22); 4391 pushFollow(FOLLOW_29);
3202 lv_right_3_0=ruleMultiplicativeExpression(); 4392 lv_right_3_0=ruleMultiplicativeExpression();
3203 4393
3204 state._fsp--; 4394 state._fsp--;
@@ -3225,7 +4415,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3225 break; 4415 break;
3226 4416
3227 default : 4417 default :
3228 break loop15; 4418 break loop18;
3229 } 4419 }
3230 } while (true); 4420 } while (true);
3231 4421
@@ -3252,7 +4442,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3252 4442
3253 4443
3254 // $ANTLR start "entryRuleMultiplicativeExpression" 4444 // $ANTLR start "entryRuleMultiplicativeExpression"
3255 // InternalSolverLanguageParser.g:1296:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; 4445 // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
3256 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { 4446 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
3257 EObject current = null; 4447 EObject current = null;
3258 4448
@@ -3260,8 +4450,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3260 4450
3261 4451
3262 try { 4452 try {
3263 // InternalSolverLanguageParser.g:1296:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) 4453 // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
3264 // InternalSolverLanguageParser.g:1297:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF 4454 // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
3265 { 4455 {
3266 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); 4456 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
3267 pushFollow(FOLLOW_1); 4457 pushFollow(FOLLOW_1);
@@ -3288,7 +4478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3288 4478
3289 4479
3290 // $ANTLR start "ruleMultiplicativeExpression" 4480 // $ANTLR start "ruleMultiplicativeExpression"
3291 // InternalSolverLanguageParser.g:1303:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; 4481 // InternalSolverLanguageParser.g:1814:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ;
3292 public final EObject ruleMultiplicativeExpression() throws RecognitionException { 4482 public final EObject ruleMultiplicativeExpression() throws RecognitionException {
3293 EObject current = null; 4483 EObject current = null;
3294 4484
@@ -3303,16 +4493,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3303 enterRule(); 4493 enterRule();
3304 4494
3305 try { 4495 try {
3306 // InternalSolverLanguageParser.g:1309:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) 4496 // InternalSolverLanguageParser.g:1820:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) )
3307 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4497 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3308 { 4498 {
3309 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4499 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3310 // InternalSolverLanguageParser.g:1311:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4500 // InternalSolverLanguageParser.g:1822:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3311 { 4501 {
3312 4502
3313 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); 4503 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
3314 4504
3315 pushFollow(FOLLOW_23); 4505 pushFollow(FOLLOW_30);
3316 this_ExponentialExpression_0=ruleExponentialExpression(); 4506 this_ExponentialExpression_0=ruleExponentialExpression();
3317 4507
3318 state._fsp--; 4508 state._fsp--;
@@ -3321,23 +4511,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3321 current = this_ExponentialExpression_0; 4511 current = this_ExponentialExpression_0;
3322 afterParserOrEnumRuleCall(); 4512 afterParserOrEnumRuleCall();
3323 4513
3324 // InternalSolverLanguageParser.g:1319:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4514 // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3325 loop16: 4515 loop19:
3326 do { 4516 do {
3327 int alt16=2; 4517 int alt19=2;
3328 int LA16_0 = input.LA(1); 4518 int LA19_0 = input.LA(1);
3329 4519
3330 if ( (LA16_0==Asterisk||LA16_0==Solidus) ) { 4520 if ( (LA19_0==Asterisk||LA19_0==Solidus) ) {
3331 alt16=1; 4521 alt19=1;
3332 } 4522 }
3333 4523
3334 4524
3335 switch (alt16) { 4525 switch (alt19) {
3336 case 1 : 4526 case 1 :
3337 // InternalSolverLanguageParser.g:1320:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4527 // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
3338 { 4528 {
3339 // InternalSolverLanguageParser.g:1320:4: () 4529 // InternalSolverLanguageParser.g:1831:4: ()
3340 // InternalSolverLanguageParser.g:1321:5: 4530 // InternalSolverLanguageParser.g:1832:5:
3341 { 4531 {
3342 4532
3343 current = forceCreateModelElementAndSet( 4533 current = forceCreateModelElementAndSet(
@@ -3347,11 +4537,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3347 4537
3348 } 4538 }
3349 4539
3350 // InternalSolverLanguageParser.g:1327:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) 4540 // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) )
3351 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4541 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3352 { 4542 {
3353 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4543 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3354 // InternalSolverLanguageParser.g:1329:6: lv_op_2_0= ruleMultiplicativeBinaryOperator 4544 // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator
3355 { 4545 {
3356 4546
3357 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); 4547 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
@@ -3378,16 +4568,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3378 4568
3379 } 4569 }
3380 4570
3381 // InternalSolverLanguageParser.g:1346:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4571 // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) )
3382 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4572 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3383 { 4573 {
3384 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4574 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3385 // InternalSolverLanguageParser.g:1348:6: lv_right_3_0= ruleExponentialExpression 4575 // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression
3386 { 4576 {
3387 4577
3388 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4578 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
3389 4579
3390 pushFollow(FOLLOW_23); 4580 pushFollow(FOLLOW_30);
3391 lv_right_3_0=ruleExponentialExpression(); 4581 lv_right_3_0=ruleExponentialExpression();
3392 4582
3393 state._fsp--; 4583 state._fsp--;
@@ -3414,7 +4604,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3414 break; 4604 break;
3415 4605
3416 default : 4606 default :
3417 break loop16; 4607 break loop19;
3418 } 4608 }
3419 } while (true); 4609 } while (true);
3420 4610
@@ -3441,7 +4631,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3441 4631
3442 4632
3443 // $ANTLR start "entryRuleExponentialExpression" 4633 // $ANTLR start "entryRuleExponentialExpression"
3444 // InternalSolverLanguageParser.g:1370:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; 4634 // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ;
3445 public final EObject entryRuleExponentialExpression() throws RecognitionException { 4635 public final EObject entryRuleExponentialExpression() throws RecognitionException {
3446 EObject current = null; 4636 EObject current = null;
3447 4637
@@ -3449,8 +4639,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3449 4639
3450 4640
3451 try { 4641 try {
3452 // InternalSolverLanguageParser.g:1370:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) 4642 // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF )
3453 // InternalSolverLanguageParser.g:1371:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF 4643 // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF
3454 { 4644 {
3455 newCompositeNode(grammarAccess.getExponentialExpressionRule()); 4645 newCompositeNode(grammarAccess.getExponentialExpressionRule());
3456 pushFollow(FOLLOW_1); 4646 pushFollow(FOLLOW_1);
@@ -3477,11 +4667,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3477 4667
3478 4668
3479 // $ANTLR start "ruleExponentialExpression" 4669 // $ANTLR start "ruleExponentialExpression"
3480 // InternalSolverLanguageParser.g:1377:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; 4670 // InternalSolverLanguageParser.g:1888:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ;
3481 public final EObject ruleExponentialExpression() throws RecognitionException { 4671 public final EObject ruleExponentialExpression() throws RecognitionException {
3482 EObject current = null; 4672 EObject current = null;
3483 4673
3484 EObject this_UnaryExpression_0 = null; 4674 EObject this_CastExpression_0 = null;
3485 4675
3486 Enumerator lv_op_2_0 = null; 4676 Enumerator lv_op_2_0 = null;
3487 4677
@@ -3492,37 +4682,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3492 enterRule(); 4682 enterRule();
3493 4683
3494 try { 4684 try {
3495 // InternalSolverLanguageParser.g:1383:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) 4685 // InternalSolverLanguageParser.g:1894:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) )
3496 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4686 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3497 { 4687 {
3498 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4688 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3499 // InternalSolverLanguageParser.g:1385:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4689 // InternalSolverLanguageParser.g:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3500 { 4690 {
3501 4691
3502 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 4692 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
3503 4693
3504 pushFollow(FOLLOW_24); 4694 pushFollow(FOLLOW_31);
3505 this_UnaryExpression_0=ruleUnaryExpression(); 4695 this_CastExpression_0=ruleCastExpression();
3506 4696
3507 state._fsp--; 4697 state._fsp--;
3508 4698
3509 4699
3510 current = this_UnaryExpression_0; 4700 current = this_CastExpression_0;
3511 afterParserOrEnumRuleCall(); 4701 afterParserOrEnumRuleCall();
3512 4702
3513 // InternalSolverLanguageParser.g:1393:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4703 // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3514 int alt17=2; 4704 int alt20=2;
3515 int LA17_0 = input.LA(1); 4705 int LA20_0 = input.LA(1);
3516 4706
3517 if ( (LA17_0==CircumflexAccent) ) { 4707 if ( (LA20_0==CircumflexAccent) ) {
3518 alt17=1; 4708 alt20=1;
3519 } 4709 }
3520 switch (alt17) { 4710 switch (alt20) {
3521 case 1 : 4711 case 1 :
3522 // InternalSolverLanguageParser.g:1394:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4712 // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) )
3523 { 4713 {
3524 // InternalSolverLanguageParser.g:1394:4: () 4714 // InternalSolverLanguageParser.g:1905:4: ()
3525 // InternalSolverLanguageParser.g:1395:5: 4715 // InternalSolverLanguageParser.g:1906:5:
3526 { 4716 {
3527 4717
3528 current = forceCreateModelElementAndSet( 4718 current = forceCreateModelElementAndSet(
@@ -3532,11 +4722,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3532 4722
3533 } 4723 }
3534 4724
3535 // InternalSolverLanguageParser.g:1401:4: ( (lv_op_2_0= ruleExponentialOp ) ) 4725 // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) )
3536 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4726 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3537 { 4727 {
3538 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4728 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3539 // InternalSolverLanguageParser.g:1403:6: lv_op_2_0= ruleExponentialOp 4729 // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp
3540 { 4730 {
3541 4731
3542 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); 4732 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
@@ -3563,17 +4753,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3563 4753
3564 } 4754 }
3565 4755
3566 // InternalSolverLanguageParser.g:1420:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4756 // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) )
3567 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4757 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3568 { 4758 {
3569 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4759 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3570 // InternalSolverLanguageParser.g:1422:6: lv_right_3_0= ruleExponentialExpression 4760 // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression
3571 { 4761 {
3572 4762
3573 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4763 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
3574 4764
3575 pushFollow(FOLLOW_2); 4765 pushFollow(FOLLOW_2);
3576 lv_right_3_0=ruleExponentialExpression(); 4766 lv_right_3_0=ruleCastExpression();
3577 4767
3578 state._fsp--; 4768 state._fsp--;
3579 4769
@@ -3585,7 +4775,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3585 current, 4775 current,
3586 "right", 4776 "right",
3587 lv_right_3_0, 4777 lv_right_3_0,
3588 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 4778 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
3589 afterParserOrEnumRuleCall(); 4779 afterParserOrEnumRuleCall();
3590 4780
3591 4781
@@ -3622,8 +4812,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3622 // $ANTLR end "ruleExponentialExpression" 4812 // $ANTLR end "ruleExponentialExpression"
3623 4813
3624 4814
4815 // $ANTLR start "entryRuleCastExpression"
4816 // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ;
4817 public final EObject entryRuleCastExpression() throws RecognitionException {
4818 EObject current = null;
4819
4820 EObject iv_ruleCastExpression = null;
4821
4822
4823 try {
4824 // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF )
4825 // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF
4826 {
4827 newCompositeNode(grammarAccess.getCastExpressionRule());
4828 pushFollow(FOLLOW_1);
4829 iv_ruleCastExpression=ruleCastExpression();
4830
4831 state._fsp--;
4832
4833 current =iv_ruleCastExpression;
4834 match(input,EOF,FOLLOW_2);
4835
4836 }
4837
4838 }
4839
4840 catch (RecognitionException re) {
4841 recover(input,re);
4842 appendSkippedTokens();
4843 }
4844 finally {
4845 }
4846 return current;
4847 }
4848 // $ANTLR end "entryRuleCastExpression"
4849
4850
4851 // $ANTLR start "ruleCastExpression"
4852 // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ;
4853 public final EObject ruleCastExpression() throws RecognitionException {
4854 EObject current = null;
4855
4856 Token otherlv_2=null;
4857 EObject this_UnaryExpression_0 = null;
4858
4859
4860
4861 enterRule();
4862
4863 try {
4864 // InternalSolverLanguageParser.g:1968:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) )
4865 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4866 {
4867 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4868 // InternalSolverLanguageParser.g:1970:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4869 {
4870
4871 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
4872
4873 pushFollow(FOLLOW_32);
4874 this_UnaryExpression_0=ruleUnaryExpression();
4875
4876 state._fsp--;
4877
4878
4879 current = this_UnaryExpression_0;
4880 afterParserOrEnumRuleCall();
4881
4882 // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4883 int alt21=2;
4884 int LA21_0 = input.LA(1);
4885
4886 if ( (LA21_0==As) ) {
4887 alt21=1;
4888 }
4889 switch (alt21) {
4890 case 1 :
4891 // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) )
4892 {
4893 // InternalSolverLanguageParser.g:1979:4: ()
4894 // InternalSolverLanguageParser.g:1980:5:
4895 {
4896
4897 current = forceCreateModelElementAndSet(
4898 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
4899 current);
4900
4901
4902 }
4903
4904 otherlv_2=(Token)match(input,As,FOLLOW_8);
4905
4906 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
4907
4908 // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) )
4909 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4910 {
4911 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4912 // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName
4913 {
4914
4915 if (current==null) {
4916 current = createModelElement(grammarAccess.getCastExpressionRule());
4917 }
4918
4919
4920 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
4921
4922 pushFollow(FOLLOW_2);
4923 ruleQualifiedName();
4924
4925 state._fsp--;
4926
4927
4928 afterParserOrEnumRuleCall();
4929
4930
4931 }
4932
4933
4934 }
4935
4936
4937 }
4938 break;
4939
4940 }
4941
4942
4943 }
4944
4945
4946 }
4947
4948
4949 leaveRule();
4950
4951 }
4952
4953 catch (RecognitionException re) {
4954 recover(input,re);
4955 appendSkippedTokens();
4956 }
4957 finally {
4958 }
4959 return current;
4960 }
4961 // $ANTLR end "ruleCastExpression"
4962
4963
3625 // $ANTLR start "entryRuleUnaryExpression" 4964 // $ANTLR start "entryRuleUnaryExpression"
3626 // InternalSolverLanguageParser.g:1444:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; 4965 // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
3627 public final EObject entryRuleUnaryExpression() throws RecognitionException { 4966 public final EObject entryRuleUnaryExpression() throws RecognitionException {
3628 EObject current = null; 4967 EObject current = null;
3629 4968
@@ -3631,8 +4970,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3631 4970
3632 4971
3633 try { 4972 try {
3634 // InternalSolverLanguageParser.g:1444:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) 4973 // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
3635 // InternalSolverLanguageParser.g:1445:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF 4974 // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
3636 { 4975 {
3637 newCompositeNode(grammarAccess.getUnaryExpressionRule()); 4976 newCompositeNode(grammarAccess.getUnaryExpressionRule());
3638 pushFollow(FOLLOW_1); 4977 pushFollow(FOLLOW_1);
@@ -3659,7 +4998,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3659 4998
3660 4999
3661 // $ANTLR start "ruleUnaryExpression" 5000 // $ANTLR start "ruleUnaryExpression"
3662 // InternalSolverLanguageParser.g:1451:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; 5001 // InternalSolverLanguageParser.g:2018:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ;
3663 public final EObject ruleUnaryExpression() throws RecognitionException { 5002 public final EObject ruleUnaryExpression() throws RecognitionException {
3664 EObject current = null; 5003 EObject current = null;
3665 5004
@@ -3674,28 +5013,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3674 enterRule(); 5013 enterRule();
3675 5014
3676 try { 5015 try {
3677 // InternalSolverLanguageParser.g:1457:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) 5016 // InternalSolverLanguageParser.g:2024:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) )
3678 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5017 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3679 { 5018 {
3680 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5019 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3681 int alt18=2; 5020 int alt22=2;
3682 int LA18_0 = input.LA(1); 5021 int LA22_0 = input.LA(1);
3683 5022
3684 if ( (LA18_0==Unknown||(LA18_0>=Count && LA18_0<=False)||(LA18_0>=Only && LA18_0<=Prod)||LA18_0==True||(LA18_0>=Avg && LA18_0<=Inf)||LA18_0==Max||(LA18_0>=Min && LA18_0<=Sum)||LA18_0==LeftParenthesis||LA18_0==LeftSquareBracket||(LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||(LA18_0>=RULE_ID && LA18_0<=RULE_INT)) ) { 5023 if ( ((LA22_0>=Unknown && LA22_0<=Exists)||LA22_0==Forall||(LA22_0>=Count && LA22_0<=False)||LA22_0==True||LA22_0==Inf||LA22_0==LeftParenthesis||LA22_0==LeftSquareBracket||(LA22_0>=RULE_STRING && LA22_0<=RULE_QUOTED_ID)||(LA22_0>=RULE_ID && LA22_0<=RULE_INT)) ) {
3685 alt18=1; 5024 alt22=1;
3686 } 5025 }
3687 else if ( (LA18_0==Current||LA18_0==Must||LA18_0==May||LA18_0==ExclamationMark||LA18_0==PlusSign||LA18_0==HyphenMinus) ) { 5026 else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) {
3688 alt18=2; 5027 alt22=2;
3689 } 5028 }
3690 else { 5029 else {
3691 NoViableAltException nvae = 5030 NoViableAltException nvae =
3692 new NoViableAltException("", 18, 0, input); 5031 new NoViableAltException("", 22, 0, input);
3693 5032
3694 throw nvae; 5033 throw nvae;
3695 } 5034 }
3696 switch (alt18) { 5035 switch (alt22) {
3697 case 1 : 5036 case 1 :
3698 // InternalSolverLanguageParser.g:1459:3: this_AggregationExpression_0= ruleAggregationExpression 5037 // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression
3699 { 5038 {
3700 5039
3701 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 5040 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
@@ -3713,13 +5052,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3713 } 5052 }
3714 break; 5053 break;
3715 case 2 : 5054 case 2 :
3716 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5055 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3717 { 5056 {
3718 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5057 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3719 // InternalSolverLanguageParser.g:1469:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) 5058 // InternalSolverLanguageParser.g:2036:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) )
3720 { 5059 {
3721 // InternalSolverLanguageParser.g:1469:4: () 5060 // InternalSolverLanguageParser.g:2036:4: ()
3722 // InternalSolverLanguageParser.g:1470:5: 5061 // InternalSolverLanguageParser.g:2037:5:
3723 { 5062 {
3724 5063
3725 current = forceCreateModelElement( 5064 current = forceCreateModelElement(
@@ -3729,16 +5068,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3729 5068
3730 } 5069 }
3731 5070
3732 // InternalSolverLanguageParser.g:1476:4: ( (lv_op_2_0= ruleUnaryOp ) ) 5071 // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) )
3733 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5072 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3734 { 5073 {
3735 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5074 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3736 // InternalSolverLanguageParser.g:1478:6: lv_op_2_0= ruleUnaryOp 5075 // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp
3737 { 5076 {
3738 5077
3739 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 5078 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
3740 5079
3741 pushFollow(FOLLOW_25); 5080 pushFollow(FOLLOW_33);
3742 lv_op_2_0=ruleUnaryOp(); 5081 lv_op_2_0=ruleUnaryOp();
3743 5082
3744 state._fsp--; 5083 state._fsp--;
@@ -3760,11 +5099,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3760 5099
3761 } 5100 }
3762 5101
3763 // InternalSolverLanguageParser.g:1495:4: ( (lv_body_3_0= ruleAggregationExpression ) ) 5102 // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) )
3764 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5103 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3765 { 5104 {
3766 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5105 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3767 // InternalSolverLanguageParser.g:1497:6: lv_body_3_0= ruleAggregationExpression 5106 // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression
3768 { 5107 {
3769 5108
3770 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 5109 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
@@ -3820,7 +5159,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3820 5159
3821 5160
3822 // $ANTLR start "entryRuleAggregationExpression" 5161 // $ANTLR start "entryRuleAggregationExpression"
3823 // InternalSolverLanguageParser.g:1519:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; 5162 // InternalSolverLanguageParser.g:2086:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ;
3824 public final EObject entryRuleAggregationExpression() throws RecognitionException { 5163 public final EObject entryRuleAggregationExpression() throws RecognitionException {
3825 EObject current = null; 5164 EObject current = null;
3826 5165
@@ -3828,8 +5167,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3828 5167
3829 5168
3830 try { 5169 try {
3831 // InternalSolverLanguageParser.g:1519:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) 5170 // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF )
3832 // InternalSolverLanguageParser.g:1520:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF 5171 // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF
3833 { 5172 {
3834 newCompositeNode(grammarAccess.getAggregationExpressionRule()); 5173 newCompositeNode(grammarAccess.getAggregationExpressionRule());
3835 pushFollow(FOLLOW_1); 5174 pushFollow(FOLLOW_1);
@@ -3856,13 +5195,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3856 5195
3857 5196
3858 // $ANTLR start "ruleAggregationExpression" 5197 // $ANTLR start "ruleAggregationExpression"
3859 // InternalSolverLanguageParser.g:1526:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; 5198 // InternalSolverLanguageParser.g:2093:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ;
3860 public final EObject ruleAggregationExpression() throws RecognitionException { 5199 public final EObject ruleAggregationExpression() throws RecognitionException {
3861 EObject current = null; 5200 EObject current = null;
3862 5201
3863 EObject this_AtomicExpression_0 = null; 5202 EObject this_AtomicExpression_0 = null;
3864 5203
3865 EObject this_Count_1 = null; 5204 EObject this_QuantifiedExpression_1 = null;
3866 5205
3867 EObject this_Aggregation_2 = null; 5206 EObject this_Aggregation_2 = null;
3868 5207
@@ -3871,53 +5210,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3871 enterRule(); 5210 enterRule();
3872 5211
3873 try { 5212 try {
3874 // InternalSolverLanguageParser.g:1532:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) 5213 // InternalSolverLanguageParser.g:2099:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) )
3875 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5214 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3876 { 5215 {
3877 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5216 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3878 int alt19=3; 5217 int alt23=3;
3879 switch ( input.LA(1) ) { 5218 alt23 = dfa23.predict(input);
3880 case Unknown: 5219 switch (alt23) {
3881 case Empty:
3882 case Error:
3883 case False:
3884 case True:
3885 case Inf:
3886 case LeftParenthesis:
3887 case LeftSquareBracket:
3888 case RULE_STRING:
3889 case RULE_QUOTED_ID:
3890 case RULE_ID:
3891 case RULE_INT:
3892 {
3893 alt19=1;
3894 }
3895 break;
3896 case Count:
3897 {
3898 alt19=2;
3899 }
3900 break;
3901 case Only:
3902 case Prod:
3903 case Avg:
3904 case Max:
3905 case Min:
3906 case Sum:
3907 {
3908 alt19=3;
3909 }
3910 break;
3911 default:
3912 NoViableAltException nvae =
3913 new NoViableAltException("", 19, 0, input);
3914
3915 throw nvae;
3916 }
3917
3918 switch (alt19) {
3919 case 1 : 5220 case 1 :
3920 // InternalSolverLanguageParser.g:1534:3: this_AtomicExpression_0= ruleAtomicExpression 5221 // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression
3921 { 5222 {
3922 5223
3923 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 5224 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
@@ -3935,25 +5236,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3935 } 5236 }
3936 break; 5237 break;
3937 case 2 : 5238 case 2 :
3938 // InternalSolverLanguageParser.g:1543:3: this_Count_1= ruleCount 5239 // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression
3939 { 5240 {
3940 5241
3941 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 5242 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
3942 5243
3943 pushFollow(FOLLOW_2); 5244 pushFollow(FOLLOW_2);
3944 this_Count_1=ruleCount(); 5245 this_QuantifiedExpression_1=ruleQuantifiedExpression();
3945 5246
3946 state._fsp--; 5247 state._fsp--;
3947 5248
3948 5249
3949 current = this_Count_1; 5250 current = this_QuantifiedExpression_1;
3950 afterParserOrEnumRuleCall(); 5251 afterParserOrEnumRuleCall();
3951 5252
3952 5253
3953 } 5254 }
3954 break; 5255 break;
3955 case 3 : 5256 case 3 :
3956 // InternalSolverLanguageParser.g:1552:3: this_Aggregation_2= ruleAggregation 5257 // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation
3957 { 5258 {
3958 5259
3959 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 5260 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
@@ -3992,25 +5293,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3992 // $ANTLR end "ruleAggregationExpression" 5293 // $ANTLR end "ruleAggregationExpression"
3993 5294
3994 5295
3995 // $ANTLR start "entryRuleCount" 5296 // $ANTLR start "entryRuleLocalVariables"
3996 // InternalSolverLanguageParser.g:1564:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; 5297 // InternalSolverLanguageParser.g:2131:1: entryRuleLocalVariables returns [EObject current=null] : iv_ruleLocalVariables= ruleLocalVariables EOF ;
3997 public final EObject entryRuleCount() throws RecognitionException { 5298 public final EObject entryRuleLocalVariables() throws RecognitionException {
3998 EObject current = null; 5299 EObject current = null;
3999 5300
4000 EObject iv_ruleCount = null; 5301 EObject iv_ruleLocalVariables = null;
4001 5302
4002 5303
4003 try { 5304 try {
4004 // InternalSolverLanguageParser.g:1564:46: (iv_ruleCount= ruleCount EOF ) 5305 // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF )
4005 // InternalSolverLanguageParser.g:1565:2: iv_ruleCount= ruleCount EOF 5306 // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF
4006 { 5307 {
4007 newCompositeNode(grammarAccess.getCountRule()); 5308 newCompositeNode(grammarAccess.getLocalVariablesRule());
4008 pushFollow(FOLLOW_1); 5309 pushFollow(FOLLOW_1);
4009 iv_ruleCount=ruleCount(); 5310 iv_ruleLocalVariables=ruleLocalVariables();
4010 5311
4011 state._fsp--; 5312 state._fsp--;
4012 5313
4013 current =iv_ruleCount; 5314 current =iv_ruleLocalVariables;
4014 match(input,EOF,FOLLOW_2); 5315 match(input,EOF,FOLLOW_2);
4015 5316
4016 } 5317 }
@@ -4025,60 +5326,339 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4025 } 5326 }
4026 return current; 5327 return current;
4027 } 5328 }
4028 // $ANTLR end "entryRuleCount" 5329 // $ANTLR end "entryRuleLocalVariables"
4029 5330
4030 5331
4031 // $ANTLR start "ruleCount" 5332 // $ANTLR start "ruleLocalVariables"
4032 // InternalSolverLanguageParser.g:1571:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; 5333 // InternalSolverLanguageParser.g:2138:1: ruleLocalVariables returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ;
4033 public final EObject ruleCount() throws RecognitionException { 5334 public final EObject ruleLocalVariables() throws RecognitionException {
4034 EObject current = null; 5335 EObject current = null;
4035 5336
4036 Token otherlv_0=null;
4037 Token otherlv_1=null; 5337 Token otherlv_1=null;
4038 Token otherlv_3=null; 5338 Token otherlv_3=null;
4039 EObject lv_body_2_0 = null; 5339 Token otherlv_5=null;
5340 EObject lv_variables_2_0 = null;
5341
5342 EObject lv_variables_4_0 = null;
4040 5343
4041 5344
4042 5345
4043 enterRule(); 5346 enterRule();
4044 5347
4045 try { 5348 try {
4046 // InternalSolverLanguageParser.g:1577:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) 5349 // InternalSolverLanguageParser.g:2144:2: ( ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) )
4047 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5350 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5351 {
5352 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5353 // InternalSolverLanguageParser.g:2146:3: () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket
4048 { 5354 {
4049 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5355 // InternalSolverLanguageParser.g:2146:3: ()
4050 // InternalSolverLanguageParser.g:1579:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket 5356 // InternalSolverLanguageParser.g:2147:4:
4051 { 5357 {
4052 otherlv_0=(Token)match(input,Count,FOLLOW_26);
4053 5358
4054 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 5359 current = forceCreateModelElement(
5360 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
5361 current);
5362
5363
5364 }
5365
5366 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_34);
5367
5368 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
5369
5370 // InternalSolverLanguageParser.g:2157:3: ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )?
5371 int alt25=2;
5372 int LA25_0 = input.LA(1);
5373
5374 if ( (LA25_0==RULE_QUOTED_ID||LA25_0==RULE_ID) ) {
5375 alt25=1;
5376 }
5377 switch (alt25) {
5378 case 1 :
5379 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5380 {
5381 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) )
5382 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5383 {
5384 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5385 // InternalSolverLanguageParser.g:2160:6: lv_variables_2_0= ruleVariable
5386 {
5387
5388 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
5389
5390 pushFollow(FOLLOW_35);
5391 lv_variables_2_0=ruleVariable();
5392
5393 state._fsp--;
5394
5395
5396 if (current==null) {
5397 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5398 }
5399 add(
5400 current,
5401 "variables",
5402 lv_variables_2_0,
5403 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5404 afterParserOrEnumRuleCall();
5405
5406
5407 }
5408
5409
5410 }
5411
5412 // InternalSolverLanguageParser.g:2177:4: (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5413 loop24:
5414 do {
5415 int alt24=2;
5416 int LA24_0 = input.LA(1);
5417
5418 if ( (LA24_0==Comma) ) {
5419 alt24=1;
5420 }
5421
5422
5423 switch (alt24) {
5424 case 1 :
5425 // InternalSolverLanguageParser.g:2178:5: otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) )
5426 {
5427 otherlv_3=(Token)match(input,Comma,FOLLOW_8);
5428
5429 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
5430
5431 // InternalSolverLanguageParser.g:2182:5: ( (lv_variables_4_0= ruleVariable ) )
5432 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5433 {
5434 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5435 // InternalSolverLanguageParser.g:2184:7: lv_variables_4_0= ruleVariable
5436 {
5437
5438 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
5439
5440 pushFollow(FOLLOW_35);
5441 lv_variables_4_0=ruleVariable();
5442
5443 state._fsp--;
5444
5445
5446 if (current==null) {
5447 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5448 }
5449 add(
5450 current,
5451 "variables",
5452 lv_variables_4_0,
5453 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5454 afterParserOrEnumRuleCall();
5455
5456
5457 }
5458
5459
5460 }
5461
5462
5463 }
5464 break;
5465
5466 default :
5467 break loop24;
5468 }
5469 } while (true);
5470
5471
5472 }
5473 break;
5474
5475 }
5476
5477 otherlv_5=(Token)match(input,RightSquareBracket,FOLLOW_2);
5478
5479 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
4055 5480
4056 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4057 5481
4058 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 5482 }
5483
5484
5485 }
5486
5487
5488 leaveRule();
5489
5490 }
5491
5492 catch (RecognitionException re) {
5493 recover(input,re);
5494 appendSkippedTokens();
5495 }
5496 finally {
5497 }
5498 return current;
5499 }
5500 // $ANTLR end "ruleLocalVariables"
5501
5502
5503 // $ANTLR start "entryRuleQuantifiedExpression"
5504 // InternalSolverLanguageParser.g:2211:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ;
5505 public final EObject entryRuleQuantifiedExpression() throws RecognitionException {
5506 EObject current = null;
5507
5508 EObject iv_ruleQuantifiedExpression = null;
5509
5510
5511 try {
5512 // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF )
5513 // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF
5514 {
5515 newCompositeNode(grammarAccess.getQuantifiedExpressionRule());
5516 pushFollow(FOLLOW_1);
5517 iv_ruleQuantifiedExpression=ruleQuantifiedExpression();
5518
5519 state._fsp--;
5520
5521 current =iv_ruleQuantifiedExpression;
5522 match(input,EOF,FOLLOW_2);
5523
5524 }
5525
5526 }
5527
5528 catch (RecognitionException re) {
5529 recover(input,re);
5530 appendSkippedTokens();
5531 }
5532 finally {
5533 }
5534 return current;
5535 }
5536 // $ANTLR end "entryRuleQuantifiedExpression"
5537
5538
5539 // $ANTLR start "ruleQuantifiedExpression"
5540 // InternalSolverLanguageParser.g:2218:1: ruleQuantifiedExpression returns [EObject current=null] : ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) ;
5541 public final EObject ruleQuantifiedExpression() throws RecognitionException {
5542 EObject current = null;
5543
5544 Token otherlv_2=null;
5545 Token otherlv_4=null;
5546 Enumerator lv_quantifier_0_0 = null;
5547
5548 EObject lv_localVariables_1_0 = null;
5549
5550 EObject lv_body_3_0 = null;
5551
5552
5553
5554 enterRule();
5555
5556 try {
5557 // InternalSolverLanguageParser.g:2224:2: ( ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) )
5558 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5559 {
5560 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5561 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket
5562 {
5563 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) )
5564 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5565 {
5566 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5567 // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier
5568 {
5569
5570 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
5571
5572 pushFollow(FOLLOW_36);
5573 lv_quantifier_0_0=ruleQuantifier();
5574
5575 state._fsp--;
5576
5577
5578 if (current==null) {
5579 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5580 }
5581 set(
5582 current,
5583 "quantifier",
5584 lv_quantifier_0_0,
5585 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
5586 afterParserOrEnumRuleCall();
5587
5588
5589 }
5590
5591
5592 }
5593
5594 // InternalSolverLanguageParser.g:2245:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5595 int alt26=2;
5596 int LA26_0 = input.LA(1);
5597
5598 if ( (LA26_0==LeftSquareBracket) ) {
5599 alt26=1;
5600 }
5601 switch (alt26) {
5602 case 1 :
5603 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5604 {
5605 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5606 // InternalSolverLanguageParser.g:2247:5: lv_localVariables_1_0= ruleLocalVariables
5607 {
5608
5609 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5610
5611 pushFollow(FOLLOW_14);
5612 lv_localVariables_1_0=ruleLocalVariables();
5613
5614 state._fsp--;
5615
5616
5617 if (current==null) {
5618 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5619 }
5620 set(
5621 current,
5622 "localVariables",
5623 lv_localVariables_1_0,
5624 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5625 afterParserOrEnumRuleCall();
5626
5627
5628 }
5629
5630
5631 }
5632 break;
5633
5634 }
5635
5636 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
5637
5638 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
4059 5639
4060 // InternalSolverLanguageParser.g:1587:3: ( (lv_body_2_0= ruleExpression ) ) 5640 // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) )
4061 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5641 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4062 { 5642 {
4063 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5643 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4064 // InternalSolverLanguageParser.g:1589:5: lv_body_2_0= ruleExpression 5644 // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression
4065 { 5645 {
4066 5646
4067 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 5647 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
4068 5648
4069 pushFollow(FOLLOW_27); 5649 pushFollow(FOLLOW_16);
4070 lv_body_2_0=ruleExpression(); 5650 lv_body_3_0=ruleExpression();
4071 5651
4072 state._fsp--; 5652 state._fsp--;
4073 5653
4074 5654
4075 if (current==null) { 5655 if (current==null) {
4076 current = createModelElementForParent(grammarAccess.getCountRule()); 5656 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
4077 } 5657 }
4078 set( 5658 set(
4079 current, 5659 current,
4080 "body", 5660 "body",
4081 lv_body_2_0, 5661 lv_body_3_0,
4082 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5662 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4083 afterParserOrEnumRuleCall(); 5663 afterParserOrEnumRuleCall();
4084 5664
@@ -4088,9 +5668,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4088 5668
4089 } 5669 }
4090 5670
4091 otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5671 otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4092 5672
4093 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 5673 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
4094 5674
4095 5675
4096 } 5676 }
@@ -4111,11 +5691,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4111 } 5691 }
4112 return current; 5692 return current;
4113 } 5693 }
4114 // $ANTLR end "ruleCount" 5694 // $ANTLR end "ruleQuantifiedExpression"
4115 5695
4116 5696
4117 // $ANTLR start "entryRuleAggregation" 5697 // $ANTLR start "entryRuleAggregation"
4118 // InternalSolverLanguageParser.g:1614:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; 5698 // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ;
4119 public final EObject entryRuleAggregation() throws RecognitionException { 5699 public final EObject entryRuleAggregation() throws RecognitionException {
4120 EObject current = null; 5700 EObject current = null;
4121 5701
@@ -4123,8 +5703,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4123 5703
4124 5704
4125 try { 5705 try {
4126 // InternalSolverLanguageParser.g:1614:52: (iv_ruleAggregation= ruleAggregation EOF ) 5706 // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF )
4127 // InternalSolverLanguageParser.g:1615:2: iv_ruleAggregation= ruleAggregation EOF 5707 // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF
4128 { 5708 {
4129 newCompositeNode(grammarAccess.getAggregationRule()); 5709 newCompositeNode(grammarAccess.getAggregationRule());
4130 pushFollow(FOLLOW_1); 5710 pushFollow(FOLLOW_1);
@@ -4151,53 +5731,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4151 5731
4152 5732
4153 // $ANTLR start "ruleAggregation" 5733 // $ANTLR start "ruleAggregation"
4154 // InternalSolverLanguageParser.g:1621:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ; 5734 // InternalSolverLanguageParser.g:2302:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) ;
4155 public final EObject ruleAggregation() throws RecognitionException { 5735 public final EObject ruleAggregation() throws RecognitionException {
4156 EObject current = null; 5736 EObject current = null;
4157 5737
4158 Token otherlv_1=null; 5738 Token otherlv_2=null;
4159 Token otherlv_3=null; 5739 Token otherlv_4=null;
4160 Token otherlv_5=null; 5740 Token otherlv_6=null;
4161 Enumerator lv_op_0_0 = null; 5741 EObject lv_localVariables_1_0 = null;
4162 5742
4163 EObject lv_body_2_0 = null; 5743 EObject lv_body_3_0 = null;
4164 5744
4165 EObject lv_condition_4_0 = null; 5745 EObject lv_condition_5_0 = null;
4166 5746
4167 5747
4168 5748
4169 enterRule(); 5749 enterRule();
4170 5750
4171 try { 5751 try {
4172 // InternalSolverLanguageParser.g:1627:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ) 5752 // InternalSolverLanguageParser.g:2308:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) )
4173 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5753 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4174 { 5754 {
4175 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5755 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4176 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket 5756 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket
4177 { 5757 {
4178 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) 5758 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) )
4179 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5759 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4180 { 5760 {
4181 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5761 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4182 // InternalSolverLanguageParser.g:1631:5: lv_op_0_0= ruleAggregationOp 5762 // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName
4183 { 5763 {
4184 5764
4185 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); 5765 if (current==null) {
5766 current = createModelElement(grammarAccess.getAggregationRule());
5767 }
5768
5769
5770 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
4186 5771
4187 pushFollow(FOLLOW_26); 5772 pushFollow(FOLLOW_36);
4188 lv_op_0_0=ruleAggregationOp(); 5773 ruleQualifiedName();
4189 5774
4190 state._fsp--; 5775 state._fsp--;
4191 5776
4192 5777
4193 if (current==null) {
4194 current = createModelElementForParent(grammarAccess.getAggregationRule());
4195 }
4196 set(
4197 current,
4198 "op",
4199 lv_op_0_0,
4200 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
4201 afterParserOrEnumRuleCall(); 5778 afterParserOrEnumRuleCall();
4202 5779
4203 5780
@@ -4206,21 +5783,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4206 5783
4207 } 5784 }
4208 5785
4209 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); 5786 // InternalSolverLanguageParser.g:2326:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5787 int alt27=2;
5788 int LA27_0 = input.LA(1);
5789
5790 if ( (LA27_0==LeftSquareBracket) ) {
5791 alt27=1;
5792 }
5793 switch (alt27) {
5794 case 1 :
5795 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5796 {
5797 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5798 // InternalSolverLanguageParser.g:2328:5: lv_localVariables_1_0= ruleLocalVariables
5799 {
5800
5801 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5802
5803 pushFollow(FOLLOW_14);
5804 lv_localVariables_1_0=ruleLocalVariables();
5805
5806 state._fsp--;
5807
5808
5809 if (current==null) {
5810 current = createModelElementForParent(grammarAccess.getAggregationRule());
5811 }
5812 set(
5813 current,
5814 "localVariables",
5815 lv_localVariables_1_0,
5816 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5817 afterParserOrEnumRuleCall();
5818
5819
5820 }
5821
5822
5823 }
5824 break;
5825
5826 }
5827
5828 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4210 5829
4211 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); 5830 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
4212 5831
4213 // InternalSolverLanguageParser.g:1652:3: ( (lv_body_2_0= ruleExpression ) ) 5832 // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) )
4214 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5833 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4215 { 5834 {
4216 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5835 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4217 // InternalSolverLanguageParser.g:1654:5: lv_body_2_0= ruleExpression 5836 // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression
4218 { 5837 {
4219 5838
4220 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 5839 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
4221 5840
4222 pushFollow(FOLLOW_28); 5841 pushFollow(FOLLOW_37);
4223 lv_body_2_0=ruleExpression(); 5842 lv_body_3_0=ruleExpression();
4224 5843
4225 state._fsp--; 5844 state._fsp--;
4226 5845
@@ -4231,7 +5850,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4231 set( 5850 set(
4232 current, 5851 current,
4233 "body", 5852 "body",
4234 lv_body_2_0, 5853 lv_body_3_0,
4235 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5854 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4236 afterParserOrEnumRuleCall(); 5855 afterParserOrEnumRuleCall();
4237 5856
@@ -4241,44 +5860,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4241 5860
4242 } 5861 }
4243 5862
4244 otherlv_3=(Token)match(input,VerticalLine,FOLLOW_6); 5863 // InternalSolverLanguageParser.g:2368:3: (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )?
5864 int alt28=2;
5865 int LA28_0 = input.LA(1);
4245 5866
4246 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 5867 if ( (LA28_0==VerticalLine) ) {
4247 5868 alt28=1;
4248 // InternalSolverLanguageParser.g:1675:3: ( (lv_condition_4_0= ruleExpression ) ) 5869 }
4249 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5870 switch (alt28) {
4250 { 5871 case 1 :
4251 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5872 // InternalSolverLanguageParser.g:2369:4: otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) )
4252 // InternalSolverLanguageParser.g:1677:5: lv_condition_4_0= ruleExpression 5873 {
4253 { 5874 otherlv_4=(Token)match(input,VerticalLine,FOLLOW_6);
4254 5875
4255 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 5876 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
4256 5877
4257 pushFollow(FOLLOW_27); 5878 // InternalSolverLanguageParser.g:2373:4: ( (lv_condition_5_0= ruleExpression ) )
4258 lv_condition_4_0=ruleExpression(); 5879 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5880 {
5881 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5882 // InternalSolverLanguageParser.g:2375:6: lv_condition_5_0= ruleExpression
5883 {
4259 5884
4260 state._fsp--; 5885 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
5886
5887 pushFollow(FOLLOW_16);
5888 lv_condition_5_0=ruleExpression();
4261 5889
5890 state._fsp--;
4262 5891
4263 if (current==null) {
4264 current = createModelElementForParent(grammarAccess.getAggregationRule());
4265 }
4266 set(
4267 current,
4268 "condition",
4269 lv_condition_4_0,
4270 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4271 afterParserOrEnumRuleCall();
4272
4273 5892
4274 } 5893 if (current==null) {
5894 current = createModelElementForParent(grammarAccess.getAggregationRule());
5895 }
5896 set(
5897 current,
5898 "condition",
5899 lv_condition_5_0,
5900 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5901 afterParserOrEnumRuleCall();
5902
5903
5904 }
5905
5906
5907 }
4275 5908
4276 5909
5910 }
5911 break;
5912
4277 } 5913 }
4278 5914
4279 otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5915 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4280 5916
4281 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 5917 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
4282 5918
4283 5919
4284 } 5920 }
@@ -4303,7 +5939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4303 5939
4304 5940
4305 // $ANTLR start "entryRuleAtomicExpression" 5941 // $ANTLR start "entryRuleAtomicExpression"
4306 // InternalSolverLanguageParser.g:1702:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; 5942 // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ;
4307 public final EObject entryRuleAtomicExpression() throws RecognitionException { 5943 public final EObject entryRuleAtomicExpression() throws RecognitionException {
4308 EObject current = null; 5944 EObject current = null;
4309 5945
@@ -4311,8 +5947,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4311 5947
4312 5948
4313 try { 5949 try {
4314 // InternalSolverLanguageParser.g:1702:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) 5950 // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF )
4315 // InternalSolverLanguageParser.g:1703:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF 5951 // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF
4316 { 5952 {
4317 newCompositeNode(grammarAccess.getAtomicExpressionRule()); 5953 newCompositeNode(grammarAccess.getAtomicExpressionRule());
4318 pushFollow(FOLLOW_1); 5954 pushFollow(FOLLOW_1);
@@ -4339,7 +5975,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4339 5975
4340 5976
4341 // $ANTLR start "ruleAtomicExpression" 5977 // $ANTLR start "ruleAtomicExpression"
4342 // InternalSolverLanguageParser.g:1709:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ; 5978 // InternalSolverLanguageParser.g:2408:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ;
4343 public final EObject ruleAtomicExpression() throws RecognitionException { 5979 public final EObject ruleAtomicExpression() throws RecognitionException {
4344 EObject current = null; 5980 EObject current = null;
4345 5981
@@ -4360,15 +5996,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4360 enterRule(); 5996 enterRule();
4361 5997
4362 try { 5998 try {
4363 // InternalSolverLanguageParser.g:1715:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ) 5999 // InternalSolverLanguageParser.g:2414:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) )
4364 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6000 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4365 { 6001 {
4366 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6002 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4367 int alt20=5; 6003 int alt29=5;
4368 alt20 = dfa20.predict(input); 6004 alt29 = dfa29.predict(input);
4369 switch (alt20) { 6005 switch (alt29) {
4370 case 1 : 6006 case 1 :
4371 // InternalSolverLanguageParser.g:1717:3: this_Reference_0= ruleReference 6007 // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference
4372 { 6008 {
4373 6009
4374 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); 6010 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0());
@@ -4386,7 +6022,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4386 } 6022 }
4387 break; 6023 break;
4388 case 2 : 6024 case 2 :
4389 // InternalSolverLanguageParser.g:1726:3: this_Call_1= ruleCall 6025 // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall
4390 { 6026 {
4391 6027
4392 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); 6028 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1());
@@ -4404,7 +6040,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4404 } 6040 }
4405 break; 6041 break;
4406 case 3 : 6042 case 3 :
4407 // InternalSolverLanguageParser.g:1735:3: this_Interval_2= ruleInterval 6043 // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval
4408 { 6044 {
4409 6045
4410 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); 6046 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2());
@@ -4422,7 +6058,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4422 } 6058 }
4423 break; 6059 break;
4424 case 4 : 6060 case 4 :
4425 // InternalSolverLanguageParser.g:1744:3: this_Literal_3= ruleLiteral 6061 // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral
4426 { 6062 {
4427 6063
4428 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); 6064 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3());
@@ -4440,10 +6076,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4440 } 6076 }
4441 break; 6077 break;
4442 case 5 : 6078 case 5 :
4443 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6079 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4444 { 6080 {
4445 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6081 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4446 // InternalSolverLanguageParser.g:1754:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis 6082 // InternalSolverLanguageParser.g:2453:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis
4447 { 6083 {
4448 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); 6084 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6);
4449 6085
@@ -4452,7 +6088,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4452 6088
4453 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); 6089 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1());
4454 6090
4455 pushFollow(FOLLOW_29); 6091 pushFollow(FOLLOW_38);
4456 this_Expression_5=ruleExpression(); 6092 this_Expression_5=ruleExpression();
4457 6093
4458 state._fsp--; 6094 state._fsp--;
@@ -4494,7 +6130,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4494 6130
4495 6131
4496 // $ANTLR start "entryRuleCall" 6132 // $ANTLR start "entryRuleCall"
4497 // InternalSolverLanguageParser.g:1775:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; 6133 // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ;
4498 public final EObject entryRuleCall() throws RecognitionException { 6134 public final EObject entryRuleCall() throws RecognitionException {
4499 EObject current = null; 6135 EObject current = null;
4500 6136
@@ -4502,8 +6138,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4502 6138
4503 6139
4504 try { 6140 try {
4505 // InternalSolverLanguageParser.g:1775:45: (iv_ruleCall= ruleCall EOF ) 6141 // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF )
4506 // InternalSolverLanguageParser.g:1776:2: iv_ruleCall= ruleCall EOF 6142 // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF
4507 { 6143 {
4508 newCompositeNode(grammarAccess.getCallRule()); 6144 newCompositeNode(grammarAccess.getCallRule());
4509 pushFollow(FOLLOW_1); 6145 pushFollow(FOLLOW_1);
@@ -4530,7 +6166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4530 6166
4531 6167
4532 // $ANTLR start "ruleCall" 6168 // $ANTLR start "ruleCall"
4533 // InternalSolverLanguageParser.g:1782:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; 6169 // InternalSolverLanguageParser.g:2481:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
4534 public final EObject ruleCall() throws RecognitionException { 6170 public final EObject ruleCall() throws RecognitionException {
4535 EObject current = null; 6171 EObject current = null;
4536 6172
@@ -4545,22 +6181,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4545 enterRule(); 6181 enterRule();
4546 6182
4547 try { 6183 try {
4548 // InternalSolverLanguageParser.g:1788:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) 6184 // InternalSolverLanguageParser.g:2487:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
4549 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6185 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4550 { 6186 {
4551 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6187 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4552 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) 6188 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) )
4553 { 6189 {
4554 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) 6190 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) )
4555 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6191 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4556 { 6192 {
4557 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6193 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4558 // InternalSolverLanguageParser.g:1792:5: lv_functor_0_0= ruleReference 6194 // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference
4559 { 6195 {
4560 6196
4561 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); 6197 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
4562 6198
4563 pushFollow(FOLLOW_30); 6199 pushFollow(FOLLOW_39);
4564 lv_functor_0_0=ruleReference(); 6200 lv_functor_0_0=ruleReference();
4565 6201
4566 state._fsp--; 6202 state._fsp--;
@@ -4582,25 +6218,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4582 6218
4583 } 6219 }
4584 6220
4585 // InternalSolverLanguageParser.g:1809:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? 6221 // InternalSolverLanguageParser.g:2508:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )?
4586 int alt21=3; 6222 int alt30=3;
4587 int LA21_0 = input.LA(1); 6223 int LA30_0 = input.LA(1);
4588 6224
4589 if ( (LA21_0==RULE_TRANSITIVE_CLOSURE) ) { 6225 if ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) {
4590 alt21=1; 6226 alt30=1;
4591 } 6227 }
4592 else if ( (LA21_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { 6228 else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) {
4593 alt21=2; 6229 alt30=2;
4594 } 6230 }
4595 switch (alt21) { 6231 switch (alt30) {
4596 case 1 : 6232 case 1 :
4597 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6233 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4598 { 6234 {
4599 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6235 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4600 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6236 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4601 { 6237 {
4602 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6238 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4603 // InternalSolverLanguageParser.g:1812:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE 6239 // InternalSolverLanguageParser.g:2511:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE
4604 { 6240 {
4605 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11); 6241 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11);
4606 6242
@@ -4626,13 +6262,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4626 } 6262 }
4627 break; 6263 break;
4628 case 2 : 6264 case 2 :
4629 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6265 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4630 { 6266 {
4631 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6267 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4632 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6268 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4633 { 6269 {
4634 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6270 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4635 // InternalSolverLanguageParser.g:1831:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE 6271 // InternalSolverLanguageParser.g:2530:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE
4636 { 6272 {
4637 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11); 6273 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11);
4638 6274
@@ -4660,11 +6296,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4660 6296
4661 } 6297 }
4662 6298
4663 // InternalSolverLanguageParser.g:1848:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) 6299 // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
4664 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6300 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4665 { 6301 {
4666 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6302 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4667 // InternalSolverLanguageParser.g:1850:5: lv_argumentList_3_0= ruleArgumentList 6303 // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList
4668 { 6304 {
4669 6305
4670 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 6306 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
@@ -4714,7 +6350,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4714 6350
4715 6351
4716 // $ANTLR start "entryRuleArgumentList" 6352 // $ANTLR start "entryRuleArgumentList"
4717 // InternalSolverLanguageParser.g:1871:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; 6353 // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ;
4718 public final EObject entryRuleArgumentList() throws RecognitionException { 6354 public final EObject entryRuleArgumentList() throws RecognitionException {
4719 EObject current = null; 6355 EObject current = null;
4720 6356
@@ -4722,8 +6358,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4722 6358
4723 6359
4724 try { 6360 try {
4725 // InternalSolverLanguageParser.g:1871:53: (iv_ruleArgumentList= ruleArgumentList EOF ) 6361 // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF )
4726 // InternalSolverLanguageParser.g:1872:2: iv_ruleArgumentList= ruleArgumentList EOF 6362 // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF
4727 { 6363 {
4728 newCompositeNode(grammarAccess.getArgumentListRule()); 6364 newCompositeNode(grammarAccess.getArgumentListRule());
4729 pushFollow(FOLLOW_1); 6365 pushFollow(FOLLOW_1);
@@ -4750,7 +6386,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4750 6386
4751 6387
4752 // $ANTLR start "ruleArgumentList" 6388 // $ANTLR start "ruleArgumentList"
4753 // InternalSolverLanguageParser.g:1878:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ; 6389 // InternalSolverLanguageParser.g:2577:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ;
4754 public final EObject ruleArgumentList() throws RecognitionException { 6390 public final EObject ruleArgumentList() throws RecognitionException {
4755 EObject current = null; 6391 EObject current = null;
4756 6392
@@ -4766,14 +6402,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4766 enterRule(); 6402 enterRule();
4767 6403
4768 try { 6404 try {
4769 // InternalSolverLanguageParser.g:1884:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) 6405 // InternalSolverLanguageParser.g:2583:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) )
4770 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6406 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4771 { 6407 {
4772 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6408 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4773 // InternalSolverLanguageParser.g:1886:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis 6409 // InternalSolverLanguageParser.g:2585:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis
4774 { 6410 {
4775 // InternalSolverLanguageParser.g:1886:3: () 6411 // InternalSolverLanguageParser.g:2585:3: ()
4776 // InternalSolverLanguageParser.g:1887:4: 6412 // InternalSolverLanguageParser.g:2586:4:
4777 { 6413 {
4778 6414
4779 current = forceCreateModelElement( 6415 current = forceCreateModelElement(
@@ -4783,31 +6419,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4783 6419
4784 } 6420 }
4785 6421
4786 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_31); 6422 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40);
4787 6423
4788 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); 6424 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
4789 6425
4790 // InternalSolverLanguageParser.g:1897:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? 6426 // InternalSolverLanguageParser.g:2596:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )?
4791 int alt23=2; 6427 int alt32=2;
4792 int LA23_0 = input.LA(1); 6428 int LA32_0 = input.LA(1);
4793 6429
4794 if ( (LA23_0==Current||LA23_0==Unknown||(LA23_0>=Count && LA23_0<=False)||(LA23_0>=Must && LA23_0<=Prod)||LA23_0==True||(LA23_0>=Avg && LA23_0<=Inf)||(LA23_0>=Max && LA23_0<=Sum)||(LA23_0>=ExclamationMark && LA23_0<=LeftParenthesis)||(LA23_0>=Asterisk && LA23_0<=PlusSign)||LA23_0==HyphenMinus||LA23_0==LeftSquareBracket||(LA23_0>=RULE_STRING && LA23_0<=RULE_QUOTED_ID)||(LA23_0>=RULE_ID && LA23_0<=RULE_INT)) ) { 6430 if ( (LA32_0==Current||(LA32_0>=Unknown && LA32_0<=Exists)||LA32_0==Forall||(LA32_0>=Count && LA32_0<=False)||LA32_0==Must||LA32_0==True||LA32_0==Inf||LA32_0==May||(LA32_0>=ExclamationMark && LA32_0<=LeftParenthesis)||(LA32_0>=Asterisk && LA32_0<=PlusSign)||LA32_0==HyphenMinus||LA32_0==LeftSquareBracket||(LA32_0>=RULE_STRING && LA32_0<=RULE_QUOTED_ID)||(LA32_0>=RULE_ID && LA32_0<=RULE_INT)) ) {
4795 alt23=1; 6431 alt32=1;
4796 } 6432 }
4797 switch (alt23) { 6433 switch (alt32) {
4798 case 1 : 6434 case 1 :
4799 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6435 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4800 { 6436 {
4801 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) 6437 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) )
4802 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6438 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4803 { 6439 {
4804 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6440 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4805 // InternalSolverLanguageParser.g:1900:6: lv_arguments_2_0= ruleArgument 6441 // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument
4806 { 6442 {
4807 6443
4808 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); 6444 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
4809 6445
4810 pushFollow(FOLLOW_32); 6446 pushFollow(FOLLOW_41);
4811 lv_arguments_2_0=ruleArgument(); 6447 lv_arguments_2_0=ruleArgument();
4812 6448
4813 state._fsp--; 6449 state._fsp--;
@@ -4829,35 +6465,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4829 6465
4830 } 6466 }
4831 6467
4832 // InternalSolverLanguageParser.g:1917:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6468 // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4833 loop22: 6469 loop31:
4834 do { 6470 do {
4835 int alt22=2; 6471 int alt31=2;
4836 int LA22_0 = input.LA(1); 6472 int LA31_0 = input.LA(1);
4837 6473
4838 if ( (LA22_0==Comma) ) { 6474 if ( (LA31_0==Comma) ) {
4839 alt22=1; 6475 alt31=1;
4840 } 6476 }
4841 6477
4842 6478
4843 switch (alt22) { 6479 switch (alt31) {
4844 case 1 : 6480 case 1 :
4845 // InternalSolverLanguageParser.g:1918:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) 6481 // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) )
4846 { 6482 {
4847 otherlv_3=(Token)match(input,Comma,FOLLOW_33); 6483 otherlv_3=(Token)match(input,Comma,FOLLOW_42);
4848 6484
4849 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); 6485 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
4850 6486
4851 // InternalSolverLanguageParser.g:1922:5: ( (lv_arguments_4_0= ruleArgument ) ) 6487 // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) )
4852 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6488 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4853 { 6489 {
4854 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6490 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4855 // InternalSolverLanguageParser.g:1924:7: lv_arguments_4_0= ruleArgument 6491 // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument
4856 { 6492 {
4857 6493
4858 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); 6494 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
4859 6495
4860 pushFollow(FOLLOW_32); 6496 pushFollow(FOLLOW_41);
4861 lv_arguments_4_0=ruleArgument(); 6497 lv_arguments_4_0=ruleArgument();
4862 6498
4863 state._fsp--; 6499 state._fsp--;
@@ -4884,7 +6520,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4884 break; 6520 break;
4885 6521
4886 default : 6522 default :
4887 break loop22; 6523 break loop31;
4888 } 6524 }
4889 } while (true); 6525 } while (true);
4890 6526
@@ -4921,7 +6557,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4921 6557
4922 6558
4923 // $ANTLR start "entryRuleArgument" 6559 // $ANTLR start "entryRuleArgument"
4924 // InternalSolverLanguageParser.g:1951:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 6560 // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
4925 public final EObject entryRuleArgument() throws RecognitionException { 6561 public final EObject entryRuleArgument() throws RecognitionException {
4926 EObject current = null; 6562 EObject current = null;
4927 6563
@@ -4929,8 +6565,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4929 6565
4930 6566
4931 try { 6567 try {
4932 // InternalSolverLanguageParser.g:1951:49: (iv_ruleArgument= ruleArgument EOF ) 6568 // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF )
4933 // InternalSolverLanguageParser.g:1952:2: iv_ruleArgument= ruleArgument EOF 6569 // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF
4934 { 6570 {
4935 newCompositeNode(grammarAccess.getArgumentRule()); 6571 newCompositeNode(grammarAccess.getArgumentRule());
4936 pushFollow(FOLLOW_1); 6572 pushFollow(FOLLOW_1);
@@ -4957,7 +6593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4957 6593
4958 6594
4959 // $ANTLR start "ruleArgument" 6595 // $ANTLR start "ruleArgument"
4960 // InternalSolverLanguageParser.g:1958:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; 6596 // InternalSolverLanguageParser.g:2657:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ;
4961 public final EObject ruleArgument() throws RecognitionException { 6597 public final EObject ruleArgument() throws RecognitionException {
4962 EObject current = null; 6598 EObject current = null;
4963 6599
@@ -4974,15 +6610,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4974 enterRule(); 6610 enterRule();
4975 6611
4976 try { 6612 try {
4977 // InternalSolverLanguageParser.g:1964:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) 6613 // InternalSolverLanguageParser.g:2663:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) )
4978 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6614 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4979 { 6615 {
4980 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6616 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4981 int alt24=4; 6617 int alt33=4;
4982 alt24 = dfa24.predict(input); 6618 alt33 = dfa33.predict(input);
4983 switch (alt24) { 6619 switch (alt33) {
4984 case 1 : 6620 case 1 :
4985 // InternalSolverLanguageParser.g:1966:3: this_ExpressionArgument_0= ruleExpressionArgument 6621 // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument
4986 { 6622 {
4987 6623
4988 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); 6624 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
@@ -5000,7 +6636,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5000 } 6636 }
5001 break; 6637 break;
5002 case 2 : 6638 case 2 :
5003 // InternalSolverLanguageParser.g:1975:3: this_StarArgument_1= ruleStarArgument 6639 // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument
5004 { 6640 {
5005 6641
5006 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); 6642 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
@@ -5018,7 +6654,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5018 } 6654 }
5019 break; 6655 break;
5020 case 3 : 6656 case 3 :
5021 // InternalSolverLanguageParser.g:1984:3: this_TypedArgument_2= ruleTypedArgument 6657 // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument
5022 { 6658 {
5023 6659
5024 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 6660 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
@@ -5036,7 +6672,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5036 } 6672 }
5037 break; 6673 break;
5038 case 4 : 6674 case 4 :
5039 // InternalSolverLanguageParser.g:1993:3: this_TypedStarArgument_3= ruleTypedStarArgument 6675 // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument
5040 { 6676 {
5041 6677
5042 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); 6678 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
@@ -5076,7 +6712,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5076 6712
5077 6713
5078 // $ANTLR start "entryRuleExpressionArgument" 6714 // $ANTLR start "entryRuleExpressionArgument"
5079 // InternalSolverLanguageParser.g:2005:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; 6715 // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ;
5080 public final EObject entryRuleExpressionArgument() throws RecognitionException { 6716 public final EObject entryRuleExpressionArgument() throws RecognitionException {
5081 EObject current = null; 6717 EObject current = null;
5082 6718
@@ -5084,8 +6720,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5084 6720
5085 6721
5086 try { 6722 try {
5087 // InternalSolverLanguageParser.g:2005:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) 6723 // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF )
5088 // InternalSolverLanguageParser.g:2006:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF 6724 // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF
5089 { 6725 {
5090 newCompositeNode(grammarAccess.getExpressionArgumentRule()); 6726 newCompositeNode(grammarAccess.getExpressionArgumentRule());
5091 pushFollow(FOLLOW_1); 6727 pushFollow(FOLLOW_1);
@@ -5112,7 +6748,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5112 6748
5113 6749
5114 // $ANTLR start "ruleExpressionArgument" 6750 // $ANTLR start "ruleExpressionArgument"
5115 // InternalSolverLanguageParser.g:2012:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; 6751 // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ;
5116 public final EObject ruleExpressionArgument() throws RecognitionException { 6752 public final EObject ruleExpressionArgument() throws RecognitionException {
5117 EObject current = null; 6753 EObject current = null;
5118 6754
@@ -5123,14 +6759,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5123 enterRule(); 6759 enterRule();
5124 6760
5125 try { 6761 try {
5126 // InternalSolverLanguageParser.g:2018:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) 6762 // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) )
5127 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6763 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5128 { 6764 {
5129 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6765 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5130 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6766 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5131 { 6767 {
5132 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6768 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5133 // InternalSolverLanguageParser.g:2021:4: lv_body_0_0= ruleComparisonExpression 6769 // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression
5134 { 6770 {
5135 6771
5136 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 6772 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
@@ -5177,7 +6813,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5177 6813
5178 6814
5179 // $ANTLR start "entryRuleStarArgument" 6815 // $ANTLR start "entryRuleStarArgument"
5180 // InternalSolverLanguageParser.g:2041:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; 6816 // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ;
5181 public final EObject entryRuleStarArgument() throws RecognitionException { 6817 public final EObject entryRuleStarArgument() throws RecognitionException {
5182 EObject current = null; 6818 EObject current = null;
5183 6819
@@ -5185,8 +6821,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5185 6821
5186 6822
5187 try { 6823 try {
5188 // InternalSolverLanguageParser.g:2041:53: (iv_ruleStarArgument= ruleStarArgument EOF ) 6824 // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF )
5189 // InternalSolverLanguageParser.g:2042:2: iv_ruleStarArgument= ruleStarArgument EOF 6825 // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF
5190 { 6826 {
5191 newCompositeNode(grammarAccess.getStarArgumentRule()); 6827 newCompositeNode(grammarAccess.getStarArgumentRule());
5192 pushFollow(FOLLOW_1); 6828 pushFollow(FOLLOW_1);
@@ -5213,7 +6849,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5213 6849
5214 6850
5215 // $ANTLR start "ruleStarArgument" 6851 // $ANTLR start "ruleStarArgument"
5216 // InternalSolverLanguageParser.g:2048:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; 6852 // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ;
5217 public final EObject ruleStarArgument() throws RecognitionException { 6853 public final EObject ruleStarArgument() throws RecognitionException {
5218 EObject current = null; 6854 EObject current = null;
5219 6855
@@ -5223,14 +6859,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5223 enterRule(); 6859 enterRule();
5224 6860
5225 try { 6861 try {
5226 // InternalSolverLanguageParser.g:2054:2: ( ( () otherlv_1= Asterisk ) ) 6862 // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) )
5227 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6863 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5228 { 6864 {
5229 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6865 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5230 // InternalSolverLanguageParser.g:2056:3: () otherlv_1= Asterisk 6866 // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk
5231 { 6867 {
5232 // InternalSolverLanguageParser.g:2056:3: () 6868 // InternalSolverLanguageParser.g:2755:3: ()
5233 // InternalSolverLanguageParser.g:2057:4: 6869 // InternalSolverLanguageParser.g:2756:4:
5234 { 6870 {
5235 6871
5236 current = forceCreateModelElement( 6872 current = forceCreateModelElement(
@@ -5267,7 +6903,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5267 6903
5268 6904
5269 // $ANTLR start "entryRuleTypedArgument" 6905 // $ANTLR start "entryRuleTypedArgument"
5270 // InternalSolverLanguageParser.g:2071:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; 6906 // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ;
5271 public final EObject entryRuleTypedArgument() throws RecognitionException { 6907 public final EObject entryRuleTypedArgument() throws RecognitionException {
5272 EObject current = null; 6908 EObject current = null;
5273 6909
@@ -5275,8 +6911,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5275 6911
5276 6912
5277 try { 6913 try {
5278 // InternalSolverLanguageParser.g:2071:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) 6914 // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF )
5279 // InternalSolverLanguageParser.g:2072:2: iv_ruleTypedArgument= ruleTypedArgument EOF 6915 // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF
5280 { 6916 {
5281 newCompositeNode(grammarAccess.getTypedArgumentRule()); 6917 newCompositeNode(grammarAccess.getTypedArgumentRule());
5282 pushFollow(FOLLOW_1); 6918 pushFollow(FOLLOW_1);
@@ -5303,7 +6939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5303 6939
5304 6940
5305 // $ANTLR start "ruleTypedArgument" 6941 // $ANTLR start "ruleTypedArgument"
5306 // InternalSolverLanguageParser.g:2078:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; 6942 // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ;
5307 public final EObject ruleTypedArgument() throws RecognitionException { 6943 public final EObject ruleTypedArgument() throws RecognitionException {
5308 EObject current = null; 6944 EObject current = null;
5309 6945
@@ -5311,17 +6947,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5311 enterRule(); 6947 enterRule();
5312 6948
5313 try { 6949 try {
5314 // InternalSolverLanguageParser.g:2084:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) 6950 // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) )
5315 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6951 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5316 { 6952 {
5317 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6953 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5318 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) 6954 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) )
5319 { 6955 {
5320 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) 6956 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) )
5321 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6957 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5322 { 6958 {
5323 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6959 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5324 // InternalSolverLanguageParser.g:2088:5: ruleQualifiedName 6960 // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName
5325 { 6961 {
5326 6962
5327 if (current==null) { 6963 if (current==null) {
@@ -5345,11 +6981,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5345 6981
5346 } 6982 }
5347 6983
5348 // InternalSolverLanguageParser.g:2102:3: ( ( ruleQualifiedName ) ) 6984 // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) )
5349 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6985 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5350 { 6986 {
5351 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6987 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5352 // InternalSolverLanguageParser.g:2104:5: ruleQualifiedName 6988 // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName
5353 { 6989 {
5354 6990
5355 if (current==null) { 6991 if (current==null) {
@@ -5396,7 +7032,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5396 7032
5397 7033
5398 // $ANTLR start "entryRuleTypedStarArgument" 7034 // $ANTLR start "entryRuleTypedStarArgument"
5399 // InternalSolverLanguageParser.g:2122:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; 7035 // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ;
5400 public final EObject entryRuleTypedStarArgument() throws RecognitionException { 7036 public final EObject entryRuleTypedStarArgument() throws RecognitionException {
5401 EObject current = null; 7037 EObject current = null;
5402 7038
@@ -5404,8 +7040,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5404 7040
5405 7041
5406 try { 7042 try {
5407 // InternalSolverLanguageParser.g:2122:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) 7043 // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF )
5408 // InternalSolverLanguageParser.g:2123:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF 7044 // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF
5409 { 7045 {
5410 newCompositeNode(grammarAccess.getTypedStarArgumentRule()); 7046 newCompositeNode(grammarAccess.getTypedStarArgumentRule());
5411 pushFollow(FOLLOW_1); 7047 pushFollow(FOLLOW_1);
@@ -5432,7 +7068,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5432 7068
5433 7069
5434 // $ANTLR start "ruleTypedStarArgument" 7070 // $ANTLR start "ruleTypedStarArgument"
5435 // InternalSolverLanguageParser.g:2129:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; 7071 // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ;
5436 public final EObject ruleTypedStarArgument() throws RecognitionException { 7072 public final EObject ruleTypedStarArgument() throws RecognitionException {
5437 EObject current = null; 7073 EObject current = null;
5438 7074
@@ -5442,17 +7078,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5442 enterRule(); 7078 enterRule();
5443 7079
5444 try { 7080 try {
5445 // InternalSolverLanguageParser.g:2135:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) 7081 // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) )
5446 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7082 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5447 { 7083 {
5448 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7084 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5449 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk 7085 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk
5450 { 7086 {
5451 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) 7087 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) )
5452 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7088 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5453 { 7089 {
5454 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7090 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5455 // InternalSolverLanguageParser.g:2139:5: ruleQualifiedName 7091 // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName
5456 { 7092 {
5457 7093
5458 if (current==null) { 7094 if (current==null) {
@@ -5462,7 +7098,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5462 7098
5463 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); 7099 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
5464 7100
5465 pushFollow(FOLLOW_34); 7101 pushFollow(FOLLOW_43);
5466 ruleQualifiedName(); 7102 ruleQualifiedName();
5467 7103
5468 state._fsp--; 7104 state._fsp--;
@@ -5503,7 +7139,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5503 7139
5504 7140
5505 // $ANTLR start "entryRuleReference" 7141 // $ANTLR start "entryRuleReference"
5506 // InternalSolverLanguageParser.g:2161:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; 7142 // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ;
5507 public final EObject entryRuleReference() throws RecognitionException { 7143 public final EObject entryRuleReference() throws RecognitionException {
5508 EObject current = null; 7144 EObject current = null;
5509 7145
@@ -5511,8 +7147,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5511 7147
5512 7148
5513 try { 7149 try {
5514 // InternalSolverLanguageParser.g:2161:50: (iv_ruleReference= ruleReference EOF ) 7150 // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF )
5515 // InternalSolverLanguageParser.g:2162:2: iv_ruleReference= ruleReference EOF 7151 // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF
5516 { 7152 {
5517 newCompositeNode(grammarAccess.getReferenceRule()); 7153 newCompositeNode(grammarAccess.getReferenceRule());
5518 pushFollow(FOLLOW_1); 7154 pushFollow(FOLLOW_1);
@@ -5539,7 +7175,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5539 7175
5540 7176
5541 // $ANTLR start "ruleReference" 7177 // $ANTLR start "ruleReference"
5542 // InternalSolverLanguageParser.g:2168:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; 7178 // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
5543 public final EObject ruleReference() throws RecognitionException { 7179 public final EObject ruleReference() throws RecognitionException {
5544 EObject current = null; 7180 EObject current = null;
5545 7181
@@ -5547,14 +7183,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5547 enterRule(); 7183 enterRule();
5548 7184
5549 try { 7185 try {
5550 // InternalSolverLanguageParser.g:2174:2: ( ( ( ruleQualifiedName ) ) ) 7186 // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) )
5551 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7187 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5552 { 7188 {
5553 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7189 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5554 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7190 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5555 { 7191 {
5556 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7192 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5557 // InternalSolverLanguageParser.g:2177:4: ruleQualifiedName 7193 // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName
5558 { 7194 {
5559 7195
5560 if (current==null) { 7196 if (current==null) {
@@ -5598,7 +7234,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5598 7234
5599 7235
5600 // $ANTLR start "entryRuleInterval" 7236 // $ANTLR start "entryRuleInterval"
5601 // InternalSolverLanguageParser.g:2194:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; 7237 // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
5602 public final EObject entryRuleInterval() throws RecognitionException { 7238 public final EObject entryRuleInterval() throws RecognitionException {
5603 EObject current = null; 7239 EObject current = null;
5604 7240
@@ -5606,8 +7242,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5606 7242
5607 7243
5608 try { 7244 try {
5609 // InternalSolverLanguageParser.g:2194:49: (iv_ruleInterval= ruleInterval EOF ) 7245 // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF )
5610 // InternalSolverLanguageParser.g:2195:2: iv_ruleInterval= ruleInterval EOF 7246 // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF
5611 { 7247 {
5612 newCompositeNode(grammarAccess.getIntervalRule()); 7248 newCompositeNode(grammarAccess.getIntervalRule());
5613 pushFollow(FOLLOW_1); 7249 pushFollow(FOLLOW_1);
@@ -5634,7 +7270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5634 7270
5635 7271
5636 // $ANTLR start "ruleInterval" 7272 // $ANTLR start "ruleInterval"
5637 // InternalSolverLanguageParser.g:2201:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ; 7273 // InternalSolverLanguageParser.g:2900:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ;
5638 public final EObject ruleInterval() throws RecognitionException { 7274 public final EObject ruleInterval() throws RecognitionException {
5639 EObject current = null; 7275 EObject current = null;
5640 7276
@@ -5650,26 +7286,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5650 enterRule(); 7286 enterRule();
5651 7287
5652 try { 7288 try {
5653 // InternalSolverLanguageParser.g:2207:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) 7289 // InternalSolverLanguageParser.g:2906:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) )
5654 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7290 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5655 { 7291 {
5656 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7292 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5657 // InternalSolverLanguageParser.g:2209:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket 7293 // InternalSolverLanguageParser.g:2908:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket
5658 { 7294 {
5659 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); 7295 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6);
5660 7296
5661 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); 7297 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
5662 7298
5663 // InternalSolverLanguageParser.g:2213:3: ( (lv_lowerBound_1_0= ruleExpression ) ) 7299 // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) )
5664 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7300 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5665 { 7301 {
5666 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7302 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5667 // InternalSolverLanguageParser.g:2215:5: lv_lowerBound_1_0= ruleExpression 7303 // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression
5668 { 7304 {
5669 7305
5670 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 7306 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
5671 7307
5672 pushFollow(FOLLOW_35); 7308 pushFollow(FOLLOW_44);
5673 lv_lowerBound_1_0=ruleExpression(); 7309 lv_lowerBound_1_0=ruleExpression();
5674 7310
5675 state._fsp--; 7311 state._fsp--;
@@ -5695,16 +7331,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5695 7331
5696 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 7332 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
5697 7333
5698 // InternalSolverLanguageParser.g:2236:3: ( (lv_upperBound_3_0= ruleExpression ) ) 7334 // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) )
5699 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7335 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5700 { 7336 {
5701 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7337 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5702 // InternalSolverLanguageParser.g:2238:5: lv_upperBound_3_0= ruleExpression 7338 // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression
5703 { 7339 {
5704 7340
5705 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 7341 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
5706 7342
5707 pushFollow(FOLLOW_36); 7343 pushFollow(FOLLOW_45);
5708 lv_upperBound_3_0=ruleExpression(); 7344 lv_upperBound_3_0=ruleExpression();
5709 7345
5710 state._fsp--; 7346 state._fsp--;
@@ -5753,7 +7389,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5753 7389
5754 7390
5755 // $ANTLR start "entryRuleLiteral" 7391 // $ANTLR start "entryRuleLiteral"
5756 // InternalSolverLanguageParser.g:2263:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 7392 // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
5757 public final EObject entryRuleLiteral() throws RecognitionException { 7393 public final EObject entryRuleLiteral() throws RecognitionException {
5758 EObject current = null; 7394 EObject current = null;
5759 7395
@@ -5761,8 +7397,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5761 7397
5762 7398
5763 try { 7399 try {
5764 // InternalSolverLanguageParser.g:2263:48: (iv_ruleLiteral= ruleLiteral EOF ) 7400 // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF )
5765 // InternalSolverLanguageParser.g:2264:2: iv_ruleLiteral= ruleLiteral EOF 7401 // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF
5766 { 7402 {
5767 newCompositeNode(grammarAccess.getLiteralRule()); 7403 newCompositeNode(grammarAccess.getLiteralRule());
5768 pushFollow(FOLLOW_1); 7404 pushFollow(FOLLOW_1);
@@ -5789,7 +7425,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5789 7425
5790 7426
5791 // $ANTLR start "ruleLiteral" 7427 // $ANTLR start "ruleLiteral"
5792 // InternalSolverLanguageParser.g:2270:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ; 7428 // InternalSolverLanguageParser.g:2969:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ;
5793 public final EObject ruleLiteral() throws RecognitionException { 7429 public final EObject ruleLiteral() throws RecognitionException {
5794 EObject current = null; 7430 EObject current = null;
5795 7431
@@ -5808,50 +7444,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5808 enterRule(); 7444 enterRule();
5809 7445
5810 try { 7446 try {
5811 // InternalSolverLanguageParser.g:2276:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) 7447 // InternalSolverLanguageParser.g:2975:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) )
5812 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7448 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5813 { 7449 {
5814 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7450 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5815 int alt25=5; 7451 int alt34=5;
5816 switch ( input.LA(1) ) { 7452 switch ( input.LA(1) ) {
5817 case Unknown: 7453 case Unknown:
5818 case Error: 7454 case Error:
5819 case False: 7455 case False:
5820 case True: 7456 case True:
5821 { 7457 {
5822 alt25=1; 7458 alt34=1;
5823 } 7459 }
5824 break; 7460 break;
5825 case RULE_INT: 7461 case RULE_INT:
5826 { 7462 {
5827 alt25=2; 7463 alt34=2;
5828 } 7464 }
5829 break; 7465 break;
5830 case Inf: 7466 case Inf:
5831 { 7467 {
5832 alt25=3; 7468 alt34=3;
5833 } 7469 }
5834 break; 7470 break;
5835 case Empty: 7471 case Empty:
5836 { 7472 {
5837 alt25=4; 7473 alt34=4;
5838 } 7474 }
5839 break; 7475 break;
5840 case RULE_STRING: 7476 case RULE_STRING:
5841 { 7477 {
5842 alt25=5; 7478 alt34=5;
5843 } 7479 }
5844 break; 7480 break;
5845 default: 7481 default:
5846 NoViableAltException nvae = 7482 NoViableAltException nvae =
5847 new NoViableAltException("", 25, 0, input); 7483 new NoViableAltException("", 34, 0, input);
5848 7484
5849 throw nvae; 7485 throw nvae;
5850 } 7486 }
5851 7487
5852 switch (alt25) { 7488 switch (alt34) {
5853 case 1 : 7489 case 1 :
5854 // InternalSolverLanguageParser.g:2278:3: this_LogicLiteral_0= ruleLogicLiteral 7490 // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral
5855 { 7491 {
5856 7492
5857 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); 7493 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
@@ -5869,7 +7505,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5869 } 7505 }
5870 break; 7506 break;
5871 case 2 : 7507 case 2 :
5872 // InternalSolverLanguageParser.g:2287:3: this_NumericLiteral_1= ruleNumericLiteral 7508 // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral
5873 { 7509 {
5874 7510
5875 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 7511 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
@@ -5887,7 +7523,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5887 } 7523 }
5888 break; 7524 break;
5889 case 3 : 7525 case 3 :
5890 // InternalSolverLanguageParser.g:2296:3: this_InfinityLiteral_2= ruleInfinityLiteral 7526 // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral
5891 { 7527 {
5892 7528
5893 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 7529 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
@@ -5905,7 +7541,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5905 } 7541 }
5906 break; 7542 break;
5907 case 4 : 7543 case 4 :
5908 // InternalSolverLanguageParser.g:2305:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral 7544 // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral
5909 { 7545 {
5910 7546
5911 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 7547 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
@@ -5923,7 +7559,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5923 } 7559 }
5924 break; 7560 break;
5925 case 5 : 7561 case 5 :
5926 // InternalSolverLanguageParser.g:2314:3: this_StringLiteral_4= ruleStringLiteral 7562 // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral
5927 { 7563 {
5928 7564
5929 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 7565 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
@@ -5963,7 +7599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5963 7599
5964 7600
5965 // $ANTLR start "entryRuleLogicLiteral" 7601 // $ANTLR start "entryRuleLogicLiteral"
5966 // InternalSolverLanguageParser.g:2326:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; 7602 // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ;
5967 public final EObject entryRuleLogicLiteral() throws RecognitionException { 7603 public final EObject entryRuleLogicLiteral() throws RecognitionException {
5968 EObject current = null; 7604 EObject current = null;
5969 7605
@@ -5971,8 +7607,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5971 7607
5972 7608
5973 try { 7609 try {
5974 // InternalSolverLanguageParser.g:2326:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) 7610 // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF )
5975 // InternalSolverLanguageParser.g:2327:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF 7611 // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF
5976 { 7612 {
5977 newCompositeNode(grammarAccess.getLogicLiteralRule()); 7613 newCompositeNode(grammarAccess.getLogicLiteralRule());
5978 pushFollow(FOLLOW_1); 7614 pushFollow(FOLLOW_1);
@@ -5999,7 +7635,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5999 7635
6000 7636
6001 // $ANTLR start "ruleLogicLiteral" 7637 // $ANTLR start "ruleLogicLiteral"
6002 // InternalSolverLanguageParser.g:2333:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; 7638 // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ;
6003 public final EObject ruleLogicLiteral() throws RecognitionException { 7639 public final EObject ruleLogicLiteral() throws RecognitionException {
6004 EObject current = null; 7640 EObject current = null;
6005 7641
@@ -6010,14 +7646,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6010 enterRule(); 7646 enterRule();
6011 7647
6012 try { 7648 try {
6013 // InternalSolverLanguageParser.g:2339:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) 7649 // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) )
6014 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7650 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6015 { 7651 {
6016 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7652 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6017 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7653 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6018 { 7654 {
6019 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7655 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6020 // InternalSolverLanguageParser.g:2342:4: lv_value_0_0= ruleLogicValue 7656 // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue
6021 { 7657 {
6022 7658
6023 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); 7659 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
@@ -6064,7 +7700,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6064 7700
6065 7701
6066 // $ANTLR start "entryRuleNumericLiteral" 7702 // $ANTLR start "entryRuleNumericLiteral"
6067 // InternalSolverLanguageParser.g:2362:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; 7703 // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ;
6068 public final EObject entryRuleNumericLiteral() throws RecognitionException { 7704 public final EObject entryRuleNumericLiteral() throws RecognitionException {
6069 EObject current = null; 7705 EObject current = null;
6070 7706
@@ -6072,8 +7708,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6072 7708
6073 7709
6074 try { 7710 try {
6075 // InternalSolverLanguageParser.g:2362:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) 7711 // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF )
6076 // InternalSolverLanguageParser.g:2363:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF 7712 // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF
6077 { 7713 {
6078 newCompositeNode(grammarAccess.getNumericLiteralRule()); 7714 newCompositeNode(grammarAccess.getNumericLiteralRule());
6079 pushFollow(FOLLOW_1); 7715 pushFollow(FOLLOW_1);
@@ -6100,7 +7736,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6100 7736
6101 7737
6102 // $ANTLR start "ruleNumericLiteral" 7738 // $ANTLR start "ruleNumericLiteral"
6103 // InternalSolverLanguageParser.g:2369:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; 7739 // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ;
6104 public final EObject ruleNumericLiteral() throws RecognitionException { 7740 public final EObject ruleNumericLiteral() throws RecognitionException {
6105 EObject current = null; 7741 EObject current = null;
6106 7742
@@ -6111,14 +7747,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6111 enterRule(); 7747 enterRule();
6112 7748
6113 try { 7749 try {
6114 // InternalSolverLanguageParser.g:2375:2: ( ( (lv_value_0_0= ruleReal ) ) ) 7750 // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) )
6115 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7751 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6116 { 7752 {
6117 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7753 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6118 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7754 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6119 { 7755 {
6120 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7756 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6121 // InternalSolverLanguageParser.g:2378:4: lv_value_0_0= ruleReal 7757 // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal
6122 { 7758 {
6123 7759
6124 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 7760 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
@@ -6165,7 +7801,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6165 7801
6166 7802
6167 // $ANTLR start "entryRuleInfinityLiteral" 7803 // $ANTLR start "entryRuleInfinityLiteral"
6168 // InternalSolverLanguageParser.g:2398:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; 7804 // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ;
6169 public final EObject entryRuleInfinityLiteral() throws RecognitionException { 7805 public final EObject entryRuleInfinityLiteral() throws RecognitionException {
6170 EObject current = null; 7806 EObject current = null;
6171 7807
@@ -6173,8 +7809,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6173 7809
6174 7810
6175 try { 7811 try {
6176 // InternalSolverLanguageParser.g:2398:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) 7812 // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF )
6177 // InternalSolverLanguageParser.g:2399:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF 7813 // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF
6178 { 7814 {
6179 newCompositeNode(grammarAccess.getInfinityLiteralRule()); 7815 newCompositeNode(grammarAccess.getInfinityLiteralRule());
6180 pushFollow(FOLLOW_1); 7816 pushFollow(FOLLOW_1);
@@ -6201,7 +7837,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6201 7837
6202 7838
6203 // $ANTLR start "ruleInfinityLiteral" 7839 // $ANTLR start "ruleInfinityLiteral"
6204 // InternalSolverLanguageParser.g:2405:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; 7840 // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ;
6205 public final EObject ruleInfinityLiteral() throws RecognitionException { 7841 public final EObject ruleInfinityLiteral() throws RecognitionException {
6206 EObject current = null; 7842 EObject current = null;
6207 7843
@@ -6211,14 +7847,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6211 enterRule(); 7847 enterRule();
6212 7848
6213 try { 7849 try {
6214 // InternalSolverLanguageParser.g:2411:2: ( ( () otherlv_1= Inf ) ) 7850 // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) )
6215 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7851 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6216 { 7852 {
6217 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7853 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6218 // InternalSolverLanguageParser.g:2413:3: () otherlv_1= Inf 7854 // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf
6219 { 7855 {
6220 // InternalSolverLanguageParser.g:2413:3: () 7856 // InternalSolverLanguageParser.g:3112:3: ()
6221 // InternalSolverLanguageParser.g:2414:4: 7857 // InternalSolverLanguageParser.g:3113:4:
6222 { 7858 {
6223 7859
6224 current = forceCreateModelElement( 7860 current = forceCreateModelElement(
@@ -6255,7 +7891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6255 7891
6256 7892
6257 // $ANTLR start "entryRuleEmptyIntervalLiteral" 7893 // $ANTLR start "entryRuleEmptyIntervalLiteral"
6258 // InternalSolverLanguageParser.g:2428:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; 7894 // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ;
6259 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { 7895 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException {
6260 EObject current = null; 7896 EObject current = null;
6261 7897
@@ -6263,8 +7899,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6263 7899
6264 7900
6265 try { 7901 try {
6266 // InternalSolverLanguageParser.g:2428:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) 7902 // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF )
6267 // InternalSolverLanguageParser.g:2429:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF 7903 // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF
6268 { 7904 {
6269 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); 7905 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule());
6270 pushFollow(FOLLOW_1); 7906 pushFollow(FOLLOW_1);
@@ -6291,7 +7927,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6291 7927
6292 7928
6293 // $ANTLR start "ruleEmptyIntervalLiteral" 7929 // $ANTLR start "ruleEmptyIntervalLiteral"
6294 // InternalSolverLanguageParser.g:2435:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; 7930 // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ;
6295 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { 7931 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException {
6296 EObject current = null; 7932 EObject current = null;
6297 7933
@@ -6301,14 +7937,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6301 enterRule(); 7937 enterRule();
6302 7938
6303 try { 7939 try {
6304 // InternalSolverLanguageParser.g:2441:2: ( ( () otherlv_1= Empty ) ) 7940 // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) )
6305 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7941 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6306 { 7942 {
6307 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7943 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6308 // InternalSolverLanguageParser.g:2443:3: () otherlv_1= Empty 7944 // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty
6309 { 7945 {
6310 // InternalSolverLanguageParser.g:2443:3: () 7946 // InternalSolverLanguageParser.g:3142:3: ()
6311 // InternalSolverLanguageParser.g:2444:4: 7947 // InternalSolverLanguageParser.g:3143:4:
6312 { 7948 {
6313 7949
6314 current = forceCreateModelElement( 7950 current = forceCreateModelElement(
@@ -6345,7 +7981,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6345 7981
6346 7982
6347 // $ANTLR start "entryRuleStringLiteral" 7983 // $ANTLR start "entryRuleStringLiteral"
6348 // InternalSolverLanguageParser.g:2458:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; 7984 // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
6349 public final EObject entryRuleStringLiteral() throws RecognitionException { 7985 public final EObject entryRuleStringLiteral() throws RecognitionException {
6350 EObject current = null; 7986 EObject current = null;
6351 7987
@@ -6353,8 +7989,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6353 7989
6354 7990
6355 try { 7991 try {
6356 // InternalSolverLanguageParser.g:2458:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) 7992 // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF )
6357 // InternalSolverLanguageParser.g:2459:2: iv_ruleStringLiteral= ruleStringLiteral EOF 7993 // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF
6358 { 7994 {
6359 newCompositeNode(grammarAccess.getStringLiteralRule()); 7995 newCompositeNode(grammarAccess.getStringLiteralRule());
6360 pushFollow(FOLLOW_1); 7996 pushFollow(FOLLOW_1);
@@ -6381,7 +8017,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6381 8017
6382 8018
6383 // $ANTLR start "ruleStringLiteral" 8019 // $ANTLR start "ruleStringLiteral"
6384 // InternalSolverLanguageParser.g:2465:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 8020 // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
6385 public final EObject ruleStringLiteral() throws RecognitionException { 8021 public final EObject ruleStringLiteral() throws RecognitionException {
6386 EObject current = null; 8022 EObject current = null;
6387 8023
@@ -6391,14 +8027,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6391 enterRule(); 8027 enterRule();
6392 8028
6393 try { 8029 try {
6394 // InternalSolverLanguageParser.g:2471:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 8030 // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
6395 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8031 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6396 { 8032 {
6397 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8033 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6398 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8034 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6399 { 8035 {
6400 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8036 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6401 // InternalSolverLanguageParser.g:2474:4: lv_value_0_0= RULE_STRING 8037 // InternalSolverLanguageParser.g:3173:4: lv_value_0_0= RULE_STRING
6402 { 8038 {
6403 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 8039 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
6404 8040
@@ -6440,7 +8076,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6440 8076
6441 8077
6442 // $ANTLR start "entryRuleClassDefinition" 8078 // $ANTLR start "entryRuleClassDefinition"
6443 // InternalSolverLanguageParser.g:2493:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; 8079 // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ;
6444 public final EObject entryRuleClassDefinition() throws RecognitionException { 8080 public final EObject entryRuleClassDefinition() throws RecognitionException {
6445 EObject current = null; 8081 EObject current = null;
6446 8082
@@ -6448,8 +8084,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6448 8084
6449 8085
6450 try { 8086 try {
6451 // InternalSolverLanguageParser.g:2493:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) 8087 // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF )
6452 // InternalSolverLanguageParser.g:2494:2: iv_ruleClassDefinition= ruleClassDefinition EOF 8088 // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF
6453 { 8089 {
6454 newCompositeNode(grammarAccess.getClassDefinitionRule()); 8090 newCompositeNode(grammarAccess.getClassDefinitionRule());
6455 pushFollow(FOLLOW_1); 8091 pushFollow(FOLLOW_1);
@@ -6476,7 +8112,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6476 8112
6477 8113
6478 // $ANTLR start "ruleClassDefinition" 8114 // $ANTLR start "ruleClassDefinition"
6479 // InternalSolverLanguageParser.g:2500:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ; 8115 // InternalSolverLanguageParser.g:3199:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ;
6480 public final EObject ruleClassDefinition() throws RecognitionException { 8116 public final EObject ruleClassDefinition() throws RecognitionException {
6481 EObject current = null; 8117 EObject current = null;
6482 8118
@@ -6494,27 +8130,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6494 enterRule(); 8130 enterRule();
6495 8131
6496 try { 8132 try {
6497 // InternalSolverLanguageParser.g:2506:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ) 8133 // InternalSolverLanguageParser.g:3205:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) )
6498 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8134 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6499 { 8135 {
6500 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8136 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6501 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket 8137 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket
6502 { 8138 {
6503 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? 8139 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )?
6504 int alt26=2; 8140 int alt35=2;
6505 int LA26_0 = input.LA(1); 8141 int LA35_0 = input.LA(1);
6506 8142
6507 if ( (LA26_0==Abstract) ) { 8143 if ( (LA35_0==Abstract) ) {
6508 alt26=1; 8144 alt35=1;
6509 } 8145 }
6510 switch (alt26) { 8146 switch (alt35) {
6511 case 1 : 8147 case 1 :
6512 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8148 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6513 { 8149 {
6514 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8150 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6515 // InternalSolverLanguageParser.g:2510:5: lv_abstract_0_0= Abstract 8151 // InternalSolverLanguageParser.g:3209:5: lv_abstract_0_0= Abstract
6516 { 8152 {
6517 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_37); 8153 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_46);
6518 8154
6519 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); 8155 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
6520 8156
@@ -6533,17 +8169,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6533 8169
6534 } 8170 }
6535 8171
6536 otherlv_1=(Token)match(input,Class,FOLLOW_38); 8172 otherlv_1=(Token)match(input,Class,FOLLOW_20);
6537 8173
6538 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 8174 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
6539 8175
6540 // InternalSolverLanguageParser.g:2526:3: ( (lv_name_2_0= RULE_ID ) ) 8176 // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) )
6541 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8177 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6542 { 8178 {
6543 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8179 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6544 // InternalSolverLanguageParser.g:2528:5: lv_name_2_0= RULE_ID 8180 // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID
6545 { 8181 {
6546 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_39); 8182 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47);
6547 8183
6548 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 8184 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
6549 8185
@@ -6563,26 +8199,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6563 8199
6564 } 8200 }
6565 8201
6566 // InternalSolverLanguageParser.g:2544:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? 8202 // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )?
6567 int alt28=2; 8203 int alt37=2;
6568 int LA28_0 = input.LA(1); 8204 int LA37_0 = input.LA(1);
6569 8205
6570 if ( (LA28_0==Extends) ) { 8206 if ( (LA37_0==Extends) ) {
6571 alt28=1; 8207 alt37=1;
6572 } 8208 }
6573 switch (alt28) { 8209 switch (alt37) {
6574 case 1 : 8210 case 1 :
6575 // InternalSolverLanguageParser.g:2545:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8211 // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6576 { 8212 {
6577 otherlv_3=(Token)match(input,Extends,FOLLOW_8); 8213 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
6578 8214
6579 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 8215 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
6580 8216
6581 // InternalSolverLanguageParser.g:2549:4: ( ( ruleQualifiedName ) ) 8217 // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) )
6582 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8218 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6583 { 8219 {
6584 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8220 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6585 // InternalSolverLanguageParser.g:2551:6: ruleQualifiedName 8221 // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName
6586 { 8222 {
6587 8223
6588 if (current==null) { 8224 if (current==null) {
@@ -6592,7 +8228,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6592 8228
6593 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 8229 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
6594 8230
6595 pushFollow(FOLLOW_40); 8231 pushFollow(FOLLOW_48);
6596 ruleQualifiedName(); 8232 ruleQualifiedName();
6597 8233
6598 state._fsp--; 8234 state._fsp--;
@@ -6606,30 +8242,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6606 8242
6607 } 8243 }
6608 8244
6609 // InternalSolverLanguageParser.g:2565:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8245 // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6610 loop27: 8246 loop36:
6611 do { 8247 do {
6612 int alt27=2; 8248 int alt36=2;
6613 int LA27_0 = input.LA(1); 8249 int LA36_0 = input.LA(1);
6614 8250
6615 if ( (LA27_0==Comma) ) { 8251 if ( (LA36_0==Comma) ) {
6616 alt27=1; 8252 alt36=1;
6617 } 8253 }
6618 8254
6619 8255
6620 switch (alt27) { 8256 switch (alt36) {
6621 case 1 : 8257 case 1 :
6622 // InternalSolverLanguageParser.g:2566:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) 8258 // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
6623 { 8259 {
6624 otherlv_5=(Token)match(input,Comma,FOLLOW_8); 8260 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
6625 8261
6626 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 8262 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
6627 8263
6628 // InternalSolverLanguageParser.g:2570:5: ( ( ruleQualifiedName ) ) 8264 // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) )
6629 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8265 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6630 { 8266 {
6631 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8267 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6632 // InternalSolverLanguageParser.g:2572:7: ruleQualifiedName 8268 // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName
6633 { 8269 {
6634 8270
6635 if (current==null) { 8271 if (current==null) {
@@ -6639,7 +8275,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6639 8275
6640 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 8276 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
6641 8277
6642 pushFollow(FOLLOW_40); 8278 pushFollow(FOLLOW_48);
6643 ruleQualifiedName(); 8279 ruleQualifiedName();
6644 8280
6645 state._fsp--; 8281 state._fsp--;
@@ -6658,7 +8294,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6658 break; 8294 break;
6659 8295
6660 default : 8296 default :
6661 break loop27; 8297 break loop36;
6662 } 8298 }
6663 } while (true); 8299 } while (true);
6664 8300
@@ -6668,32 +8304,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6668 8304
6669 } 8305 }
6670 8306
6671 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_41); 8307 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49);
6672 8308
6673 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); 8309 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
6674 8310
6675 // InternalSolverLanguageParser.g:2592:3: ( (lv_members_8_0= ruleMemberDefinition ) )* 8311 // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )*
6676 loop29: 8312 loop38:
6677 do { 8313 do {
6678 int alt29=2; 8314 int alt38=2;
6679 int LA29_0 = input.LA(1); 8315 int LA38_0 = input.LA(1);
6680 8316
6681 if ( (LA29_0==Contains||LA29_0==RULE_QUOTED_ID||LA29_0==RULE_ID) ) { 8317 if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) {
6682 alt29=1; 8318 alt38=1;
6683 } 8319 }
6684 8320
6685 8321
6686 switch (alt29) { 8322 switch (alt38) {
6687 case 1 : 8323 case 1 :
6688 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8324 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6689 { 8325 {
6690 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8326 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6691 // InternalSolverLanguageParser.g:2594:5: lv_members_8_0= ruleMemberDefinition 8327 // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition
6692 { 8328 {
6693 8329
6694 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); 8330 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
6695 8331
6696 pushFollow(FOLLOW_41); 8332 pushFollow(FOLLOW_49);
6697 lv_members_8_0=ruleMemberDefinition(); 8333 lv_members_8_0=ruleMemberDefinition();
6698 8334
6699 state._fsp--; 8335 state._fsp--;
@@ -6717,7 +8353,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6717 break; 8353 break;
6718 8354
6719 default : 8355 default :
6720 break loop29; 8356 break loop38;
6721 } 8357 }
6722 } while (true); 8358 } while (true);
6723 8359
@@ -6748,7 +8384,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6748 8384
6749 8385
6750 // $ANTLR start "entryRuleMemberDefinition" 8386 // $ANTLR start "entryRuleMemberDefinition"
6751 // InternalSolverLanguageParser.g:2619:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; 8387 // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ;
6752 public final EObject entryRuleMemberDefinition() throws RecognitionException { 8388 public final EObject entryRuleMemberDefinition() throws RecognitionException {
6753 EObject current = null; 8389 EObject current = null;
6754 8390
@@ -6756,8 +8392,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6756 8392
6757 8393
6758 try { 8394 try {
6759 // InternalSolverLanguageParser.g:2619:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) 8395 // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF )
6760 // InternalSolverLanguageParser.g:2620:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF 8396 // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF
6761 { 8397 {
6762 newCompositeNode(grammarAccess.getMemberDefinitionRule()); 8398 newCompositeNode(grammarAccess.getMemberDefinitionRule());
6763 pushFollow(FOLLOW_1); 8399 pushFollow(FOLLOW_1);
@@ -6784,7 +8420,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6784 8420
6785 8421
6786 // $ANTLR start "ruleMemberDefinition" 8422 // $ANTLR start "ruleMemberDefinition"
6787 // InternalSolverLanguageParser.g:2626:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ; 8423 // InternalSolverLanguageParser.g:3325:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ;
6788 public final EObject ruleMemberDefinition() throws RecognitionException { 8424 public final EObject ruleMemberDefinition() throws RecognitionException {
6789 EObject current = null; 8425 EObject current = null;
6790 8426
@@ -6799,25 +8435,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6799 enterRule(); 8435 enterRule();
6800 8436
6801 try { 8437 try {
6802 // InternalSolverLanguageParser.g:2632:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ) 8438 // InternalSolverLanguageParser.g:3331:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) )
6803 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8439 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6804 { 8440 {
6805 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8441 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6806 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? 8442 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )?
6807 { 8443 {
6808 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? 8444 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )?
6809 int alt30=2; 8445 int alt39=2;
6810 int LA30_0 = input.LA(1); 8446 int LA39_0 = input.LA(1);
6811 8447
6812 if ( (LA30_0==Contains) ) { 8448 if ( (LA39_0==Contains) ) {
6813 alt30=1; 8449 alt39=1;
6814 } 8450 }
6815 switch (alt30) { 8451 switch (alt39) {
6816 case 1 : 8452 case 1 :
6817 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8453 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6818 { 8454 {
6819 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8455 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6820 // InternalSolverLanguageParser.g:2636:5: lv_containment_0_0= Contains 8456 // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains
6821 { 8457 {
6822 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); 8458 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8);
6823 8459
@@ -6838,11 +8474,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6838 8474
6839 } 8475 }
6840 8476
6841 // InternalSolverLanguageParser.g:2648:3: ( ( ruleQualifiedName ) ) 8477 // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) )
6842 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8478 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6843 { 8479 {
6844 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8480 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6845 // InternalSolverLanguageParser.g:2650:5: ruleQualifiedName 8481 // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName
6846 { 8482 {
6847 8483
6848 if (current==null) { 8484 if (current==null) {
@@ -6852,7 +8488,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6852 8488
6853 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 8489 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
6854 8490
6855 pushFollow(FOLLOW_42); 8491 pushFollow(FOLLOW_50);
6856 ruleQualifiedName(); 8492 ruleQualifiedName();
6857 8493
6858 state._fsp--; 8494 state._fsp--;
@@ -6866,24 +8502,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6866 8502
6867 } 8503 }
6868 8504
6869 // InternalSolverLanguageParser.g:2664:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? 8505 // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )?
6870 int alt31=2; 8506 int alt40=2;
6871 int LA31_0 = input.LA(1); 8507 int LA40_0 = input.LA(1);
6872 8508
6873 if ( (LA31_0==LeftSquareBracket) ) { 8509 if ( (LA40_0==LeftSquareBracket) ) {
6874 alt31=1; 8510 alt40=1;
6875 } 8511 }
6876 switch (alt31) { 8512 switch (alt40) {
6877 case 1 : 8513 case 1 :
6878 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8514 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6879 { 8515 {
6880 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8516 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6881 // InternalSolverLanguageParser.g:2666:5: lv_multiplicity_2_0= ruleMultiplicity 8517 // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity
6882 { 8518 {
6883 8519
6884 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 8520 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
6885 8521
6886 pushFollow(FOLLOW_38); 8522 pushFollow(FOLLOW_20);
6887 lv_multiplicity_2_0=ruleMultiplicity(); 8523 lv_multiplicity_2_0=ruleMultiplicity();
6888 8524
6889 state._fsp--; 8525 state._fsp--;
@@ -6908,13 +8544,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6908 8544
6909 } 8545 }
6910 8546
6911 // InternalSolverLanguageParser.g:2683:3: ( (lv_name_3_0= RULE_ID ) ) 8547 // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) )
6912 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8548 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6913 { 8549 {
6914 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8550 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6915 // InternalSolverLanguageParser.g:2685:5: lv_name_3_0= RULE_ID 8551 // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID
6916 { 8552 {
6917 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_43); 8553 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51);
6918 8554
6919 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 8555 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
6920 8556
@@ -6934,26 +8570,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6934 8570
6935 } 8571 }
6936 8572
6937 // InternalSolverLanguageParser.g:2701:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? 8573 // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )?
6938 int alt32=2; 8574 int alt41=2;
6939 int LA32_0 = input.LA(1); 8575 int LA41_0 = input.LA(1);
6940 8576
6941 if ( (LA32_0==Opposite) ) { 8577 if ( (LA41_0==Opposite) ) {
6942 alt32=1; 8578 alt41=1;
6943 } 8579 }
6944 switch (alt32) { 8580 switch (alt41) {
6945 case 1 : 8581 case 1 :
6946 // InternalSolverLanguageParser.g:2702:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) 8582 // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) )
6947 { 8583 {
6948 otherlv_4=(Token)match(input,Opposite,FOLLOW_8); 8584 otherlv_4=(Token)match(input,Opposite,FOLLOW_8);
6949 8585
6950 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 8586 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
6951 8587
6952 // InternalSolverLanguageParser.g:2706:4: ( ( ruleQualifiedName ) ) 8588 // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) )
6953 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8589 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6954 { 8590 {
6955 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8591 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6956 // InternalSolverLanguageParser.g:2708:6: ruleQualifiedName 8592 // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName
6957 { 8593 {
6958 8594
6959 if (current==null) { 8595 if (current==null) {
@@ -6963,7 +8599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6963 8599
6964 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 8600 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
6965 8601
6966 pushFollow(FOLLOW_18); 8602 pushFollow(FOLLOW_26);
6967 ruleQualifiedName(); 8603 ruleQualifiedName();
6968 8604
6969 state._fsp--; 8605 state._fsp--;
@@ -6983,16 +8619,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6983 8619
6984 } 8620 }
6985 8621
6986 // InternalSolverLanguageParser.g:2723:3: (otherlv_6= Semicolon )? 8622 // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )?
6987 int alt33=2; 8623 int alt42=2;
6988 int LA33_0 = input.LA(1); 8624 int LA42_0 = input.LA(1);
6989 8625
6990 if ( (LA33_0==Semicolon) ) { 8626 if ( (LA42_0==Semicolon) ) {
6991 alt33=1; 8627 alt42=1;
6992 } 8628 }
6993 switch (alt33) { 8629 switch (alt42) {
6994 case 1 : 8630 case 1 :
6995 // InternalSolverLanguageParser.g:2724:4: otherlv_6= Semicolon 8631 // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon
6996 { 8632 {
6997 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); 8633 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2);
6998 8634
@@ -7027,7 +8663,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7027 8663
7028 8664
7029 // $ANTLR start "entryRuleMultiplicity" 8665 // $ANTLR start "entryRuleMultiplicity"
7030 // InternalSolverLanguageParser.g:2733:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 8666 // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
7031 public final EObject entryRuleMultiplicity() throws RecognitionException { 8667 public final EObject entryRuleMultiplicity() throws RecognitionException {
7032 EObject current = null; 8668 EObject current = null;
7033 8669
@@ -7035,8 +8671,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7035 8671
7036 8672
7037 try { 8673 try {
7038 // InternalSolverLanguageParser.g:2733:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 8674 // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
7039 // InternalSolverLanguageParser.g:2734:2: iv_ruleMultiplicity= ruleMultiplicity EOF 8675 // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF
7040 { 8676 {
7041 newCompositeNode(grammarAccess.getMultiplicityRule()); 8677 newCompositeNode(grammarAccess.getMultiplicityRule());
7042 pushFollow(FOLLOW_1); 8678 pushFollow(FOLLOW_1);
@@ -7063,7 +8699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7063 8699
7064 8700
7065 // $ANTLR start "ruleMultiplicity" 8701 // $ANTLR start "ruleMultiplicity"
7066 // InternalSolverLanguageParser.g:2740:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; 8702 // InternalSolverLanguageParser.g:3439:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ;
7067 public final EObject ruleMultiplicity() throws RecognitionException { 8703 public final EObject ruleMultiplicity() throws RecognitionException {
7068 EObject current = null; 8704 EObject current = null;
7069 8705
@@ -7078,28 +8714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7078 enterRule(); 8714 enterRule();
7079 8715
7080 try { 8716 try {
7081 // InternalSolverLanguageParser.g:2746:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) 8717 // InternalSolverLanguageParser.g:3445:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) )
7082 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8718 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7083 { 8719 {
7084 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8720 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7085 int alt34=3; 8721 int alt43=3;
7086 int LA34_0 = input.LA(1); 8722 int LA43_0 = input.LA(1);
7087 8723
7088 if ( (LA34_0==LeftSquareBracket) ) { 8724 if ( (LA43_0==LeftSquareBracket) ) {
7089 switch ( input.LA(2) ) { 8725 switch ( input.LA(2) ) {
7090 case RULE_INT: 8726 case RULE_INT:
7091 { 8727 {
7092 int LA34_2 = input.LA(3); 8728 int LA43_2 = input.LA(3);
7093 8729
7094 if ( (LA34_2==FullStopFullStop) ) { 8730 if ( (LA43_2==FullStopFullStop) ) {
7095 alt34=3; 8731 alt43=3;
7096 } 8732 }
7097 else if ( (LA34_2==RightSquareBracket) ) { 8733 else if ( (LA43_2==RightSquareBracket) ) {
7098 alt34=2; 8734 alt43=2;
7099 } 8735 }
7100 else { 8736 else {
7101 NoViableAltException nvae = 8737 NoViableAltException nvae =
7102 new NoViableAltException("", 34, 2, input); 8738 new NoViableAltException("", 43, 2, input);
7103 8739
7104 throw nvae; 8740 throw nvae;
7105 } 8741 }
@@ -7107,17 +8743,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7107 break; 8743 break;
7108 case Asterisk: 8744 case Asterisk:
7109 { 8745 {
7110 alt34=2; 8746 alt43=2;
7111 } 8747 }
7112 break; 8748 break;
7113 case RightSquareBracket: 8749 case RightSquareBracket:
7114 { 8750 {
7115 alt34=1; 8751 alt43=1;
7116 } 8752 }
7117 break; 8753 break;
7118 default: 8754 default:
7119 NoViableAltException nvae = 8755 NoViableAltException nvae =
7120 new NoViableAltException("", 34, 1, input); 8756 new NoViableAltException("", 43, 1, input);
7121 8757
7122 throw nvae; 8758 throw nvae;
7123 } 8759 }
@@ -7125,13 +8761,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7125 } 8761 }
7126 else { 8762 else {
7127 NoViableAltException nvae = 8763 NoViableAltException nvae =
7128 new NoViableAltException("", 34, 0, input); 8764 new NoViableAltException("", 43, 0, input);
7129 8765
7130 throw nvae; 8766 throw nvae;
7131 } 8767 }
7132 switch (alt34) { 8768 switch (alt43) {
7133 case 1 : 8769 case 1 :
7134 // InternalSolverLanguageParser.g:2748:3: this_ManyMultiplicity_0= ruleManyMultiplicity 8770 // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity
7135 { 8771 {
7136 8772
7137 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 8773 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
@@ -7149,7 +8785,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7149 } 8785 }
7150 break; 8786 break;
7151 case 2 : 8787 case 2 :
7152 // InternalSolverLanguageParser.g:2757:3: this_ExactMultiplicity_1= ruleExactMultiplicity 8788 // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity
7153 { 8789 {
7154 8790
7155 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 8791 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -7167,7 +8803,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7167 } 8803 }
7168 break; 8804 break;
7169 case 3 : 8805 case 3 :
7170 // InternalSolverLanguageParser.g:2766:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity 8806 // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity
7171 { 8807 {
7172 8808
7173 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); 8809 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
@@ -7207,7 +8843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7207 8843
7208 8844
7209 // $ANTLR start "entryRuleManyMultiplicity" 8845 // $ANTLR start "entryRuleManyMultiplicity"
7210 // InternalSolverLanguageParser.g:2778:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; 8846 // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ;
7211 public final EObject entryRuleManyMultiplicity() throws RecognitionException { 8847 public final EObject entryRuleManyMultiplicity() throws RecognitionException {
7212 EObject current = null; 8848 EObject current = null;
7213 8849
@@ -7215,8 +8851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7215 8851
7216 8852
7217 try { 8853 try {
7218 // InternalSolverLanguageParser.g:2778:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) 8854 // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF )
7219 // InternalSolverLanguageParser.g:2779:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF 8855 // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF
7220 { 8856 {
7221 newCompositeNode(grammarAccess.getManyMultiplicityRule()); 8857 newCompositeNode(grammarAccess.getManyMultiplicityRule());
7222 pushFollow(FOLLOW_1); 8858 pushFollow(FOLLOW_1);
@@ -7243,7 +8879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7243 8879
7244 8880
7245 // $ANTLR start "ruleManyMultiplicity" 8881 // $ANTLR start "ruleManyMultiplicity"
7246 // InternalSolverLanguageParser.g:2785:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; 8882 // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ;
7247 public final EObject ruleManyMultiplicity() throws RecognitionException { 8883 public final EObject ruleManyMultiplicity() throws RecognitionException {
7248 EObject current = null; 8884 EObject current = null;
7249 8885
@@ -7254,14 +8890,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7254 enterRule(); 8890 enterRule();
7255 8891
7256 try { 8892 try {
7257 // InternalSolverLanguageParser.g:2791:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) 8893 // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) )
7258 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8894 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7259 { 8895 {
7260 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8896 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7261 // InternalSolverLanguageParser.g:2793:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket 8897 // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket
7262 { 8898 {
7263 // InternalSolverLanguageParser.g:2793:3: () 8899 // InternalSolverLanguageParser.g:3492:3: ()
7264 // InternalSolverLanguageParser.g:2794:4: 8900 // InternalSolverLanguageParser.g:3493:4:
7265 { 8901 {
7266 8902
7267 current = forceCreateModelElement( 8903 current = forceCreateModelElement(
@@ -7271,7 +8907,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7271 8907
7272 } 8908 }
7273 8909
7274 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_36); 8910 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45);
7275 8911
7276 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 8912 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
7277 8913
@@ -7302,7 +8938,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7302 8938
7303 8939
7304 // $ANTLR start "entryRuleExactMultiplicity" 8940 // $ANTLR start "entryRuleExactMultiplicity"
7305 // InternalSolverLanguageParser.g:2812:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 8941 // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
7306 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 8942 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
7307 EObject current = null; 8943 EObject current = null;
7308 8944
@@ -7310,8 +8946,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7310 8946
7311 8947
7312 try { 8948 try {
7313 // InternalSolverLanguageParser.g:2812:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 8949 // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
7314 // InternalSolverLanguageParser.g:2813:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 8950 // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
7315 { 8951 {
7316 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 8952 newCompositeNode(grammarAccess.getExactMultiplicityRule());
7317 pushFollow(FOLLOW_1); 8953 pushFollow(FOLLOW_1);
@@ -7338,7 +8974,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7338 8974
7339 8975
7340 // $ANTLR start "ruleExactMultiplicity" 8976 // $ANTLR start "ruleExactMultiplicity"
7341 // InternalSolverLanguageParser.g:2819:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; 8977 // InternalSolverLanguageParser.g:3518:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ;
7342 public final EObject ruleExactMultiplicity() throws RecognitionException { 8978 public final EObject ruleExactMultiplicity() throws RecognitionException {
7343 EObject current = null; 8979 EObject current = null;
7344 8980
@@ -7351,26 +8987,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7351 enterRule(); 8987 enterRule();
7352 8988
7353 try { 8989 try {
7354 // InternalSolverLanguageParser.g:2825:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) 8990 // InternalSolverLanguageParser.g:3524:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) )
7355 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8991 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7356 { 8992 {
7357 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8993 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7358 // InternalSolverLanguageParser.g:2827:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket 8994 // InternalSolverLanguageParser.g:3526:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket
7359 { 8995 {
7360 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_44); 8996 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52);
7361 8997
7362 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); 8998 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
7363 8999
7364 // InternalSolverLanguageParser.g:2831:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) 9000 // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) )
7365 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9001 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7366 { 9002 {
7367 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9003 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7368 // InternalSolverLanguageParser.g:2833:5: lv_multiplicity_1_0= ruleUpperMultiplicty 9004 // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty
7369 { 9005 {
7370 9006
7371 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 9007 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
7372 9008
7373 pushFollow(FOLLOW_36); 9009 pushFollow(FOLLOW_45);
7374 lv_multiplicity_1_0=ruleUpperMultiplicty(); 9010 lv_multiplicity_1_0=ruleUpperMultiplicty();
7375 9011
7376 state._fsp--; 9012 state._fsp--;
@@ -7419,7 +9055,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7419 9055
7420 9056
7421 // $ANTLR start "entryRuleBoundedMultiplicity" 9057 // $ANTLR start "entryRuleBoundedMultiplicity"
7422 // InternalSolverLanguageParser.g:2858:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; 9058 // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ;
7423 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { 9059 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException {
7424 EObject current = null; 9060 EObject current = null;
7425 9061
@@ -7427,8 +9063,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7427 9063
7428 9064
7429 try { 9065 try {
7430 // InternalSolverLanguageParser.g:2858:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) 9066 // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF )
7431 // InternalSolverLanguageParser.g:2859:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF 9067 // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF
7432 { 9068 {
7433 newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); 9069 newCompositeNode(grammarAccess.getBoundedMultiplicityRule());
7434 pushFollow(FOLLOW_1); 9070 pushFollow(FOLLOW_1);
@@ -7455,7 +9091,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7455 9091
7456 9092
7457 // $ANTLR start "ruleBoundedMultiplicity" 9093 // $ANTLR start "ruleBoundedMultiplicity"
7458 // InternalSolverLanguageParser.g:2865:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; 9094 // InternalSolverLanguageParser.g:3564:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ;
7459 public final EObject ruleBoundedMultiplicity() throws RecognitionException { 9095 public final EObject ruleBoundedMultiplicity() throws RecognitionException {
7460 EObject current = null; 9096 EObject current = null;
7461 9097
@@ -7470,23 +9106,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7470 enterRule(); 9106 enterRule();
7471 9107
7472 try { 9108 try {
7473 // InternalSolverLanguageParser.g:2871:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) 9109 // InternalSolverLanguageParser.g:3570:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) )
7474 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9110 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7475 { 9111 {
7476 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9112 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7477 // InternalSolverLanguageParser.g:2873:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket 9113 // InternalSolverLanguageParser.g:3572:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket
7478 { 9114 {
7479 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_45); 9115 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_53);
7480 9116
7481 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); 9117 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
7482 9118
7483 // InternalSolverLanguageParser.g:2877:3: ( (lv_lowerBound_1_0= RULE_INT ) ) 9119 // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) )
7484 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9120 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7485 { 9121 {
7486 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9122 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7487 // InternalSolverLanguageParser.g:2879:5: lv_lowerBound_1_0= RULE_INT 9123 // InternalSolverLanguageParser.g:3578:5: lv_lowerBound_1_0= RULE_INT
7488 { 9124 {
7489 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_35); 9125 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_44);
7490 9126
7491 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); 9127 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
7492 9128
@@ -7506,20 +9142,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7506 9142
7507 } 9143 }
7508 9144
7509 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_44); 9145 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52);
7510 9146
7511 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 9147 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
7512 9148
7513 // InternalSolverLanguageParser.g:2899:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) 9149 // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) )
7514 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9150 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7515 { 9151 {
7516 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9152 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7517 // InternalSolverLanguageParser.g:2901:5: lv_upperBound_3_0= ruleUpperMultiplicty 9153 // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty
7518 { 9154 {
7519 9155
7520 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); 9156 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
7521 9157
7522 pushFollow(FOLLOW_36); 9158 pushFollow(FOLLOW_45);
7523 lv_upperBound_3_0=ruleUpperMultiplicty(); 9159 lv_upperBound_3_0=ruleUpperMultiplicty();
7524 9160
7525 state._fsp--; 9161 state._fsp--;
@@ -7568,7 +9204,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7568 9204
7569 9205
7570 // $ANTLR start "entryRuleScopeDefinition" 9206 // $ANTLR start "entryRuleScopeDefinition"
7571 // InternalSolverLanguageParser.g:2926:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; 9207 // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ;
7572 public final EObject entryRuleScopeDefinition() throws RecognitionException { 9208 public final EObject entryRuleScopeDefinition() throws RecognitionException {
7573 EObject current = null; 9209 EObject current = null;
7574 9210
@@ -7576,8 +9212,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7576 9212
7577 9213
7578 try { 9214 try {
7579 // InternalSolverLanguageParser.g:2926:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) 9215 // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF )
7580 // InternalSolverLanguageParser.g:2927:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF 9216 // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF
7581 { 9217 {
7582 newCompositeNode(grammarAccess.getScopeDefinitionRule()); 9218 newCompositeNode(grammarAccess.getScopeDefinitionRule());
7583 pushFollow(FOLLOW_1); 9219 pushFollow(FOLLOW_1);
@@ -7604,7 +9240,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7604 9240
7605 9241
7606 // $ANTLR start "ruleScopeDefinition" 9242 // $ANTLR start "ruleScopeDefinition"
7607 // InternalSolverLanguageParser.g:2933:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; 9243 // InternalSolverLanguageParser.g:3632:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ;
7608 public final EObject ruleScopeDefinition() throws RecognitionException { 9244 public final EObject ruleScopeDefinition() throws RecognitionException {
7609 EObject current = null; 9245 EObject current = null;
7610 9246
@@ -7619,15 +9255,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7619 enterRule(); 9255 enterRule();
7620 9256
7621 try { 9257 try {
7622 // InternalSolverLanguageParser.g:2939:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) 9258 // InternalSolverLanguageParser.g:3638:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) )
7623 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9259 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7624 { 9260 {
7625 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9261 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7626 int alt35=3; 9262 int alt44=3;
7627 alt35 = dfa35.predict(input); 9263 alt44 = dfa44.predict(input);
7628 switch (alt35) { 9264 switch (alt44) {
7629 case 1 : 9265 case 1 :
7630 // InternalSolverLanguageParser.g:2941:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition 9266 // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition
7631 { 9267 {
7632 9268
7633 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 9269 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
@@ -7645,7 +9281,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7645 } 9281 }
7646 break; 9282 break;
7647 case 2 : 9283 case 2 :
7648 // InternalSolverLanguageParser.g:2950:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition 9284 // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition
7649 { 9285 {
7650 9286
7651 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 9287 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
@@ -7663,7 +9299,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7663 } 9299 }
7664 break; 9300 break;
7665 case 3 : 9301 case 3 :
7666 // InternalSolverLanguageParser.g:2959:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition 9302 // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition
7667 { 9303 {
7668 9304
7669 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 9305 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
@@ -7703,7 +9339,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7703 9339
7704 9340
7705 // $ANTLR start "entryRuleExactScopeDefinition" 9341 // $ANTLR start "entryRuleExactScopeDefinition"
7706 // InternalSolverLanguageParser.g:2971:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; 9342 // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ;
7707 public final EObject entryRuleExactScopeDefinition() throws RecognitionException { 9343 public final EObject entryRuleExactScopeDefinition() throws RecognitionException {
7708 EObject current = null; 9344 EObject current = null;
7709 9345
@@ -7711,8 +9347,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7711 9347
7712 9348
7713 try { 9349 try {
7714 // InternalSolverLanguageParser.g:2971:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) 9350 // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF )
7715 // InternalSolverLanguageParser.g:2972:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF 9351 // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF
7716 { 9352 {
7717 newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); 9353 newCompositeNode(grammarAccess.getExactScopeDefinitionRule());
7718 pushFollow(FOLLOW_1); 9354 pushFollow(FOLLOW_1);
@@ -7739,7 +9375,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7739 9375
7740 9376
7741 // $ANTLR start "ruleExactScopeDefinition" 9377 // $ANTLR start "ruleExactScopeDefinition"
7742 // InternalSolverLanguageParser.g:2978:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; 9378 // InternalSolverLanguageParser.g:3677:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ;
7743 public final EObject ruleExactScopeDefinition() throws RecognitionException { 9379 public final EObject ruleExactScopeDefinition() throws RecognitionException {
7744 EObject current = null; 9380 EObject current = null;
7745 9381
@@ -7751,21 +9387,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7751 enterRule(); 9387 enterRule();
7752 9388
7753 try { 9389 try {
7754 // InternalSolverLanguageParser.g:2984:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) 9390 // InternalSolverLanguageParser.g:3683:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) )
7755 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9391 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7756 { 9392 {
7757 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9393 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7758 // InternalSolverLanguageParser.g:2986:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) 9394 // InternalSolverLanguageParser.g:3685:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) )
7759 { 9395 {
7760 otherlv_0=(Token)match(input,Scope,FOLLOW_8); 9396 otherlv_0=(Token)match(input,Scope,FOLLOW_8);
7761 9397
7762 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 9398 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
7763 9399
7764 // InternalSolverLanguageParser.g:2990:3: ( ( ruleQualifiedName ) ) 9400 // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) )
7765 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9401 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7766 { 9402 {
7767 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9403 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7768 // InternalSolverLanguageParser.g:2992:5: ruleQualifiedName 9404 // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName
7769 { 9405 {
7770 9406
7771 if (current==null) { 9407 if (current==null) {
@@ -7775,7 +9411,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7775 9411
7776 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 9412 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
7777 9413
7778 pushFollow(FOLLOW_46); 9414 pushFollow(FOLLOW_54);
7779 ruleQualifiedName(); 9415 ruleQualifiedName();
7780 9416
7781 state._fsp--; 9417 state._fsp--;
@@ -7789,15 +9425,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7789 9425
7790 } 9426 }
7791 9427
7792 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_45); 9428 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53);
7793 9429
7794 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 9430 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
7795 9431
7796 // InternalSolverLanguageParser.g:3010:3: ( (lv_exactScope_3_0= RULE_INT ) ) 9432 // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) )
7797 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9433 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7798 { 9434 {
7799 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9435 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7800 // InternalSolverLanguageParser.g:3012:5: lv_exactScope_3_0= RULE_INT 9436 // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT
7801 { 9437 {
7802 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); 9438 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2);
7803 9439
@@ -7842,7 +9478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7842 9478
7843 9479
7844 // $ANTLR start "entryRuleBoundedScopeDefinition" 9480 // $ANTLR start "entryRuleBoundedScopeDefinition"
7845 // InternalSolverLanguageParser.g:3032:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; 9481 // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ;
7846 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { 9482 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException {
7847 EObject current = null; 9483 EObject current = null;
7848 9484
@@ -7850,8 +9486,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7850 9486
7851 9487
7852 try { 9488 try {
7853 // InternalSolverLanguageParser.g:3032:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) 9489 // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF )
7854 // InternalSolverLanguageParser.g:3033:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF 9490 // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF
7855 { 9491 {
7856 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); 9492 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule());
7857 pushFollow(FOLLOW_1); 9493 pushFollow(FOLLOW_1);
@@ -7878,7 +9514,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7878 9514
7879 9515
7880 // $ANTLR start "ruleBoundedScopeDefinition" 9516 // $ANTLR start "ruleBoundedScopeDefinition"
7881 // InternalSolverLanguageParser.g:3039:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ; 9517 // InternalSolverLanguageParser.g:3738:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ;
7882 public final EObject ruleBoundedScopeDefinition() throws RecognitionException { 9518 public final EObject ruleBoundedScopeDefinition() throws RecognitionException {
7883 EObject current = null; 9519 EObject current = null;
7884 9520
@@ -7896,70 +9532,70 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7896 enterRule(); 9532 enterRule();
7897 9533
7898 try { 9534 try {
7899 // InternalSolverLanguageParser.g:3045:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ) 9535 // InternalSolverLanguageParser.g:3744:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) )
7900 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9536 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7901 { 9537 {
7902 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9538 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7903 // InternalSolverLanguageParser.g:3047:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9539 // InternalSolverLanguageParser.g:3746:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7904 { 9540 {
7905 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9541 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
7906 9542
7907 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9543 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
7908 9544
7909 // InternalSolverLanguageParser.g:3051:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9545 // InternalSolverLanguageParser.g:3750:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7910 int alt38=2; 9546 int alt47=2;
7911 int LA38_0 = input.LA(1); 9547 int LA47_0 = input.LA(1);
7912 9548
7913 if ( (LA38_0==RULE_INT) ) { 9549 if ( (LA47_0==RULE_INT) ) {
7914 int LA38_1 = input.LA(2); 9550 int LA47_1 = input.LA(2);
7915 9551
7916 if ( (LA38_1==GreaterThanSignEqualsSign) ) { 9552 if ( (LA47_1==GreaterThanSignEqualsSign) ) {
7917 alt38=2; 9553 alt47=2;
7918 } 9554 }
7919 else if ( (LA38_1==LessThanSignEqualsSign) ) { 9555 else if ( (LA47_1==LessThanSignEqualsSign) ) {
7920 alt38=1; 9556 alt47=1;
7921 } 9557 }
7922 else { 9558 else {
7923 NoViableAltException nvae = 9559 NoViableAltException nvae =
7924 new NoViableAltException("", 38, 1, input); 9560 new NoViableAltException("", 47, 1, input);
7925 9561
7926 throw nvae; 9562 throw nvae;
7927 } 9563 }
7928 } 9564 }
7929 else if ( (LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { 9565 else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) {
7930 alt38=1; 9566 alt47=1;
7931 } 9567 }
7932 else { 9568 else {
7933 NoViableAltException nvae = 9569 NoViableAltException nvae =
7934 new NoViableAltException("", 38, 0, input); 9570 new NoViableAltException("", 47, 0, input);
7935 9571
7936 throw nvae; 9572 throw nvae;
7937 } 9573 }
7938 switch (alt38) { 9574 switch (alt47) {
7939 case 1 : 9575 case 1 :
7940 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9576 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7941 { 9577 {
7942 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9578 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7943 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) 9579 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) )
7944 { 9580 {
7945 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? 9581 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )?
7946 int alt36=2; 9582 int alt45=2;
7947 int LA36_0 = input.LA(1); 9583 int LA45_0 = input.LA(1);
7948 9584
7949 if ( (LA36_0==RULE_INT) ) { 9585 if ( (LA45_0==RULE_INT) ) {
7950 alt36=1; 9586 alt45=1;
7951 } 9587 }
7952 switch (alt36) { 9588 switch (alt45) {
7953 case 1 : 9589 case 1 :
7954 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign 9590 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign
7955 { 9591 {
7956 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) 9592 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) )
7957 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9593 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7958 { 9594 {
7959 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9595 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7960 // InternalSolverLanguageParser.g:3056:8: lv_lowerBound_1_0= RULE_INT 9596 // InternalSolverLanguageParser.g:3755:8: lv_lowerBound_1_0= RULE_INT
7961 { 9597 {
7962 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9598 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
7963 9599
7964 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 9600 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
7965 9601
@@ -7989,11 +9625,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7989 9625
7990 } 9626 }
7991 9627
7992 // InternalSolverLanguageParser.g:3077:5: ( ( ruleQualifiedName ) ) 9628 // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) )
7993 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9629 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7994 { 9630 {
7995 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9631 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7996 // InternalSolverLanguageParser.g:3079:7: ruleQualifiedName 9632 // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName
7997 { 9633 {
7998 9634
7999 if (current==null) { 9635 if (current==null) {
@@ -8003,7 +9639,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8003 9639
8004 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 9640 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
8005 9641
8006 pushFollow(FOLLOW_48); 9642 pushFollow(FOLLOW_56);
8007 ruleQualifiedName(); 9643 ruleQualifiedName();
8008 9644
8009 state._fsp--; 9645 state._fsp--;
@@ -8017,15 +9653,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8017 9653
8018 } 9654 }
8019 9655
8020 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_45); 9656 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53);
8021 9657
8022 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 9658 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
8023 9659
8024 // InternalSolverLanguageParser.g:3097:5: ( (lv_upperBound_5_0= RULE_INT ) ) 9660 // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) )
8025 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9661 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8026 { 9662 {
8027 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9663 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8028 // InternalSolverLanguageParser.g:3099:7: lv_upperBound_5_0= RULE_INT 9664 // InternalSolverLanguageParser.g:3798:7: lv_upperBound_5_0= RULE_INT
8029 { 9665 {
8030 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); 9666 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2);
8031 9667
@@ -8054,18 +9690,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8054 } 9690 }
8055 break; 9691 break;
8056 case 2 : 9692 case 2 :
8057 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9693 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8058 { 9694 {
8059 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9695 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8060 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9696 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8061 { 9697 {
8062 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) 9698 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) )
8063 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9699 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8064 { 9700 {
8065 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9701 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8066 // InternalSolverLanguageParser.g:3120:7: lv_upperBound_6_0= RULE_INT 9702 // InternalSolverLanguageParser.g:3819:7: lv_upperBound_6_0= RULE_INT
8067 { 9703 {
8068 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_49); 9704 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57);
8069 9705
8070 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 9706 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
8071 9707
@@ -8089,11 +9725,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8089 9725
8090 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 9726 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8091 9727
8092 // InternalSolverLanguageParser.g:3140:5: ( ( ruleQualifiedName ) ) 9728 // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) )
8093 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9729 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8094 { 9730 {
8095 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9731 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8096 // InternalSolverLanguageParser.g:3142:7: ruleQualifiedName 9732 // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName
8097 { 9733 {
8098 9734
8099 if (current==null) { 9735 if (current==null) {
@@ -8103,7 +9739,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8103 9739
8104 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 9740 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
8105 9741
8106 pushFollow(FOLLOW_50); 9742 pushFollow(FOLLOW_58);
8107 ruleQualifiedName(); 9743 ruleQualifiedName();
8108 9744
8109 state._fsp--; 9745 state._fsp--;
@@ -8117,26 +9753,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8117 9753
8118 } 9754 }
8119 9755
8120 // InternalSolverLanguageParser.g:3156:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9756 // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8121 int alt37=2; 9757 int alt46=2;
8122 int LA37_0 = input.LA(1); 9758 int LA46_0 = input.LA(1);
8123 9759
8124 if ( (LA37_0==GreaterThanSignEqualsSign) ) { 9760 if ( (LA46_0==GreaterThanSignEqualsSign) ) {
8125 alt37=1; 9761 alt46=1;
8126 } 9762 }
8127 switch (alt37) { 9763 switch (alt46) {
8128 case 1 : 9764 case 1 :
8129 // InternalSolverLanguageParser.g:3157:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) 9765 // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) )
8130 { 9766 {
8131 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 9767 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8132 9768
8133 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 9769 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
8134 9770
8135 // InternalSolverLanguageParser.g:3161:6: ( (lv_lowerBound_10_0= RULE_INT ) ) 9771 // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) )
8136 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9772 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8137 { 9773 {
8138 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9774 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8139 // InternalSolverLanguageParser.g:3163:8: lv_lowerBound_10_0= RULE_INT 9775 // InternalSolverLanguageParser.g:3862:8: lv_lowerBound_10_0= RULE_INT
8140 { 9776 {
8141 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); 9777 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2);
8142 9778
@@ -8196,7 +9832,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8196 9832
8197 9833
8198 // $ANTLR start "entryRuleLowerBoundedScopeDefinition" 9834 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
8199 // InternalSolverLanguageParser.g:3186:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; 9835 // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ;
8200 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { 9836 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
8201 EObject current = null; 9837 EObject current = null;
8202 9838
@@ -8204,8 +9840,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8204 9840
8205 9841
8206 try { 9842 try {
8207 // InternalSolverLanguageParser.g:3186:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) 9843 // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF )
8208 // InternalSolverLanguageParser.g:3187:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF 9844 // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF
8209 { 9845 {
8210 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); 9846 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule());
8211 pushFollow(FOLLOW_1); 9847 pushFollow(FOLLOW_1);
@@ -8232,7 +9868,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8232 9868
8233 9869
8234 // $ANTLR start "ruleLowerBoundedScopeDefinition" 9870 // $ANTLR start "ruleLowerBoundedScopeDefinition"
8235 // InternalSolverLanguageParser.g:3193:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ; 9871 // InternalSolverLanguageParser.g:3892:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ;
8236 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { 9872 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException {
8237 EObject current = null; 9873 EObject current = null;
8238 9874
@@ -8246,46 +9882,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8246 enterRule(); 9882 enterRule();
8247 9883
8248 try { 9884 try {
8249 // InternalSolverLanguageParser.g:3199:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ) 9885 // InternalSolverLanguageParser.g:3898:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) )
8250 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9886 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8251 { 9887 {
8252 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9888 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8253 // InternalSolverLanguageParser.g:3201:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9889 // InternalSolverLanguageParser.g:3900:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8254 { 9890 {
8255 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9891 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
8256 9892
8257 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9893 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
8258 9894
8259 // InternalSolverLanguageParser.g:3205:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9895 // InternalSolverLanguageParser.g:3904:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8260 int alt39=2; 9896 int alt48=2;
8261 int LA39_0 = input.LA(1); 9897 int LA48_0 = input.LA(1);
8262 9898
8263 if ( (LA39_0==RULE_INT) ) { 9899 if ( (LA48_0==RULE_INT) ) {
8264 alt39=1; 9900 alt48=1;
8265 } 9901 }
8266 else if ( (LA39_0==RULE_QUOTED_ID||LA39_0==RULE_ID) ) { 9902 else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) {
8267 alt39=2; 9903 alt48=2;
8268 } 9904 }
8269 else { 9905 else {
8270 NoViableAltException nvae = 9906 NoViableAltException nvae =
8271 new NoViableAltException("", 39, 0, input); 9907 new NoViableAltException("", 48, 0, input);
8272 9908
8273 throw nvae; 9909 throw nvae;
8274 } 9910 }
8275 switch (alt39) { 9911 switch (alt48) {
8276 case 1 : 9912 case 1 :
8277 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9913 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8278 { 9914 {
8279 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9915 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8280 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) 9916 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) )
8281 { 9917 {
8282 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) 9918 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) )
8283 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9919 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8284 { 9920 {
8285 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9921 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8286 // InternalSolverLanguageParser.g:3209:7: lv_lowerBound_1_0= RULE_INT 9922 // InternalSolverLanguageParser.g:3908:7: lv_lowerBound_1_0= RULE_INT
8287 { 9923 {
8288 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9924 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
8289 9925
8290 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 9926 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
8291 9927
@@ -8309,11 +9945,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8309 9945
8310 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 9946 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
8311 9947
8312 // InternalSolverLanguageParser.g:3229:5: ( ( ruleQualifiedName ) ) 9948 // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) )
8313 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9949 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8314 { 9950 {
8315 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9951 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8316 // InternalSolverLanguageParser.g:3231:7: ruleQualifiedName 9952 // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName
8317 { 9953 {
8318 9954
8319 if (current==null) { 9955 if (current==null) {
@@ -8344,16 +9980,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8344 } 9980 }
8345 break; 9981 break;
8346 case 2 : 9982 case 2 :
8347 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9983 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8348 { 9984 {
8349 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9985 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8350 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) 9986 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) )
8351 { 9987 {
8352 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) 9988 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) )
8353 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9989 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8354 { 9990 {
8355 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9991 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8356 // InternalSolverLanguageParser.g:3250:7: ruleQualifiedName 9992 // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName
8357 { 9993 {
8358 9994
8359 if (current==null) { 9995 if (current==null) {
@@ -8363,7 +9999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8363 9999
8364 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 10000 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
8365 10001
8366 pushFollow(FOLLOW_49); 10002 pushFollow(FOLLOW_57);
8367 ruleQualifiedName(); 10003 ruleQualifiedName();
8368 10004
8369 state._fsp--; 10005 state._fsp--;
@@ -8377,15 +10013,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8377 10013
8378 } 10014 }
8379 10015
8380 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 10016 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8381 10017
8382 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 10018 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8383 10019
8384 // InternalSolverLanguageParser.g:3268:5: ( (lv_lowerBound_6_0= RULE_INT ) ) 10020 // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) )
8385 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10021 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8386 { 10022 {
8387 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10023 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8388 // InternalSolverLanguageParser.g:3270:7: lv_lowerBound_6_0= RULE_INT 10024 // InternalSolverLanguageParser.g:3969:7: lv_lowerBound_6_0= RULE_INT
8389 { 10025 {
8390 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); 10026 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2);
8391 10027
@@ -8439,7 +10075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8439 10075
8440 10076
8441 // $ANTLR start "entryRuleObjectiveDefinition" 10077 // $ANTLR start "entryRuleObjectiveDefinition"
8442 // InternalSolverLanguageParser.g:3292:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; 10078 // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ;
8443 public final EObject entryRuleObjectiveDefinition() throws RecognitionException { 10079 public final EObject entryRuleObjectiveDefinition() throws RecognitionException {
8444 EObject current = null; 10080 EObject current = null;
8445 10081
@@ -8447,8 +10083,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8447 10083
8448 10084
8449 try { 10085 try {
8450 // InternalSolverLanguageParser.g:3292:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) 10086 // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF )
8451 // InternalSolverLanguageParser.g:3293:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF 10087 // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF
8452 { 10088 {
8453 newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); 10089 newCompositeNode(grammarAccess.getObjectiveDefinitionRule());
8454 pushFollow(FOLLOW_1); 10090 pushFollow(FOLLOW_1);
@@ -8475,7 +10111,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8475 10111
8476 10112
8477 // $ANTLR start "ruleObjectiveDefinition" 10113 // $ANTLR start "ruleObjectiveDefinition"
8478 // InternalSolverLanguageParser.g:3299:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; 10114 // InternalSolverLanguageParser.g:3998:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ;
8479 public final EObject ruleObjectiveDefinition() throws RecognitionException { 10115 public final EObject ruleObjectiveDefinition() throws RecognitionException {
8480 EObject current = null; 10116 EObject current = null;
8481 10117
@@ -8488,17 +10124,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8488 enterRule(); 10124 enterRule();
8489 10125
8490 try { 10126 try {
8491 // InternalSolverLanguageParser.g:3305:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) 10127 // InternalSolverLanguageParser.g:4004:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) )
8492 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10128 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8493 { 10129 {
8494 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10130 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8495 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) 10131 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) )
8496 { 10132 {
8497 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) 10133 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) )
8498 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10134 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8499 { 10135 {
8500 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10136 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8501 // InternalSolverLanguageParser.g:3309:5: lv_kind_0_0= ruleObjectiveKind 10137 // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind
8502 { 10138 {
8503 10139
8504 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 10140 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
@@ -8525,11 +10161,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8525 10161
8526 } 10162 }
8527 10163
8528 // InternalSolverLanguageParser.g:3326:3: ( (lv_objective_1_0= ruleExpression ) ) 10164 // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) )
8529 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10165 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8530 { 10166 {
8531 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10167 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8532 // InternalSolverLanguageParser.g:3328:5: lv_objective_1_0= ruleExpression 10168 // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression
8533 { 10169 {
8534 10170
8535 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 10171 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
@@ -8579,7 +10215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8579 10215
8580 10216
8581 // $ANTLR start "entryRuleUpperMultiplicty" 10217 // $ANTLR start "entryRuleUpperMultiplicty"
8582 // InternalSolverLanguageParser.g:3349:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; 10218 // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ;
8583 public final String entryRuleUpperMultiplicty() throws RecognitionException { 10219 public final String entryRuleUpperMultiplicty() throws RecognitionException {
8584 String current = null; 10220 String current = null;
8585 10221
@@ -8587,8 +10223,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8587 10223
8588 10224
8589 try { 10225 try {
8590 // InternalSolverLanguageParser.g:3349:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) 10226 // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF )
8591 // InternalSolverLanguageParser.g:3350:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF 10227 // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF
8592 { 10228 {
8593 newCompositeNode(grammarAccess.getUpperMultiplictyRule()); 10229 newCompositeNode(grammarAccess.getUpperMultiplictyRule());
8594 pushFollow(FOLLOW_1); 10230 pushFollow(FOLLOW_1);
@@ -8615,7 +10251,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8615 10251
8616 10252
8617 // $ANTLR start "ruleUpperMultiplicty" 10253 // $ANTLR start "ruleUpperMultiplicty"
8618 // InternalSolverLanguageParser.g:3356:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; 10254 // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ;
8619 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { 10255 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException {
8620 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10256 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8621 10257
@@ -8626,28 +10262,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8626 enterRule(); 10262 enterRule();
8627 10263
8628 try { 10264 try {
8629 // InternalSolverLanguageParser.g:3362:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) 10265 // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) )
8630 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10266 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8631 { 10267 {
8632 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10268 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8633 int alt40=2; 10269 int alt49=2;
8634 int LA40_0 = input.LA(1); 10270 int LA49_0 = input.LA(1);
8635 10271
8636 if ( (LA40_0==RULE_INT) ) { 10272 if ( (LA49_0==RULE_INT) ) {
8637 alt40=1; 10273 alt49=1;
8638 } 10274 }
8639 else if ( (LA40_0==Asterisk) ) { 10275 else if ( (LA49_0==Asterisk) ) {
8640 alt40=2; 10276 alt49=2;
8641 } 10277 }
8642 else { 10278 else {
8643 NoViableAltException nvae = 10279 NoViableAltException nvae =
8644 new NoViableAltException("", 40, 0, input); 10280 new NoViableAltException("", 49, 0, input);
8645 10281
8646 throw nvae; 10282 throw nvae;
8647 } 10283 }
8648 switch (alt40) { 10284 switch (alt49) {
8649 case 1 : 10285 case 1 :
8650 // InternalSolverLanguageParser.g:3364:3: this_INT_0= RULE_INT 10286 // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT
8651 { 10287 {
8652 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 10288 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
8653 10289
@@ -8660,7 +10296,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8660 } 10296 }
8661 break; 10297 break;
8662 case 2 : 10298 case 2 :
8663 // InternalSolverLanguageParser.g:3372:3: kw= Asterisk 10299 // InternalSolverLanguageParser.g:4071:3: kw= Asterisk
8664 { 10300 {
8665 kw=(Token)match(input,Asterisk,FOLLOW_2); 10301 kw=(Token)match(input,Asterisk,FOLLOW_2);
8666 10302
@@ -8693,7 +10329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8693 10329
8694 10330
8695 // $ANTLR start "entryRuleReal" 10331 // $ANTLR start "entryRuleReal"
8696 // InternalSolverLanguageParser.g:3381:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; 10332 // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
8697 public final String entryRuleReal() throws RecognitionException { 10333 public final String entryRuleReal() throws RecognitionException {
8698 String current = null; 10334 String current = null;
8699 10335
@@ -8704,8 +10340,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8704 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10340 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8705 10341
8706 try { 10342 try {
8707 // InternalSolverLanguageParser.g:3383:2: (iv_ruleReal= ruleReal EOF ) 10343 // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF )
8708 // InternalSolverLanguageParser.g:3384:2: iv_ruleReal= ruleReal EOF 10344 // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF
8709 { 10345 {
8710 newCompositeNode(grammarAccess.getRealRule()); 10346 newCompositeNode(grammarAccess.getRealRule());
8711 pushFollow(FOLLOW_1); 10347 pushFollow(FOLLOW_1);
@@ -8735,7 +10371,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8735 10371
8736 10372
8737 // $ANTLR start "ruleReal" 10373 // $ANTLR start "ruleReal"
8738 // InternalSolverLanguageParser.g:3393:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; 10374 // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ;
8739 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { 10375 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
8740 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10376 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8741 10377
@@ -8748,31 +10384,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8748 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10384 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8749 10385
8750 try { 10386 try {
8751 // InternalSolverLanguageParser.g:3400:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) 10387 // InternalSolverLanguageParser.g:4099:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) )
8752 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10388 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8753 { 10389 {
8754 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10390 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8755 // InternalSolverLanguageParser.g:3402:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? 10391 // InternalSolverLanguageParser.g:4101:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )?
8756 { 10392 {
8757 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_51); 10393 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59);
8758 10394
8759 current.merge(this_INT_0); 10395 current.merge(this_INT_0);
8760 10396
8761 10397
8762 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 10398 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
8763 10399
8764 // InternalSolverLanguageParser.g:3409:3: (kw= FullStop this_INT_2= RULE_INT )? 10400 // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )?
8765 int alt41=2; 10401 int alt50=2;
8766 int LA41_0 = input.LA(1); 10402 int LA50_0 = input.LA(1);
8767 10403
8768 if ( (LA41_0==FullStop) ) { 10404 if ( (LA50_0==FullStop) ) {
8769 alt41=1; 10405 alt50=1;
8770 } 10406 }
8771 switch (alt41) { 10407 switch (alt50) {
8772 case 1 : 10408 case 1 :
8773 // InternalSolverLanguageParser.g:3410:4: kw= FullStop this_INT_2= RULE_INT 10409 // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT
8774 { 10410 {
8775 kw=(Token)match(input,FullStop,FOLLOW_45); 10411 kw=(Token)match(input,FullStop,FOLLOW_53);
8776 10412
8777 current.merge(kw); 10413 current.merge(kw);
8778 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 10414 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0());
@@ -8816,7 +10452,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8816 10452
8817 10453
8818 // $ANTLR start "entryRuleQualifiedName" 10454 // $ANTLR start "entryRuleQualifiedName"
8819 // InternalSolverLanguageParser.g:3430:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 10455 // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
8820 public final String entryRuleQualifiedName() throws RecognitionException { 10456 public final String entryRuleQualifiedName() throws RecognitionException {
8821 String current = null; 10457 String current = null;
8822 10458
@@ -8827,8 +10463,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8827 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10463 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8828 10464
8829 try { 10465 try {
8830 // InternalSolverLanguageParser.g:3432:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 10466 // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
8831 // InternalSolverLanguageParser.g:3433:2: iv_ruleQualifiedName= ruleQualifiedName EOF 10467 // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF
8832 { 10468 {
8833 newCompositeNode(grammarAccess.getQualifiedNameRule()); 10469 newCompositeNode(grammarAccess.getQualifiedNameRule());
8834 pushFollow(FOLLOW_1); 10470 pushFollow(FOLLOW_1);
@@ -8858,7 +10494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8858 10494
8859 10495
8860 // $ANTLR start "ruleQualifiedName" 10496 // $ANTLR start "ruleQualifiedName"
8861 // InternalSolverLanguageParser.g:3442:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; 10497 // InternalSolverLanguageParser.g:4141:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ;
8862 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 10498 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
8863 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10499 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8864 10500
@@ -8872,60 +10508,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8872 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10508 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8873 10509
8874 try { 10510 try {
8875 // InternalSolverLanguageParser.g:3449:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) 10511 // InternalSolverLanguageParser.g:4148:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) )
8876 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10512 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8877 { 10513 {
8878 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10514 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8879 int alt43=2; 10515 int alt52=2;
8880 int LA43_0 = input.LA(1); 10516 int LA52_0 = input.LA(1);
8881 10517
8882 if ( (LA43_0==RULE_ID) ) { 10518 if ( (LA52_0==RULE_ID) ) {
8883 alt43=1; 10519 alt52=1;
8884 } 10520 }
8885 else if ( (LA43_0==RULE_QUOTED_ID) ) { 10521 else if ( (LA52_0==RULE_QUOTED_ID) ) {
8886 alt43=2; 10522 alt52=2;
8887 } 10523 }
8888 else { 10524 else {
8889 NoViableAltException nvae = 10525 NoViableAltException nvae =
8890 new NoViableAltException("", 43, 0, input); 10526 new NoViableAltException("", 52, 0, input);
8891 10527
8892 throw nvae; 10528 throw nvae;
8893 } 10529 }
8894 switch (alt43) { 10530 switch (alt52) {
8895 case 1 : 10531 case 1 :
8896 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10532 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8897 { 10533 {
8898 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10534 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8899 // InternalSolverLanguageParser.g:3452:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* 10535 // InternalSolverLanguageParser.g:4151:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )*
8900 { 10536 {
8901 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_51); 10537 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59);
8902 10538
8903 current.merge(this_ID_0); 10539 current.merge(this_ID_0);
8904 10540
8905 10541
8906 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 10542 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
8907 10543
8908 // InternalSolverLanguageParser.g:3459:4: (kw= FullStop this_ID_2= RULE_ID )* 10544 // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )*
8909 loop42: 10545 loop51:
8910 do { 10546 do {
8911 int alt42=2; 10547 int alt51=2;
8912 int LA42_0 = input.LA(1); 10548 int LA51_0 = input.LA(1);
8913 10549
8914 if ( (LA42_0==FullStop) ) { 10550 if ( (LA51_0==FullStop) ) {
8915 alt42=1; 10551 alt51=1;
8916 } 10552 }
8917 10553
8918 10554
8919 switch (alt42) { 10555 switch (alt51) {
8920 case 1 : 10556 case 1 :
8921 // InternalSolverLanguageParser.g:3460:5: kw= FullStop this_ID_2= RULE_ID 10557 // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID
8922 { 10558 {
8923 kw=(Token)match(input,FullStop,FOLLOW_38); 10559 kw=(Token)match(input,FullStop,FOLLOW_20);
8924 10560
8925 current.merge(kw); 10561 current.merge(kw);
8926 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 10562 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
8927 10563
8928 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_51); 10564 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59);
8929 10565
8930 current.merge(this_ID_2); 10566 current.merge(this_ID_2);
8931 10567
@@ -8937,7 +10573,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8937 break; 10573 break;
8938 10574
8939 default : 10575 default :
8940 break loop42; 10576 break loop51;
8941 } 10577 }
8942 } while (true); 10578 } while (true);
8943 10579
@@ -8948,7 +10584,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8948 } 10584 }
8949 break; 10585 break;
8950 case 2 : 10586 case 2 :
8951 // InternalSolverLanguageParser.g:3475:3: this_QUOTED_ID_3= RULE_QUOTED_ID 10587 // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID
8952 { 10588 {
8953 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 10589 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
8954 10590
@@ -8985,72 +10621,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8985 // $ANTLR end "ruleQualifiedName" 10621 // $ANTLR end "ruleQualifiedName"
8986 10622
8987 10623
8988 // $ANTLR start "ruleMetricType" 10624 // $ANTLR start "ruleImplicationOperator"
8989 // InternalSolverLanguageParser.g:3489:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ; 10625 // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ;
8990 public final Enumerator ruleMetricType() throws RecognitionException { 10626 public final Enumerator ruleImplicationOperator() throws RecognitionException {
8991 Enumerator current = null; 10627 Enumerator current = null;
8992 10628
8993 Token enumLiteral_0=null; 10629 Token enumLiteral_0=null;
8994 Token enumLiteral_1=null;
8995 10630
8996 10631
8997 enterRule(); 10632 enterRule();
8998 10633
8999 try { 10634 try {
9000 // InternalSolverLanguageParser.g:3495:2: ( ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ) 10635 // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) )
9001 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10636 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9002 { 10637 {
9003 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10638 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9004 int alt44=2; 10639 // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign
9005 int LA44_0 = input.LA(1); 10640 {
9006 10641 enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2);
9007 if ( (LA44_0==Int) ) {
9008 alt44=1;
9009 }
9010 else if ( (LA44_0==Real) ) {
9011 alt44=2;
9012 }
9013 else {
9014 NoViableAltException nvae =
9015 new NoViableAltException("", 44, 0, input);
9016
9017 throw nvae;
9018 }
9019 switch (alt44) {
9020 case 1 :
9021 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9022 {
9023 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9024 // InternalSolverLanguageParser.g:3498:4: enumLiteral_0= Int
9025 {
9026 enumLiteral_0=(Token)match(input,Int,FOLLOW_2);
9027
9028 current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9029 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
9030
9031
9032 }
9033
9034
9035 }
9036 break;
9037 case 2 :
9038 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9039 {
9040 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9041 // InternalSolverLanguageParser.g:3506:4: enumLiteral_1= Real
9042 {
9043 enumLiteral_1=(Token)match(input,Real,FOLLOW_2);
9044
9045 current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9046 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
9047
9048
9049 }
9050
9051 10642
9052 } 10643 current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
9053 break; 10644 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
10645
9054 10646
9055 } 10647 }
9056 10648
@@ -9070,11 +10662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9070 } 10662 }
9071 return current; 10663 return current;
9072 } 10664 }
9073 // $ANTLR end "ruleMetricType" 10665 // $ANTLR end "ruleImplicationOperator"
9074 10666
9075 10667
9076 // $ANTLR start "ruleComparisonOperator" 10668 // $ANTLR start "ruleComparisonOperator"
9077 // InternalSolverLanguageParser.g:3516:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ; 10669 // InternalSolverLanguageParser.g:4205:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ;
9078 public final Enumerator ruleComparisonOperator() throws RecognitionException { 10670 public final Enumerator ruleComparisonOperator() throws RecognitionException {
9079 Enumerator current = null; 10671 Enumerator current = null;
9080 10672
@@ -9090,60 +10682,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9090 enterRule(); 10682 enterRule();
9091 10683
9092 try { 10684 try {
9093 // InternalSolverLanguageParser.g:3522:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) 10685 // InternalSolverLanguageParser.g:4211:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) )
9094 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10686 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9095 { 10687 {
9096 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10688 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9097 int alt45=7; 10689 int alt53=7;
9098 switch ( input.LA(1) ) { 10690 switch ( input.LA(1) ) {
9099 case EqualsSignEqualsSign: 10691 case EqualsSignEqualsSign:
9100 { 10692 {
9101 alt45=1; 10693 alt53=1;
9102 } 10694 }
9103 break; 10695 break;
9104 case ExclamationMarkEqualsSign: 10696 case ExclamationMarkEqualsSign:
9105 { 10697 {
9106 alt45=2; 10698 alt53=2;
9107 } 10699 }
9108 break; 10700 break;
9109 case LessThanSign: 10701 case LessThanSign:
9110 { 10702 {
9111 alt45=3; 10703 alt53=3;
9112 } 10704 }
9113 break; 10705 break;
9114 case LessThanSignEqualsSign: 10706 case LessThanSignEqualsSign:
9115 { 10707 {
9116 alt45=4; 10708 alt53=4;
9117 } 10709 }
9118 break; 10710 break;
9119 case GreaterThanSign: 10711 case GreaterThanSign:
9120 { 10712 {
9121 alt45=5; 10713 alt53=5;
9122 } 10714 }
9123 break; 10715 break;
9124 case GreaterThanSignEqualsSign: 10716 case GreaterThanSignEqualsSign:
9125 { 10717 {
9126 alt45=6; 10718 alt53=6;
9127 } 10719 }
9128 break; 10720 break;
9129 case In: 10721 case In:
9130 { 10722 {
9131 alt45=7; 10723 alt53=7;
9132 } 10724 }
9133 break; 10725 break;
9134 default: 10726 default:
9135 NoViableAltException nvae = 10727 NoViableAltException nvae =
9136 new NoViableAltException("", 45, 0, input); 10728 new NoViableAltException("", 53, 0, input);
9137 10729
9138 throw nvae; 10730 throw nvae;
9139 } 10731 }
9140 10732
9141 switch (alt45) { 10733 switch (alt53) {
9142 case 1 : 10734 case 1 :
9143 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10735 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9144 { 10736 {
9145 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10737 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9146 // InternalSolverLanguageParser.g:3525:4: enumLiteral_0= EqualsSignEqualsSign 10738 // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign
9147 { 10739 {
9148 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); 10740 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2);
9149 10741
@@ -9157,10 +10749,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9157 } 10749 }
9158 break; 10750 break;
9159 case 2 : 10751 case 2 :
9160 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10752 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9161 { 10753 {
9162 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10754 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9163 // InternalSolverLanguageParser.g:3533:4: enumLiteral_1= ExclamationMarkEqualsSign 10755 // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign
9164 { 10756 {
9165 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); 10757 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2);
9166 10758
@@ -9174,10 +10766,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9174 } 10766 }
9175 break; 10767 break;
9176 case 3 : 10768 case 3 :
9177 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10769 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9178 { 10770 {
9179 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10771 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9180 // InternalSolverLanguageParser.g:3541:4: enumLiteral_2= LessThanSign 10772 // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign
9181 { 10773 {
9182 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); 10774 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2);
9183 10775
@@ -9191,10 +10783,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9191 } 10783 }
9192 break; 10784 break;
9193 case 4 : 10785 case 4 :
9194 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10786 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9195 { 10787 {
9196 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10788 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9197 // InternalSolverLanguageParser.g:3549:4: enumLiteral_3= LessThanSignEqualsSign 10789 // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign
9198 { 10790 {
9199 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); 10791 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2);
9200 10792
@@ -9208,10 +10800,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9208 } 10800 }
9209 break; 10801 break;
9210 case 5 : 10802 case 5 :
9211 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10803 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9212 { 10804 {
9213 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10805 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9214 // InternalSolverLanguageParser.g:3557:4: enumLiteral_4= GreaterThanSign 10806 // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign
9215 { 10807 {
9216 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); 10808 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2);
9217 10809
@@ -9225,10 +10817,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9225 } 10817 }
9226 break; 10818 break;
9227 case 6 : 10819 case 6 :
9228 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10820 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9229 { 10821 {
9230 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10822 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9231 // InternalSolverLanguageParser.g:3565:4: enumLiteral_5= GreaterThanSignEqualsSign 10823 // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign
9232 { 10824 {
9233 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); 10825 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2);
9234 10826
@@ -9242,10 +10834,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9242 } 10834 }
9243 break; 10835 break;
9244 case 7 : 10836 case 7 :
9245 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10837 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9246 { 10838 {
9247 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10839 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9248 // InternalSolverLanguageParser.g:3573:4: enumLiteral_6= In 10840 // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In
9249 { 10841 {
9250 enumLiteral_6=(Token)match(input,In,FOLLOW_2); 10842 enumLiteral_6=(Token)match(input,In,FOLLOW_2);
9251 10843
@@ -9281,7 +10873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9281 10873
9282 10874
9283 // $ANTLR start "ruleAdditiveBinaryOperator" 10875 // $ANTLR start "ruleAdditiveBinaryOperator"
9284 // InternalSolverLanguageParser.g:3583:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; 10876 // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ;
9285 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { 10877 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException {
9286 Enumerator current = null; 10878 Enumerator current = null;
9287 10879
@@ -9292,31 +10884,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9292 enterRule(); 10884 enterRule();
9293 10885
9294 try { 10886 try {
9295 // InternalSolverLanguageParser.g:3589:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) 10887 // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) )
9296 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10888 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9297 { 10889 {
9298 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10890 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9299 int alt46=2; 10891 int alt54=2;
9300 int LA46_0 = input.LA(1); 10892 int LA54_0 = input.LA(1);
9301 10893
9302 if ( (LA46_0==PlusSign) ) { 10894 if ( (LA54_0==PlusSign) ) {
9303 alt46=1; 10895 alt54=1;
9304 } 10896 }
9305 else if ( (LA46_0==HyphenMinus) ) { 10897 else if ( (LA54_0==HyphenMinus) ) {
9306 alt46=2; 10898 alt54=2;
9307 } 10899 }
9308 else { 10900 else {
9309 NoViableAltException nvae = 10901 NoViableAltException nvae =
9310 new NoViableAltException("", 46, 0, input); 10902 new NoViableAltException("", 54, 0, input);
9311 10903
9312 throw nvae; 10904 throw nvae;
9313 } 10905 }
9314 switch (alt46) { 10906 switch (alt54) {
9315 case 1 : 10907 case 1 :
9316 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10908 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9317 { 10909 {
9318 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10910 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9319 // InternalSolverLanguageParser.g:3592:4: enumLiteral_0= PlusSign 10911 // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign
9320 { 10912 {
9321 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); 10913 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2);
9322 10914
@@ -9330,10 +10922,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9330 } 10922 }
9331 break; 10923 break;
9332 case 2 : 10924 case 2 :
9333 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10925 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9334 { 10926 {
9335 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10927 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9336 // InternalSolverLanguageParser.g:3600:4: enumLiteral_1= HyphenMinus 10928 // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus
9337 { 10929 {
9338 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); 10930 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2);
9339 10931
@@ -9369,7 +10961,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9369 10961
9370 10962
9371 // $ANTLR start "ruleMultiplicativeBinaryOperator" 10963 // $ANTLR start "ruleMultiplicativeBinaryOperator"
9372 // InternalSolverLanguageParser.g:3610:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; 10964 // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ;
9373 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { 10965 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException {
9374 Enumerator current = null; 10966 Enumerator current = null;
9375 10967
@@ -9380,31 +10972,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9380 enterRule(); 10972 enterRule();
9381 10973
9382 try { 10974 try {
9383 // InternalSolverLanguageParser.g:3616:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) 10975 // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) )
9384 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10976 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9385 { 10977 {
9386 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10978 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9387 int alt47=2; 10979 int alt55=2;
9388 int LA47_0 = input.LA(1); 10980 int LA55_0 = input.LA(1);
9389 10981
9390 if ( (LA47_0==Asterisk) ) { 10982 if ( (LA55_0==Asterisk) ) {
9391 alt47=1; 10983 alt55=1;
9392 } 10984 }
9393 else if ( (LA47_0==Solidus) ) { 10985 else if ( (LA55_0==Solidus) ) {
9394 alt47=2; 10986 alt55=2;
9395 } 10987 }
9396 else { 10988 else {
9397 NoViableAltException nvae = 10989 NoViableAltException nvae =
9398 new NoViableAltException("", 47, 0, input); 10990 new NoViableAltException("", 55, 0, input);
9399 10991
9400 throw nvae; 10992 throw nvae;
9401 } 10993 }
9402 switch (alt47) { 10994 switch (alt55) {
9403 case 1 : 10995 case 1 :
9404 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10996 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9405 { 10997 {
9406 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10998 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9407 // InternalSolverLanguageParser.g:3619:4: enumLiteral_0= Asterisk 10999 // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk
9408 { 11000 {
9409 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); 11001 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2);
9410 11002
@@ -9418,10 +11010,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9418 } 11010 }
9419 break; 11011 break;
9420 case 2 : 11012 case 2 :
9421 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11013 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9422 { 11014 {
9423 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11015 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9424 // InternalSolverLanguageParser.g:3627:4: enumLiteral_1= Solidus 11016 // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus
9425 { 11017 {
9426 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); 11018 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2);
9427 11019
@@ -9457,7 +11049,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9457 11049
9458 11050
9459 // $ANTLR start "ruleExponentialOp" 11051 // $ANTLR start "ruleExponentialOp"
9460 // InternalSolverLanguageParser.g:3637:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; 11052 // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ;
9461 public final Enumerator ruleExponentialOp() throws RecognitionException { 11053 public final Enumerator ruleExponentialOp() throws RecognitionException {
9462 Enumerator current = null; 11054 Enumerator current = null;
9463 11055
@@ -9467,11 +11059,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9467 enterRule(); 11059 enterRule();
9468 11060
9469 try { 11061 try {
9470 // InternalSolverLanguageParser.g:3643:2: ( (enumLiteral_0= CircumflexAccent ) ) 11062 // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) )
9471 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11063 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9472 { 11064 {
9473 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11065 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9474 // InternalSolverLanguageParser.g:3645:3: enumLiteral_0= CircumflexAccent 11066 // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent
9475 { 11067 {
9476 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); 11068 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2);
9477 11069
@@ -9501,7 +11093,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9501 11093
9502 11094
9503 // $ANTLR start "ruleUnaryOp" 11095 // $ANTLR start "ruleUnaryOp"
9504 // InternalSolverLanguageParser.g:3654:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ; 11096 // InternalSolverLanguageParser.g:4343:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ;
9505 public final Enumerator ruleUnaryOp() throws RecognitionException { 11097 public final Enumerator ruleUnaryOp() throws RecognitionException {
9506 Enumerator current = null; 11098 Enumerator current = null;
9507 11099
@@ -9516,55 +11108,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9516 enterRule(); 11108 enterRule();
9517 11109
9518 try { 11110 try {
9519 // InternalSolverLanguageParser.g:3660:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) 11111 // InternalSolverLanguageParser.g:4349:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) )
9520 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11112 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9521 { 11113 {
9522 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11114 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9523 int alt48=6; 11115 int alt56=6;
9524 switch ( input.LA(1) ) { 11116 switch ( input.LA(1) ) {
9525 case ExclamationMark: 11117 case ExclamationMark:
9526 { 11118 {
9527 alt48=1; 11119 alt56=1;
9528 } 11120 }
9529 break; 11121 break;
9530 case PlusSign: 11122 case PlusSign:
9531 { 11123 {
9532 alt48=2; 11124 alt56=2;
9533 } 11125 }
9534 break; 11126 break;
9535 case HyphenMinus: 11127 case HyphenMinus:
9536 { 11128 {
9537 alt48=3; 11129 alt56=3;
9538 } 11130 }
9539 break; 11131 break;
9540 case May: 11132 case May:
9541 { 11133 {
9542 alt48=4; 11134 alt56=4;
9543 } 11135 }
9544 break; 11136 break;
9545 case Must: 11137 case Must:
9546 { 11138 {
9547 alt48=5; 11139 alt56=5;
9548 } 11140 }
9549 break; 11141 break;
9550 case Current: 11142 case Current:
9551 { 11143 {
9552 alt48=6; 11144 alt56=6;
9553 } 11145 }
9554 break; 11146 break;
9555 default: 11147 default:
9556 NoViableAltException nvae = 11148 NoViableAltException nvae =
9557 new NoViableAltException("", 48, 0, input); 11149 new NoViableAltException("", 56, 0, input);
9558 11150
9559 throw nvae; 11151 throw nvae;
9560 } 11152 }
9561 11153
9562 switch (alt48) { 11154 switch (alt56) {
9563 case 1 : 11155 case 1 :
9564 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11156 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9565 { 11157 {
9566 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11158 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9567 // InternalSolverLanguageParser.g:3663:4: enumLiteral_0= ExclamationMark 11159 // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark
9568 { 11160 {
9569 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); 11161 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2);
9570 11162
@@ -9578,10 +11170,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9578 } 11170 }
9579 break; 11171 break;
9580 case 2 : 11172 case 2 :
9581 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11173 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9582 { 11174 {
9583 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11175 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9584 // InternalSolverLanguageParser.g:3671:4: enumLiteral_1= PlusSign 11176 // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign
9585 { 11177 {
9586 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); 11178 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2);
9587 11179
@@ -9595,10 +11187,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9595 } 11187 }
9596 break; 11188 break;
9597 case 3 : 11189 case 3 :
9598 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11190 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9599 { 11191 {
9600 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11192 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9601 // InternalSolverLanguageParser.g:3679:4: enumLiteral_2= HyphenMinus 11193 // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus
9602 { 11194 {
9603 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); 11195 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2);
9604 11196
@@ -9612,10 +11204,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9612 } 11204 }
9613 break; 11205 break;
9614 case 4 : 11206 case 4 :
9615 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11207 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9616 { 11208 {
9617 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11209 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9618 // InternalSolverLanguageParser.g:3687:4: enumLiteral_3= May 11210 // InternalSolverLanguageParser.g:4376:4: enumLiteral_3= May
9619 { 11211 {
9620 enumLiteral_3=(Token)match(input,May,FOLLOW_2); 11212 enumLiteral_3=(Token)match(input,May,FOLLOW_2);
9621 11213
@@ -9629,10 +11221,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9629 } 11221 }
9630 break; 11222 break;
9631 case 5 : 11223 case 5 :
9632 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11224 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9633 { 11225 {
9634 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11226 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9635 // InternalSolverLanguageParser.g:3695:4: enumLiteral_4= Must 11227 // InternalSolverLanguageParser.g:4384:4: enumLiteral_4= Must
9636 { 11228 {
9637 enumLiteral_4=(Token)match(input,Must,FOLLOW_2); 11229 enumLiteral_4=(Token)match(input,Must,FOLLOW_2);
9638 11230
@@ -9646,10 +11238,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9646 } 11238 }
9647 break; 11239 break;
9648 case 6 : 11240 case 6 :
9649 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11241 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9650 { 11242 {
9651 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11243 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9652 // InternalSolverLanguageParser.g:3703:4: enumLiteral_5= Current 11244 // InternalSolverLanguageParser.g:4392:4: enumLiteral_5= Current
9653 { 11245 {
9654 enumLiteral_5=(Token)match(input,Current,FOLLOW_2); 11246 enumLiteral_5=(Token)match(input,Current,FOLLOW_2);
9655 11247
@@ -9684,76 +11276,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9684 // $ANTLR end "ruleUnaryOp" 11276 // $ANTLR end "ruleUnaryOp"
9685 11277
9686 11278
9687 // $ANTLR start "ruleAggregationOp" 11279 // $ANTLR start "ruleQuantifier"
9688 // InternalSolverLanguageParser.g:3713:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ; 11280 // InternalSolverLanguageParser.g:4402:1: ruleQuantifier returns [Enumerator current=null] : ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ;
9689 public final Enumerator ruleAggregationOp() throws RecognitionException { 11281 public final Enumerator ruleQuantifier() throws RecognitionException {
9690 Enumerator current = null; 11282 Enumerator current = null;
9691 11283
9692 Token enumLiteral_0=null; 11284 Token enumLiteral_0=null;
9693 Token enumLiteral_1=null; 11285 Token enumLiteral_1=null;
9694 Token enumLiteral_2=null; 11286 Token enumLiteral_2=null;
9695 Token enumLiteral_3=null;
9696 Token enumLiteral_4=null;
9697 Token enumLiteral_5=null;
9698 11287
9699 11288
9700 enterRule(); 11289 enterRule();
9701 11290
9702 try { 11291 try {
9703 // InternalSolverLanguageParser.g:3719:2: ( ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ) 11292 // InternalSolverLanguageParser.g:4408:2: ( ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) )
9704 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11293 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9705 { 11294 {
9706 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11295 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9707 int alt49=6; 11296 int alt57=3;
9708 switch ( input.LA(1) ) { 11297 switch ( input.LA(1) ) {
9709 case Only: 11298 case Exists:
9710 {
9711 alt49=1;
9712 }
9713 break;
9714 case Sum:
9715 { 11299 {
9716 alt49=2; 11300 alt57=1;
9717 }
9718 break;
9719 case Prod:
9720 {
9721 alt49=3;
9722 }
9723 break;
9724 case Avg:
9725 {
9726 alt49=4;
9727 } 11301 }
9728 break; 11302 break;
9729 case Min: 11303 case Forall:
9730 { 11304 {
9731 alt49=5; 11305 alt57=2;
9732 } 11306 }
9733 break; 11307 break;
9734 case Max: 11308 case Count:
9735 { 11309 {
9736 alt49=6; 11310 alt57=3;
9737 } 11311 }
9738 break; 11312 break;
9739 default: 11313 default:
9740 NoViableAltException nvae = 11314 NoViableAltException nvae =
9741 new NoViableAltException("", 49, 0, input); 11315 new NoViableAltException("", 57, 0, input);
9742 11316
9743 throw nvae; 11317 throw nvae;
9744 } 11318 }
9745 11319
9746 switch (alt49) { 11320 switch (alt57) {
9747 case 1 : 11321 case 1 :
9748 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11322 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9749 { 11323 {
9750 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11324 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9751 // InternalSolverLanguageParser.g:3722:4: enumLiteral_0= Only 11325 // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists
9752 { 11326 {
9753 enumLiteral_0=(Token)match(input,Only,FOLLOW_2); 11327 enumLiteral_0=(Token)match(input,Exists,FOLLOW_2);
9754 11328
9755 current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 11329 current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9756 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); 11330 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
9757 11331
9758 11332
9759 } 11333 }
@@ -9762,15 +11336,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9762 } 11336 }
9763 break; 11337 break;
9764 case 2 : 11338 case 2 :
9765 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11339 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9766 { 11340 {
9767 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11341 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9768 // InternalSolverLanguageParser.g:3730:4: enumLiteral_1= Sum 11342 // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall
9769 { 11343 {
9770 enumLiteral_1=(Token)match(input,Sum,FOLLOW_2); 11344 enumLiteral_1=(Token)match(input,Forall,FOLLOW_2);
9771 11345
9772 current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 11346 current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9773 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); 11347 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
9774 11348
9775 11349
9776 } 11350 }
@@ -9779,66 +11353,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9779 } 11353 }
9780 break; 11354 break;
9781 case 3 : 11355 case 3 :
9782 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) 11356 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9783 {
9784 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod )
9785 // InternalSolverLanguageParser.g:3738:4: enumLiteral_2= Prod
9786 {
9787 enumLiteral_2=(Token)match(input,Prod,FOLLOW_2);
9788
9789 current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9790 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
9791
9792
9793 }
9794
9795
9796 }
9797 break;
9798 case 4 :
9799 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg )
9800 { 11357 {
9801 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) 11358 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9802 // InternalSolverLanguageParser.g:3746:4: enumLiteral_3= Avg 11359 // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count
9803 { 11360 {
9804 enumLiteral_3=(Token)match(input,Avg,FOLLOW_2); 11361 enumLiteral_2=(Token)match(input,Count,FOLLOW_2);
9805 11362
9806 current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 11363 current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9807 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 11364 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
9808
9809
9810 }
9811
9812
9813 }
9814 break;
9815 case 5 :
9816 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9817 {
9818 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9819 // InternalSolverLanguageParser.g:3754:4: enumLiteral_4= Min
9820 {
9821 enumLiteral_4=(Token)match(input,Min,FOLLOW_2);
9822
9823 current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
9824 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
9825
9826
9827 }
9828
9829
9830 }
9831 break;
9832 case 6 :
9833 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9834 {
9835 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9836 // InternalSolverLanguageParser.g:3762:4: enumLiteral_5= Max
9837 {
9838 enumLiteral_5=(Token)match(input,Max,FOLLOW_2);
9839
9840 current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
9841 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
9842 11365
9843 11366
9844 } 11367 }
@@ -9865,11 +11388,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9865 } 11388 }
9866 return current; 11389 return current;
9867 } 11390 }
9868 // $ANTLR end "ruleAggregationOp" 11391 // $ANTLR end "ruleQuantifier"
9869 11392
9870 11393
9871 // $ANTLR start "ruleLogicValue" 11394 // $ANTLR start "ruleLogicValue"
9872 // InternalSolverLanguageParser.g:3772:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; 11395 // InternalSolverLanguageParser.g:4437:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ;
9873 public final Enumerator ruleLogicValue() throws RecognitionException { 11396 public final Enumerator ruleLogicValue() throws RecognitionException {
9874 Enumerator current = null; 11397 Enumerator current = null;
9875 11398
@@ -9882,45 +11405,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9882 enterRule(); 11405 enterRule();
9883 11406
9884 try { 11407 try {
9885 // InternalSolverLanguageParser.g:3778:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) 11408 // InternalSolverLanguageParser.g:4443:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) )
9886 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11409 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9887 { 11410 {
9888 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11411 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9889 int alt50=4; 11412 int alt58=4;
9890 switch ( input.LA(1) ) { 11413 switch ( input.LA(1) ) {
9891 case True: 11414 case True:
9892 { 11415 {
9893 alt50=1; 11416 alt58=1;
9894 } 11417 }
9895 break; 11418 break;
9896 case False: 11419 case False:
9897 { 11420 {
9898 alt50=2; 11421 alt58=2;
9899 } 11422 }
9900 break; 11423 break;
9901 case Unknown: 11424 case Unknown:
9902 { 11425 {
9903 alt50=3; 11426 alt58=3;
9904 } 11427 }
9905 break; 11428 break;
9906 case Error: 11429 case Error:
9907 { 11430 {
9908 alt50=4; 11431 alt58=4;
9909 } 11432 }
9910 break; 11433 break;
9911 default: 11434 default:
9912 NoViableAltException nvae = 11435 NoViableAltException nvae =
9913 new NoViableAltException("", 50, 0, input); 11436 new NoViableAltException("", 58, 0, input);
9914 11437
9915 throw nvae; 11438 throw nvae;
9916 } 11439 }
9917 11440
9918 switch (alt50) { 11441 switch (alt58) {
9919 case 1 : 11442 case 1 :
9920 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11443 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9921 { 11444 {
9922 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11445 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9923 // InternalSolverLanguageParser.g:3781:4: enumLiteral_0= True 11446 // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True
9924 { 11447 {
9925 enumLiteral_0=(Token)match(input,True,FOLLOW_2); 11448 enumLiteral_0=(Token)match(input,True,FOLLOW_2);
9926 11449
@@ -9934,10 +11457,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9934 } 11457 }
9935 break; 11458 break;
9936 case 2 : 11459 case 2 :
9937 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11460 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9938 { 11461 {
9939 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11462 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9940 // InternalSolverLanguageParser.g:3789:4: enumLiteral_1= False 11463 // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False
9941 { 11464 {
9942 enumLiteral_1=(Token)match(input,False,FOLLOW_2); 11465 enumLiteral_1=(Token)match(input,False,FOLLOW_2);
9943 11466
@@ -9951,10 +11474,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9951 } 11474 }
9952 break; 11475 break;
9953 case 3 : 11476 case 3 :
9954 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11477 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9955 { 11478 {
9956 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11479 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9957 // InternalSolverLanguageParser.g:3797:4: enumLiteral_2= Unknown 11480 // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown
9958 { 11481 {
9959 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); 11482 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2);
9960 11483
@@ -9968,10 +11491,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9968 } 11491 }
9969 break; 11492 break;
9970 case 4 : 11493 case 4 :
9971 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11494 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9972 { 11495 {
9973 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11496 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9974 // InternalSolverLanguageParser.g:3805:4: enumLiteral_3= Error 11497 // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error
9975 { 11498 {
9976 enumLiteral_3=(Token)match(input,Error,FOLLOW_2); 11499 enumLiteral_3=(Token)match(input,Error,FOLLOW_2);
9977 11500
@@ -10007,7 +11530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10007 11530
10008 11531
10009 // $ANTLR start "ruleObjectiveKind" 11532 // $ANTLR start "ruleObjectiveKind"
10010 // InternalSolverLanguageParser.g:3815:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; 11533 // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ;
10011 public final Enumerator ruleObjectiveKind() throws RecognitionException { 11534 public final Enumerator ruleObjectiveKind() throws RecognitionException {
10012 Enumerator current = null; 11535 Enumerator current = null;
10013 11536
@@ -10018,31 +11541,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10018 enterRule(); 11541 enterRule();
10019 11542
10020 try { 11543 try {
10021 // InternalSolverLanguageParser.g:3821:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) 11544 // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) )
10022 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11545 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10023 { 11546 {
10024 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11547 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10025 int alt51=2; 11548 int alt59=2;
10026 int LA51_0 = input.LA(1); 11549 int LA59_0 = input.LA(1);
10027 11550
10028 if ( (LA51_0==Minimize) ) { 11551 if ( (LA59_0==Minimize) ) {
10029 alt51=1; 11552 alt59=1;
10030 } 11553 }
10031 else if ( (LA51_0==Maximize) ) { 11554 else if ( (LA59_0==Maximize) ) {
10032 alt51=2; 11555 alt59=2;
10033 } 11556 }
10034 else { 11557 else {
10035 NoViableAltException nvae = 11558 NoViableAltException nvae =
10036 new NoViableAltException("", 51, 0, input); 11559 new NoViableAltException("", 59, 0, input);
10037 11560
10038 throw nvae; 11561 throw nvae;
10039 } 11562 }
10040 switch (alt51) { 11563 switch (alt59) {
10041 case 1 : 11564 case 1 :
10042 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11565 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10043 { 11566 {
10044 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11567 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10045 // InternalSolverLanguageParser.g:3824:4: enumLiteral_0= Minimize 11568 // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize
10046 { 11569 {
10047 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); 11570 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2);
10048 11571
@@ -10056,10 +11579,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10056 } 11579 }
10057 break; 11580 break;
10058 case 2 : 11581 case 2 :
10059 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11582 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10060 { 11583 {
10061 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11584 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10062 // InternalSolverLanguageParser.g:3832:4: enumLiteral_1= Maximize 11585 // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize
10063 { 11586 {
10064 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); 11587 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2);
10065 11588
@@ -10097,28 +11620,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10097 11620
10098 11621
10099 protected DFA2 dfa2 = new DFA2(this); 11622 protected DFA2 dfa2 = new DFA2(this);
10100 protected DFA20 dfa20 = new DFA20(this); 11623 protected DFA23 dfa23 = new DFA23(this);
10101 protected DFA24 dfa24 = new DFA24(this); 11624 protected DFA29 dfa29 = new DFA29(this);
10102 protected DFA35 dfa35 = new DFA35(this); 11625 protected DFA33 dfa33 = new DFA33(this);
10103 static final String dfa_1s = "\15\uffff"; 11626 protected DFA44 dfa44 = new DFA44(this);
10104 static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; 11627 static final String dfa_1s = "\33\uffff";
10105 static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\7\uffff"; 11628 static final String dfa_2s = "\1\4\1\uffff\2\40\1\4\2\uffff\1\7\3\uffff\1\105\2\uffff\2\54\1\uffff\1\40\1\105\2\54\1\uffff\1\54\1\105\2\uffff\1\54";
10106 static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\2\1\4\1\uffff\1\6\1\10\1\11\1\12\1\3\1\5\1\7"; 11629 static final String dfa_3s = "\1\106\1\uffff\3\105\2\uffff\1\105\3\uffff\1\105\2\uffff\2\105\1\uffff\2\105\2\74\1\uffff\2\105\2\uffff\1\74";
10107 static final String dfa_5s = "\15\uffff}>"; 11630 static final String dfa_4s = "\1\uffff\1\1\3\uffff\1\2\1\4\1\uffff\1\12\1\13\1\14\1\uffff\1\5\1\3\2\uffff\1\11\4\uffff\1\6\2\uffff\1\7\1\10\1\uffff";
11631 static final String dfa_5s = "\33\uffff}>";
10108 static final String[] dfa_6s = { 11632 static final String[] dfa_6s = {
10109 "\1\3\1\7\1\uffff\2\11\3\uffff\1\1\1\4\1\uffff\1\1\1\uffff\1\5\1\7\2\1\1\2\1\1\1\10\2\uffff\3\1\1\6\1\uffff\1\1\5\uffff\2\1\1\6\4\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\2\1\4\uffff\2\1", 11633 "\1\5\1\10\2\uffff\2\12\1\uffff\1\1\1\6\1\uffff\2\1\1\7\1\1\1\10\2\1\1\4\1\1\1\11\1\uffff\1\1\1\uffff\1\1\1\uffff\3\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\3\4\uffff\1\2\1\1",
10110 "", 11634 "",
10111 "\1\3\47\uffff\2\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\12\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\3\3\uffff\1\1\1\3", 11635 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11636 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11637 "\1\5\33\uffff\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\15\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\5\3\uffff\1\1\1\5",
10112 "", 11638 "",
10113 "", 11639 "",
10114 "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", 11640 "\1\20\70\uffff\1\17\4\uffff\1\16",
10115 "", 11641 "",
10116 "", 11642 "",
10117 "", 11643 "",
11644 "\1\21",
10118 "", 11645 "",
10119 "", 11646 "",
11647 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11648 "\1\25\23\uffff\1\24\4\uffff\1\23",
10120 "", 11649 "",
10121 "" 11650 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11651 "\1\26",
11652 "\1\30\5\uffff\1\27\11\uffff\1\31",
11653 "\1\30\17\uffff\1\31",
11654 "",
11655 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11656 "\1\32",
11657 "",
11658 "",
11659 "\1\30\5\uffff\1\27\11\uffff\1\31"
10122 }; 11660 };
10123 11661
10124 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 11662 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -10142,26 +11680,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10142 this.transition = dfa_6; 11680 this.transition = dfa_6;
10143 } 11681 }
10144 public String getDescription() { 11682 public String getDescription() {
10145 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition )"; 11683 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )";
10146 } 11684 }
10147 } 11685 }
10148 static final String dfa_7s = "\12\uffff"; 11686 static final String dfa_7s = "\10\uffff";
10149 static final String dfa_8s = "\1\uffff\2\10\6\uffff\1\10"; 11687 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3";
10150 static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; 11688 static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30";
10151 static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; 11689 static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104";
10152 static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; 11690 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff";
10153 static final String dfa_12s = "\12\uffff}>"; 11691 static final String dfa_12s = "\10\uffff}>";
10154 static final String[] dfa_13s = { 11692 static final String[] dfa_13s = {
10155 "\1\4\4\uffff\3\4\10\uffff\1\4\6\uffff\1\4\21\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4", 11693 "\1\3\1\4\1\uffff\1\4\1\uffff\1\4\3\3\4\uffff\1\3\1\uffff\1\3\16\uffff\1\3\14\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
10156 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11694 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10157 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11695 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\uffff\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10158 "", 11696 "",
10159 "", 11697 "",
11698 "\1\7",
10160 "", 11699 "",
10161 "\1\11", 11700 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3"
10162 "",
10163 "",
10164 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10165 }; 11701 };
10166 11702
10167 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); 11703 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
@@ -10172,11 +11708,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10172 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); 11708 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
10173 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); 11709 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
10174 11710
10175 class DFA20 extends DFA { 11711 class DFA23 extends DFA {
10176 11712
10177 public DFA20(BaseRecognizer recognizer) { 11713 public DFA23(BaseRecognizer recognizer) {
10178 this.recognizer = recognizer; 11714 this.recognizer = recognizer;
10179 this.decisionNumber = 20; 11715 this.decisionNumber = 23;
10180 this.eot = dfa_7; 11716 this.eot = dfa_7;
10181 this.eof = dfa_8; 11717 this.eof = dfa_8;
10182 this.min = dfa_9; 11718 this.min = dfa_9;
@@ -10186,60 +11722,104 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10186 this.transition = dfa_13; 11722 this.transition = dfa_13;
10187 } 11723 }
10188 public String getDescription() { 11724 public String getDescription() {
10189 return "1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )"; 11725 return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )";
10190 } 11726 }
10191 } 11727 }
10192 static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; 11728 static final String dfa_14s = "\12\uffff";
10193 static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; 11729 static final String dfa_15s = "\1\uffff\2\10\6\uffff\1\10";
10194 static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; 11730 static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30";
10195 static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; 11731 static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104";
10196 static final String[] dfa_18s = { 11732 static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff";
10197 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", 11733 static final String dfa_19s = "\12\uffff}>";
10198 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11734 static final String[] dfa_20s = {
10199 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11735 "\1\4\5\uffff\3\4\4\uffff\1\4\1\uffff\1\4\16\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4",
11736 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
11737 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
10200 "", 11738 "",
10201 "", 11739 "",
10202 "\1\10",
10203 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
10204 "", 11740 "",
10205 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11741 "\1\11",
10206 "" 11742 "",
11743 "",
11744 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10207 }; 11745 };
11746
10208 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); 11747 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
10209 static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); 11748 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
10210 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); 11749 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
10211 static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); 11750 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
10212 static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); 11751 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
11752 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
11753 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
10213 11754
10214 class DFA24 extends DFA { 11755 class DFA29 extends DFA {
10215 11756
10216 public DFA24(BaseRecognizer recognizer) { 11757 public DFA29(BaseRecognizer recognizer) {
10217 this.recognizer = recognizer; 11758 this.recognizer = recognizer;
10218 this.decisionNumber = 24; 11759 this.decisionNumber = 29;
10219 this.eot = dfa_7; 11760 this.eot = dfa_14;
10220 this.eof = dfa_14; 11761 this.eof = dfa_15;
10221 this.min = dfa_15; 11762 this.min = dfa_16;
10222 this.max = dfa_16; 11763 this.max = dfa_17;
10223 this.accept = dfa_17; 11764 this.accept = dfa_18;
10224 this.special = dfa_12; 11765 this.special = dfa_19;
10225 this.transition = dfa_18; 11766 this.transition = dfa_20;
10226 } 11767 }
10227 public String getDescription() { 11768 public String getDescription() {
10228 return "1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; 11769 return "2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )";
10229 } 11770 }
10230 } 11771 }
10231 static final String dfa_19s = "\17\uffff"; 11772 static final String dfa_21s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff";
10232 static final String dfa_20s = "\12\uffff\2\10\2\uffff\1\10"; 11773 static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\13\1\uffff\1\40\1\uffff";
10233 static final String dfa_21s = "\1\30\1\115\3\61\1\115\1\uffff\1\122\2\uffff\3\61\1\122\1\61"; 11774 static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\106\1\uffff\1\105\1\uffff";
10234 static final String dfa_22s = "\1\30\1\123\1\63\1\77\1\63\1\122\1\uffff\1\122\2\uffff\2\121\1\77\1\122\1\121"; 11775 static final String dfa_24s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4";
10235 static final String dfa_23s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
10236 static final String dfa_24s = "\17\uffff}>";
10237 static final String[] dfa_25s = { 11776 static final String[] dfa_25s = {
11777 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
11778 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11779 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11780 "",
11781 "",
11782 "\1\10",
11783 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
11784 "",
11785 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11786 ""
11787 };
11788 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
11789 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
11790 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
11791 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
11792 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s);
11793
11794 class DFA33 extends DFA {
11795
11796 public DFA33(BaseRecognizer recognizer) {
11797 this.recognizer = recognizer;
11798 this.decisionNumber = 33;
11799 this.eot = dfa_14;
11800 this.eof = dfa_21;
11801 this.min = dfa_22;
11802 this.max = dfa_23;
11803 this.accept = dfa_24;
11804 this.special = dfa_19;
11805 this.transition = dfa_25;
11806 }
11807 public String getDescription() {
11808 return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )";
11809 }
11810 }
11811 static final String dfa_26s = "\17\uffff";
11812 static final String dfa_27s = "\12\uffff\2\10\2\uffff\1\10";
11813 static final String dfa_28s = "\1\27\1\100\3\44\1\100\1\uffff\1\105\2\uffff\3\44\1\105\1\44";
11814 static final String dfa_29s = "\1\27\1\106\1\47\1\62\1\47\1\105\1\uffff\1\105\2\uffff\2\104\1\62\1\105\1\104";
11815 static final String dfa_30s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
11816 static final String dfa_31s = "\17\uffff}>";
11817 static final String[] dfa_32s = {
10238 "\1\1", 11818 "\1\1",
10239 "\1\4\4\uffff\1\3\1\2", 11819 "\1\4\4\uffff\1\3\1\2",
10240 "\1\5\1\uffff\1\6", 11820 "\1\5\2\uffff\1\6",
10241 "\1\6\1\11\1\10\13\uffff\1\7", 11821 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10242 "\1\6\1\11\1\10", 11822 "\1\6\1\11\1\uffff\1\10",
10243 "\1\13\4\uffff\1\12", 11823 "\1\13\4\uffff\1\12",
10244 "", 11824 "",
10245 "\1\14", 11825 "\1\14",
@@ -10247,88 +11827,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10247 "", 11827 "",
10248 "\1\6\15\uffff\1\15\21\uffff\1\10", 11828 "\1\6\15\uffff\1\15\21\uffff\1\10",
10249 "\1\6\37\uffff\1\10", 11829 "\1\6\37\uffff\1\10",
10250 "\1\6\1\11\1\10\13\uffff\1\7", 11830 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10251 "\1\16", 11831 "\1\16",
10252 "\1\6\15\uffff\1\15\21\uffff\1\10" 11832 "\1\6\15\uffff\1\15\21\uffff\1\10"
10253 }; 11833 };
10254 11834
10255 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); 11835 static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
10256 static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); 11836 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
10257 static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); 11837 static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
10258 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); 11838 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
10259 static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); 11839 static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
10260 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); 11840 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
10261 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); 11841 static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s);
10262 11842
10263 class DFA35 extends DFA { 11843 class DFA44 extends DFA {
10264 11844
10265 public DFA35(BaseRecognizer recognizer) { 11845 public DFA44(BaseRecognizer recognizer) {
10266 this.recognizer = recognizer; 11846 this.recognizer = recognizer;
10267 this.decisionNumber = 35; 11847 this.decisionNumber = 44;
10268 this.eot = dfa_19; 11848 this.eot = dfa_26;
10269 this.eof = dfa_20; 11849 this.eof = dfa_27;
10270 this.min = dfa_21; 11850 this.min = dfa_28;
10271 this.max = dfa_22; 11851 this.max = dfa_29;
10272 this.accept = dfa_23; 11852 this.accept = dfa_30;
10273 this.special = dfa_24; 11853 this.special = dfa_31;
10274 this.transition = dfa_25; 11854 this.transition = dfa_32;
10275 } 11855 }
10276 public String getDescription() { 11856 public String getDescription() {
10277 return "2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; 11857 return "3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )";
10278 } 11858 }
10279 } 11859 }
10280 11860
10281 11861
10282 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 11862 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
10283 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 11863 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
10284 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x53401FC179FD6362L,0x00000000000C3040L}); 11864 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L});
10285 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); 11865 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
10286 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000002L,0x0000000000000012L}); 11866 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000002L});
10287 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); 11867 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L});
10288 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); 11868 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000021L});
10289 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); 11869 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L});
10290 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L,0x0000000000042000L}); 11870 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000021L});
10291 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); 11871 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L});
10292 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0200000000000000L}); 11872 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000100000000000L});
10293 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); 11873 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0010000000000000L});
10294 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); 11874 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L});
10295 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); 11875 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L});
10296 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); 11876 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L});
10297 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); 11877 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L});
10298 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000002L,0x0000000000000004L}); 11878 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L});
10299 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); 11879 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L});
10300 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); 11880 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000002L});
10301 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x2000000000000002L}); 11881 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
10302 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x008E200000000002L,0x0000000000000028L}); 11882 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L});
10303 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x5000000000000002L}); 11883 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000001000000L});
10304 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); 11884 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0001040000000000L});
10305 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); 11885 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000004000000002L});
10306 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); 11886 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0020000200000002L});
10307 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); 11887 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000002L});
10308 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); 11888 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L});
10309 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); 11889 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x014004B100000002L});
10310 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L}); 11890 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0002800000000002L});
10311 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); 11891 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0008400000000002L});
10312 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); 11892 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000002L});
10313 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2400000000000000L}); 11893 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L});
10314 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); 11894 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L});
10315 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0800000000000000L}); 11895 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L});
10316 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000800000000000L}); 11896 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0401000000000000L});
10317 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); 11897 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1200000000000000L});
10318 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000080000L}); 11898 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6000000000000000L});
10319 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); 11899 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000200000000000L});
10320 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); 11900 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL});
10321 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L}); 11901 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L});
10322 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); 11902 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001200000000000L});
10323 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); 11903 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L});
10324 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000402L,0x0000000000000004L}); 11904 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000400000000000L});
10325 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); 11905 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000400000000L});
10326 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); 11906 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L});
10327 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0004000000000000L}); 11907 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000040000L});
10328 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); 11908 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1000000000002000L});
10329 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0002000000000000L}); 11909 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1001000000000000L});
10330 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008000000000000L}); 11910 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L});
10331 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); 11911 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L});
10332 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000002L}); 11912 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000402L});
11913 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L});
11914 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
11915 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000002000000000L});
11916 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L});
11917 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000001000000000L});
11918 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000008000000000L});
11919 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000008000000002L});
11920 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0004000000000002L});
10333 11921
10334} \ No newline at end of file 11922} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
index 81343db5..736b2f0a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
@@ -1,83 +1,70 @@
1'!'=56 1'!'=43
2'!='=45 2'!='=32
3'('=57 3'('=44
4')'=58 4')'=45
5'*'=59 5'*'=46
6'+'=60 6'+'=47
7','=61 7','=48
8'-'=62 8'-'=49
9'->'=46 9'->'=33
10'.'=63 10'.'=50
11'..'=47 11'..'=34
12'/'=64 12'...'=28
13':'=65 13'/'=51
14':-'=48 14':'=52
15';'=66 15':-'=35
16'<'=67 16';'=53
17'<='=49 17'<'=54
18'='=68 18'<='=36
19'=='=50 19'='=55
20'>'=69 20'=='=37
21'>='=51 21'=>'=38
22'ADD'=33 22'>'=56
23'DIV'=34 23'>='=39
24'EQ'=52 24'['=57
25'GREATER'=11 25']'=58
26'GREATER_EQ'=4 26'^'=59
27'IN'=53 27'abstract'=5
28'LESS'=25 28'as'=40
29'LESS_EQ'=12 29'class'=18
30'MUL'=35 30'contains'=6
31'NOT_EQ'=17 31'count'=19
32'POW'=36 32'current'=11
33'SUB'=37 33'datatype'=7
34'['=70 34'default'=12
35']'=71 35'else'=24
36'^'=72 36'empty'=20
37'abstract'=6 37'error'=21
38'avg'=38 38'exists'=15
39'class'=19 39'extends'=13
40'contains'=7 40'extern'=16
41'count'=20 41'false'=22
42'current'=13 42'forall'=17
43'default'=14 43'functional'=4
44'else'=26 44'if'=41
45'empty'=21 45'in'=42
46'error'=22 46'inf'=29
47'extends'=15 47'let'=30
48'extern'=18
49'false'=23
50'functional'=5
51'if'=54
52'in'=55
53'inf'=39
54'int'=40
55'max'=41
56'maximize'=8 48'maximize'=8
57'may'=42 49'may'=31
58'min'=43
59'minimize'=9 50'minimize'=9
60'must'=27 51'must'=25
61'only'=28
62'opposite'=10 52'opposite'=10
63'prod'=29 53'scope'=23
64'real'=30 54'then'=26
65'scope'=24 55'true'=27
66'sum'=44 56'unknown'=14
67'then'=31 57'{'=60
68'true'=32 58'|'=61
69'unknown'=16 59'}'=62
70'{'=73 60RULE_ANY_OTHER=73
71'|'=74 61RULE_FULL_STOP=68
72'}'=75 62RULE_ID=69
73RULE_ANY_OTHER=86 63RULE_INT=70
74RULE_FULL_STOP=81 64RULE_ML_COMMENT=71
75RULE_ID=82 65RULE_QUOTED_ID=64
76RULE_INT=83 66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
77RULE_ML_COMMENT=84 67RULE_SL_COMMENT=65
78RULE_QUOTED_ID=77 68RULE_STRING=63
79RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 69RULE_TRANSITIVE_CLOSURE=66
80RULE_SL_COMMENT=78 70RULE_WS=72
81RULE_STRING=76
82RULE_TRANSITIVE_CLOSURE=79
83RULE_WS=85
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
index 1a29e53b..3c496e8a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
@@ -11,24 +11,20 @@ package org.eclipse.viatra.solver.language.parser.antlr.lexer;
11import org.eclipse.xtext.parser.antlr.Lexer; 11import org.eclipse.xtext.parser.antlr.Lexer;
12} 12}
13 13
14GREATER_EQ : 'GREATER_EQ';
15
16Functional : 'functional'; 14Functional : 'functional';
17 15
18Abstract : 'abstract'; 16Abstract : 'abstract';
19 17
20Contains : 'contains'; 18Contains : 'contains';
21 19
20Datatype : 'datatype';
21
22Maximize : 'maximize'; 22Maximize : 'maximize';
23 23
24Minimize : 'minimize'; 24Minimize : 'minimize';
25 25
26Opposite : 'opposite'; 26Opposite : 'opposite';
27 27
28GREATER : 'GREATER';
29
30LESS_EQ : 'LESS_EQ';
31
32Current : 'current'; 28Current : 'current';
33 29
34Default : 'default'; 30Default : 'default';
@@ -37,10 +33,12 @@ Extends : 'extends';
37 33
38Unknown : 'unknown'; 34Unknown : 'unknown';
39 35
40NOT_EQ : 'NOT_EQ'; 36Exists : 'exists';
41 37
42Extern : 'extern'; 38Extern : 'extern';
43 39
40Forall : 'forall';
41
44Class : 'class'; 42Class : 'class';
45 43
46Count : 'count'; 44Count : 'count';
@@ -53,46 +51,22 @@ False : 'false';
53 51
54Scope : 'scope'; 52Scope : 'scope';
55 53
56LESS : 'LESS';
57
58Else : 'else'; 54Else : 'else';
59 55
60Must : 'must'; 56Must : 'must';
61 57
62Only : 'only';
63
64Prod : 'prod';
65
66Real : 'real';
67
68Then : 'then'; 58Then : 'then';
69 59
70True : 'true'; 60True : 'true';
71 61
72ADD : 'ADD'; 62FullStopFullStopFullStop : '...';
73
74DIV : 'DIV';
75
76MUL : 'MUL';
77
78POW : 'POW';
79
80SUB : 'SUB';
81
82Avg : 'avg';
83 63
84Inf : 'inf'; 64Inf : 'inf';
85 65
86Int : 'int'; 66Let : 'let';
87
88Max : 'max';
89 67
90May : 'may'; 68May : 'may';
91 69
92Min : 'min';
93
94Sum : 'sum';
95
96ExclamationMarkEqualsSign : '!='; 70ExclamationMarkEqualsSign : '!=';
97 71
98HyphenMinusGreaterThanSign : '->'; 72HyphenMinusGreaterThanSign : '->';
@@ -105,11 +79,11 @@ LessThanSignEqualsSign : '<=';
105 79
106EqualsSignEqualsSign : '=='; 80EqualsSignEqualsSign : '==';
107 81
108GreaterThanSignEqualsSign : '>='; 82EqualsSignGreaterThanSign : '=>';
109 83
110EQ : 'EQ'; 84GreaterThanSignEqualsSign : '>=';
111 85
112IN : 'IN'; 86As : 'as';
113 87
114If : 'if'; 88If : 'if';
115 89
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
index b46f86fc..b113baaf 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
@@ -12,90 +12,77 @@ import java.util.ArrayList;
12 12
13@SuppressWarnings("all") 13@SuppressWarnings("all")
14public class InternalSolverLanguageLexer extends Lexer { 14public class InternalSolverLanguageLexer extends Lexer {
15 public static final int ADD=33; 15 public static final int EqualsSignGreaterThanSign=38;
16 public static final int True=32; 16 public static final int True=27;
17 public static final int GREATER_EQ=4; 17 public static final int Count=19;
18 public static final int Count=20; 18 public static final int False=22;
19 public static final int False=23; 19 public static final int Must=25;
20 public static final int Must=27; 20 public static final int FullStopFullStopFullStop=28;
21 public static final int LessThanSign=67; 21 public static final int LessThanSign=54;
22 public static final int LeftParenthesis=57; 22 public static final int Datatype=7;
23 public static final int Unknown=16; 23 public static final int LeftParenthesis=44;
24 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 24 public static final int Unknown=14;
25 public static final int FullStopFullStop=47; 25 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
26 public static final int Real=30; 26 public static final int FullStopFullStop=34;
27 public static final int Then=31; 27 public static final int Then=26;
28 public static final int Extends=15; 28 public static final int Extends=13;
29 public static final int RightSquareBracket=71; 29 public static final int Forall=17;
30 public static final int ExclamationMark=56; 30 public static final int RightSquareBracket=58;
31 public static final int ExclamationMark=43;
31 public static final int Opposite=10; 32 public static final int Opposite=10;
32 public static final int SUB=37; 33 public static final int GreaterThanSign=56;
33 public static final int GreaterThanSign=69; 34 public static final int RULE_ID=69;
34 public static final int NOT_EQ=17; 35 public static final int RULE_QUOTED_ID=64;
35 public static final int RULE_ID=82; 36 public static final int RightParenthesis=45;
36 public static final int MUL=35; 37 public static final int GreaterThanSignEqualsSign=39;
37 public static final int IN=53; 38 public static final int Functional=4;
38 public static final int RULE_QUOTED_ID=77; 39 public static final int EqualsSignEqualsSign=37;
39 public static final int RightParenthesis=58; 40 public static final int VerticalLine=61;
40 public static final int Sum=44; 41 public static final int PlusSign=47;
41 public static final int EQ=52; 42 public static final int RULE_INT=70;
42 public static final int GreaterThanSignEqualsSign=51; 43 public static final int Contains=6;
43 public static final int Functional=5; 44 public static final int RULE_ML_COMMENT=71;
44 public static final int EqualsSignEqualsSign=50; 45 public static final int RULE_TRANSITIVE_CLOSURE=66;
45 public static final int Avg=38; 46 public static final int Class=18;
46 public static final int Min=43; 47 public static final int LeftSquareBracket=57;
47 public static final int VerticalLine=74; 48 public static final int RULE_FULL_STOP=68;
48 public static final int PlusSign=60; 49 public static final int Current=11;
49 public static final int RULE_INT=83; 50 public static final int If=41;
50 public static final int Contains=7; 51 public static final int Inf=29;
51 public static final int RULE_ML_COMMENT=84; 52 public static final int May=31;
52 public static final int POW=36; 53 public static final int In=42;
53 public static final int RULE_TRANSITIVE_CLOSURE=79; 54 public static final int RULE_STRING=63;
54 public static final int Class=19; 55 public static final int Extern=16;
55 public static final int LESS=25; 56 public static final int RULE_SL_COMMENT=65;
56 public static final int LeftSquareBracket=70; 57 public static final int Comma=48;
57 public static final int RULE_FULL_STOP=81; 58 public static final int EqualsSign=55;
58 public static final int Current=13; 59 public static final int Empty=20;
59 public static final int If=54; 60 public static final int As=40;
60 public static final int Inf=39; 61 public static final int HyphenMinus=49;
61 public static final int LESS_EQ=12;
62 public static final int May=42;
63 public static final int Max=41;
64 public static final int In=55;
65 public static final int RULE_STRING=76;
66 public static final int Int=40;
67 public static final int Extern=18;
68 public static final int RULE_SL_COMMENT=78;
69 public static final int Prod=29;
70 public static final int Comma=61;
71 public static final int EqualsSign=68;
72 public static final int Empty=21;
73 public static final int HyphenMinus=62;
74 public static final int Maximize=8; 62 public static final int Maximize=8;
75 public static final int LessThanSignEqualsSign=49; 63 public static final int LessThanSignEqualsSign=36;
76 public static final int Solidus=64; 64 public static final int Solidus=51;
77 public static final int Colon=65; 65 public static final int Colon=52;
78 public static final int RightCurlyBracket=75; 66 public static final int RightCurlyBracket=62;
79 public static final int EOF=-1; 67 public static final int EOF=-1;
80 public static final int Asterisk=59; 68 public static final int Asterisk=46;
81 public static final int FullStop=63; 69 public static final int FullStop=50;
82 public static final int RULE_WS=85; 70 public static final int RULE_WS=72;
83 public static final int Abstract=6; 71 public static final int Abstract=5;
84 public static final int Minimize=9; 72 public static final int Minimize=9;
85 public static final int GREATER=11; 73 public static final int LeftCurlyBracket=60;
86 public static final int LeftCurlyBracket=73; 74 public static final int Error=21;
87 public static final int Error=22; 75 public static final int RULE_ANY_OTHER=73;
88 public static final int Only=28; 76 public static final int Default=12;
89 public static final int RULE_ANY_OTHER=86; 77 public static final int ColonHyphenMinus=35;
90 public static final int Default=14; 78 public static final int CircumflexAccent=59;
91 public static final int ColonHyphenMinus=48; 79 public static final int Semicolon=53;
92 public static final int CircumflexAccent=72; 80 public static final int Scope=23;
93 public static final int DIV=34; 81 public static final int Exists=15;
94 public static final int Semicolon=66; 82 public static final int Else=24;
95 public static final int Scope=24; 83 public static final int Let=30;
96 public static final int Else=26; 84 public static final int ExclamationMarkEqualsSign=32;
97 public static final int ExclamationMarkEqualsSign=45; 85 public static final int HyphenMinusGreaterThanSign=33;
98 public static final int HyphenMinusGreaterThanSign=46;
99 86
100 // delegates 87 // delegates
101 // delegators 88 // delegators
@@ -110,34 +97,13 @@ public class InternalSolverLanguageLexer extends Lexer {
110 } 97 }
111 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } 98 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; }
112 99
113 // $ANTLR start "GREATER_EQ"
114 public final void mGREATER_EQ() throws RecognitionException {
115 try {
116 int _type = GREATER_EQ;
117 int _channel = DEFAULT_TOKEN_CHANNEL;
118 // InternalSolverLanguageLexer.g:14:12: ( 'GREATER_EQ' )
119 // InternalSolverLanguageLexer.g:14:14: 'GREATER_EQ'
120 {
121 match("GREATER_EQ");
122
123
124 }
125
126 state.type = _type;
127 state.channel = _channel;
128 }
129 finally {
130 }
131 }
132 // $ANTLR end "GREATER_EQ"
133
134 // $ANTLR start "Functional" 100 // $ANTLR start "Functional"
135 public final void mFunctional() throws RecognitionException { 101 public final void mFunctional() throws RecognitionException {
136 try { 102 try {
137 int _type = Functional; 103 int _type = Functional;
138 int _channel = DEFAULT_TOKEN_CHANNEL; 104 int _channel = DEFAULT_TOKEN_CHANNEL;
139 // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) 105 // InternalSolverLanguageLexer.g:14:12: ( 'functional' )
140 // InternalSolverLanguageLexer.g:16:14: 'functional' 106 // InternalSolverLanguageLexer.g:14:14: 'functional'
141 { 107 {
142 match("functional"); 108 match("functional");
143 109
@@ -157,8 +123,8 @@ public class InternalSolverLanguageLexer extends Lexer {
157 try { 123 try {
158 int _type = Abstract; 124 int _type = Abstract;
159 int _channel = DEFAULT_TOKEN_CHANNEL; 125 int _channel = DEFAULT_TOKEN_CHANNEL;
160 // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) 126 // InternalSolverLanguageLexer.g:16:10: ( 'abstract' )
161 // InternalSolverLanguageLexer.g:18:12: 'abstract' 127 // InternalSolverLanguageLexer.g:16:12: 'abstract'
162 { 128 {
163 match("abstract"); 129 match("abstract");
164 130
@@ -178,8 +144,8 @@ public class InternalSolverLanguageLexer extends Lexer {
178 try { 144 try {
179 int _type = Contains; 145 int _type = Contains;
180 int _channel = DEFAULT_TOKEN_CHANNEL; 146 int _channel = DEFAULT_TOKEN_CHANNEL;
181 // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) 147 // InternalSolverLanguageLexer.g:18:10: ( 'contains' )
182 // InternalSolverLanguageLexer.g:20:12: 'contains' 148 // InternalSolverLanguageLexer.g:18:12: 'contains'
183 { 149 {
184 match("contains"); 150 match("contains");
185 151
@@ -194,6 +160,27 @@ public class InternalSolverLanguageLexer extends Lexer {
194 } 160 }
195 // $ANTLR end "Contains" 161 // $ANTLR end "Contains"
196 162
163 // $ANTLR start "Datatype"
164 public final void mDatatype() throws RecognitionException {
165 try {
166 int _type = Datatype;
167 int _channel = DEFAULT_TOKEN_CHANNEL;
168 // InternalSolverLanguageLexer.g:20:10: ( 'datatype' )
169 // InternalSolverLanguageLexer.g:20:12: 'datatype'
170 {
171 match("datatype");
172
173
174 }
175
176 state.type = _type;
177 state.channel = _channel;
178 }
179 finally {
180 }
181 }
182 // $ANTLR end "Datatype"
183
197 // $ANTLR start "Maximize" 184 // $ANTLR start "Maximize"
198 public final void mMaximize() throws RecognitionException { 185 public final void mMaximize() throws RecognitionException {
199 try { 186 try {
@@ -257,55 +244,13 @@ public class InternalSolverLanguageLexer extends Lexer {
257 } 244 }
258 // $ANTLR end "Opposite" 245 // $ANTLR end "Opposite"
259 246
260 // $ANTLR start "GREATER"
261 public final void mGREATER() throws RecognitionException {
262 try {
263 int _type = GREATER;
264 int _channel = DEFAULT_TOKEN_CHANNEL;
265 // InternalSolverLanguageLexer.g:28:9: ( 'GREATER' )
266 // InternalSolverLanguageLexer.g:28:11: 'GREATER'
267 {
268 match("GREATER");
269
270
271 }
272
273 state.type = _type;
274 state.channel = _channel;
275 }
276 finally {
277 }
278 }
279 // $ANTLR end "GREATER"
280
281 // $ANTLR start "LESS_EQ"
282 public final void mLESS_EQ() throws RecognitionException {
283 try {
284 int _type = LESS_EQ;
285 int _channel = DEFAULT_TOKEN_CHANNEL;
286 // InternalSolverLanguageLexer.g:30:9: ( 'LESS_EQ' )
287 // InternalSolverLanguageLexer.g:30:11: 'LESS_EQ'
288 {
289 match("LESS_EQ");
290
291
292 }
293
294 state.type = _type;
295 state.channel = _channel;
296 }
297 finally {
298 }
299 }
300 // $ANTLR end "LESS_EQ"
301
302 // $ANTLR start "Current" 247 // $ANTLR start "Current"
303 public final void mCurrent() throws RecognitionException { 248 public final void mCurrent() throws RecognitionException {
304 try { 249 try {
305 int _type = Current; 250 int _type = Current;
306 int _channel = DEFAULT_TOKEN_CHANNEL; 251 int _channel = DEFAULT_TOKEN_CHANNEL;
307 // InternalSolverLanguageLexer.g:32:9: ( 'current' ) 252 // InternalSolverLanguageLexer.g:28:9: ( 'current' )
308 // InternalSolverLanguageLexer.g:32:11: 'current' 253 // InternalSolverLanguageLexer.g:28:11: 'current'
309 { 254 {
310 match("current"); 255 match("current");
311 256
@@ -325,8 +270,8 @@ public class InternalSolverLanguageLexer extends Lexer {
325 try { 270 try {
326 int _type = Default; 271 int _type = Default;
327 int _channel = DEFAULT_TOKEN_CHANNEL; 272 int _channel = DEFAULT_TOKEN_CHANNEL;
328 // InternalSolverLanguageLexer.g:34:9: ( 'default' ) 273 // InternalSolverLanguageLexer.g:30:9: ( 'default' )
329 // InternalSolverLanguageLexer.g:34:11: 'default' 274 // InternalSolverLanguageLexer.g:30:11: 'default'
330 { 275 {
331 match("default"); 276 match("default");
332 277
@@ -346,8 +291,8 @@ public class InternalSolverLanguageLexer extends Lexer {
346 try { 291 try {
347 int _type = Extends; 292 int _type = Extends;
348 int _channel = DEFAULT_TOKEN_CHANNEL; 293 int _channel = DEFAULT_TOKEN_CHANNEL;
349 // InternalSolverLanguageLexer.g:36:9: ( 'extends' ) 294 // InternalSolverLanguageLexer.g:32:9: ( 'extends' )
350 // InternalSolverLanguageLexer.g:36:11: 'extends' 295 // InternalSolverLanguageLexer.g:32:11: 'extends'
351 { 296 {
352 match("extends"); 297 match("extends");
353 298
@@ -367,8 +312,8 @@ public class InternalSolverLanguageLexer extends Lexer {
367 try { 312 try {
368 int _type = Unknown; 313 int _type = Unknown;
369 int _channel = DEFAULT_TOKEN_CHANNEL; 314 int _channel = DEFAULT_TOKEN_CHANNEL;
370 // InternalSolverLanguageLexer.g:38:9: ( 'unknown' ) 315 // InternalSolverLanguageLexer.g:34:9: ( 'unknown' )
371 // InternalSolverLanguageLexer.g:38:11: 'unknown' 316 // InternalSolverLanguageLexer.g:34:11: 'unknown'
372 { 317 {
373 match("unknown"); 318 match("unknown");
374 319
@@ -383,15 +328,15 @@ public class InternalSolverLanguageLexer extends Lexer {
383 } 328 }
384 // $ANTLR end "Unknown" 329 // $ANTLR end "Unknown"
385 330
386 // $ANTLR start "NOT_EQ" 331 // $ANTLR start "Exists"
387 public final void mNOT_EQ() throws RecognitionException { 332 public final void mExists() throws RecognitionException {
388 try { 333 try {
389 int _type = NOT_EQ; 334 int _type = Exists;
390 int _channel = DEFAULT_TOKEN_CHANNEL; 335 int _channel = DEFAULT_TOKEN_CHANNEL;
391 // InternalSolverLanguageLexer.g:40:8: ( 'NOT_EQ' ) 336 // InternalSolverLanguageLexer.g:36:8: ( 'exists' )
392 // InternalSolverLanguageLexer.g:40:10: 'NOT_EQ' 337 // InternalSolverLanguageLexer.g:36:10: 'exists'
393 { 338 {
394 match("NOT_EQ"); 339 match("exists");
395 340
396 341
397 } 342 }
@@ -402,15 +347,15 @@ public class InternalSolverLanguageLexer extends Lexer {
402 finally { 347 finally {
403 } 348 }
404 } 349 }
405 // $ANTLR end "NOT_EQ" 350 // $ANTLR end "Exists"
406 351
407 // $ANTLR start "Extern" 352 // $ANTLR start "Extern"
408 public final void mExtern() throws RecognitionException { 353 public final void mExtern() throws RecognitionException {
409 try { 354 try {
410 int _type = Extern; 355 int _type = Extern;
411 int _channel = DEFAULT_TOKEN_CHANNEL; 356 int _channel = DEFAULT_TOKEN_CHANNEL;
412 // InternalSolverLanguageLexer.g:42:8: ( 'extern' ) 357 // InternalSolverLanguageLexer.g:38:8: ( 'extern' )
413 // InternalSolverLanguageLexer.g:42:10: 'extern' 358 // InternalSolverLanguageLexer.g:38:10: 'extern'
414 { 359 {
415 match("extern"); 360 match("extern");
416 361
@@ -425,13 +370,34 @@ public class InternalSolverLanguageLexer extends Lexer {
425 } 370 }
426 // $ANTLR end "Extern" 371 // $ANTLR end "Extern"
427 372
373 // $ANTLR start "Forall"
374 public final void mForall() throws RecognitionException {
375 try {
376 int _type = Forall;
377 int _channel = DEFAULT_TOKEN_CHANNEL;
378 // InternalSolverLanguageLexer.g:40:8: ( 'forall' )
379 // InternalSolverLanguageLexer.g:40:10: 'forall'
380 {
381 match("forall");
382
383
384 }
385
386 state.type = _type;
387 state.channel = _channel;
388 }
389 finally {
390 }
391 }
392 // $ANTLR end "Forall"
393
428 // $ANTLR start "Class" 394 // $ANTLR start "Class"
429 public final void mClass() throws RecognitionException { 395 public final void mClass() throws RecognitionException {
430 try { 396 try {
431 int _type = Class; 397 int _type = Class;
432 int _channel = DEFAULT_TOKEN_CHANNEL; 398 int _channel = DEFAULT_TOKEN_CHANNEL;
433 // InternalSolverLanguageLexer.g:44:7: ( 'class' ) 399 // InternalSolverLanguageLexer.g:42:7: ( 'class' )
434 // InternalSolverLanguageLexer.g:44:9: 'class' 400 // InternalSolverLanguageLexer.g:42:9: 'class'
435 { 401 {
436 match("class"); 402 match("class");
437 403
@@ -451,8 +417,8 @@ public class InternalSolverLanguageLexer extends Lexer {
451 try { 417 try {
452 int _type = Count; 418 int _type = Count;
453 int _channel = DEFAULT_TOKEN_CHANNEL; 419 int _channel = DEFAULT_TOKEN_CHANNEL;
454 // InternalSolverLanguageLexer.g:46:7: ( 'count' ) 420 // InternalSolverLanguageLexer.g:44:7: ( 'count' )
455 // InternalSolverLanguageLexer.g:46:9: 'count' 421 // InternalSolverLanguageLexer.g:44:9: 'count'
456 { 422 {
457 match("count"); 423 match("count");
458 424
@@ -472,8 +438,8 @@ public class InternalSolverLanguageLexer extends Lexer {
472 try { 438 try {
473 int _type = Empty; 439 int _type = Empty;
474 int _channel = DEFAULT_TOKEN_CHANNEL; 440 int _channel = DEFAULT_TOKEN_CHANNEL;
475 // InternalSolverLanguageLexer.g:48:7: ( 'empty' ) 441 // InternalSolverLanguageLexer.g:46:7: ( 'empty' )
476 // InternalSolverLanguageLexer.g:48:9: 'empty' 442 // InternalSolverLanguageLexer.g:46:9: 'empty'
477 { 443 {
478 match("empty"); 444 match("empty");
479 445
@@ -493,8 +459,8 @@ public class InternalSolverLanguageLexer extends Lexer {
493 try { 459 try {
494 int _type = Error; 460 int _type = Error;
495 int _channel = DEFAULT_TOKEN_CHANNEL; 461 int _channel = DEFAULT_TOKEN_CHANNEL;
496 // InternalSolverLanguageLexer.g:50:7: ( 'error' ) 462 // InternalSolverLanguageLexer.g:48:7: ( 'error' )
497 // InternalSolverLanguageLexer.g:50:9: 'error' 463 // InternalSolverLanguageLexer.g:48:9: 'error'
498 { 464 {
499 match("error"); 465 match("error");
500 466
@@ -514,8 +480,8 @@ public class InternalSolverLanguageLexer extends Lexer {
514 try { 480 try {
515 int _type = False; 481 int _type = False;
516 int _channel = DEFAULT_TOKEN_CHANNEL; 482 int _channel = DEFAULT_TOKEN_CHANNEL;
517 // InternalSolverLanguageLexer.g:52:7: ( 'false' ) 483 // InternalSolverLanguageLexer.g:50:7: ( 'false' )
518 // InternalSolverLanguageLexer.g:52:9: 'false' 484 // InternalSolverLanguageLexer.g:50:9: 'false'
519 { 485 {
520 match("false"); 486 match("false");
521 487
@@ -535,8 +501,8 @@ public class InternalSolverLanguageLexer extends Lexer {
535 try { 501 try {
536 int _type = Scope; 502 int _type = Scope;
537 int _channel = DEFAULT_TOKEN_CHANNEL; 503 int _channel = DEFAULT_TOKEN_CHANNEL;
538 // InternalSolverLanguageLexer.g:54:7: ( 'scope' ) 504 // InternalSolverLanguageLexer.g:52:7: ( 'scope' )
539 // InternalSolverLanguageLexer.g:54:9: 'scope' 505 // InternalSolverLanguageLexer.g:52:9: 'scope'
540 { 506 {
541 match("scope"); 507 match("scope");
542 508
@@ -551,34 +517,13 @@ public class InternalSolverLanguageLexer extends Lexer {
551 } 517 }
552 // $ANTLR end "Scope" 518 // $ANTLR end "Scope"
553 519
554 // $ANTLR start "LESS"
555 public final void mLESS() throws RecognitionException {
556 try {
557 int _type = LESS;
558 int _channel = DEFAULT_TOKEN_CHANNEL;
559 // InternalSolverLanguageLexer.g:56:6: ( 'LESS' )
560 // InternalSolverLanguageLexer.g:56:8: 'LESS'
561 {
562 match("LESS");
563
564
565 }
566
567 state.type = _type;
568 state.channel = _channel;
569 }
570 finally {
571 }
572 }
573 // $ANTLR end "LESS"
574
575 // $ANTLR start "Else" 520 // $ANTLR start "Else"
576 public final void mElse() throws RecognitionException { 521 public final void mElse() throws RecognitionException {
577 try { 522 try {
578 int _type = Else; 523 int _type = Else;
579 int _channel = DEFAULT_TOKEN_CHANNEL; 524 int _channel = DEFAULT_TOKEN_CHANNEL;
580 // InternalSolverLanguageLexer.g:58:6: ( 'else' ) 525 // InternalSolverLanguageLexer.g:54:6: ( 'else' )
581 // InternalSolverLanguageLexer.g:58:8: 'else' 526 // InternalSolverLanguageLexer.g:54:8: 'else'
582 { 527 {
583 match("else"); 528 match("else");
584 529
@@ -598,8 +543,8 @@ public class InternalSolverLanguageLexer extends Lexer {
598 try { 543 try {
599 int _type = Must; 544 int _type = Must;
600 int _channel = DEFAULT_TOKEN_CHANNEL; 545 int _channel = DEFAULT_TOKEN_CHANNEL;
601 // InternalSolverLanguageLexer.g:60:6: ( 'must' ) 546 // InternalSolverLanguageLexer.g:56:6: ( 'must' )
602 // InternalSolverLanguageLexer.g:60:8: 'must' 547 // InternalSolverLanguageLexer.g:56:8: 'must'
603 { 548 {
604 match("must"); 549 match("must");
605 550
@@ -614,76 +559,13 @@ public class InternalSolverLanguageLexer extends Lexer {
614 } 559 }
615 // $ANTLR end "Must" 560 // $ANTLR end "Must"
616 561
617 // $ANTLR start "Only"
618 public final void mOnly() throws RecognitionException {
619 try {
620 int _type = Only;
621 int _channel = DEFAULT_TOKEN_CHANNEL;
622 // InternalSolverLanguageLexer.g:62:6: ( 'only' )
623 // InternalSolverLanguageLexer.g:62:8: 'only'
624 {
625 match("only");
626
627
628 }
629
630 state.type = _type;
631 state.channel = _channel;
632 }
633 finally {
634 }
635 }
636 // $ANTLR end "Only"
637
638 // $ANTLR start "Prod"
639 public final void mProd() throws RecognitionException {
640 try {
641 int _type = Prod;
642 int _channel = DEFAULT_TOKEN_CHANNEL;
643 // InternalSolverLanguageLexer.g:64:6: ( 'prod' )
644 // InternalSolverLanguageLexer.g:64:8: 'prod'
645 {
646 match("prod");
647
648
649 }
650
651 state.type = _type;
652 state.channel = _channel;
653 }
654 finally {
655 }
656 }
657 // $ANTLR end "Prod"
658
659 // $ANTLR start "Real"
660 public final void mReal() throws RecognitionException {
661 try {
662 int _type = Real;
663 int _channel = DEFAULT_TOKEN_CHANNEL;
664 // InternalSolverLanguageLexer.g:66:6: ( 'real' )
665 // InternalSolverLanguageLexer.g:66:8: 'real'
666 {
667 match("real");
668
669
670 }
671
672 state.type = _type;
673 state.channel = _channel;
674 }
675 finally {
676 }
677 }
678 // $ANTLR end "Real"
679
680 // $ANTLR start "Then" 562 // $ANTLR start "Then"
681 public final void mThen() throws RecognitionException { 563 public final void mThen() throws RecognitionException {
682 try { 564 try {
683 int _type = Then; 565 int _type = Then;
684 int _channel = DEFAULT_TOKEN_CHANNEL; 566 int _channel = DEFAULT_TOKEN_CHANNEL;
685 // InternalSolverLanguageLexer.g:68:6: ( 'then' ) 567 // InternalSolverLanguageLexer.g:58:6: ( 'then' )
686 // InternalSolverLanguageLexer.g:68:8: 'then' 568 // InternalSolverLanguageLexer.g:58:8: 'then'
687 { 569 {
688 match("then"); 570 match("then");
689 571
@@ -703,8 +585,8 @@ public class InternalSolverLanguageLexer extends Lexer {
703 try { 585 try {
704 int _type = True; 586 int _type = True;
705 int _channel = DEFAULT_TOKEN_CHANNEL; 587 int _channel = DEFAULT_TOKEN_CHANNEL;
706 // InternalSolverLanguageLexer.g:70:6: ( 'true' ) 588 // InternalSolverLanguageLexer.g:60:6: ( 'true' )
707 // InternalSolverLanguageLexer.g:70:8: 'true' 589 // InternalSolverLanguageLexer.g:60:8: 'true'
708 { 590 {
709 match("true"); 591 match("true");
710 592
@@ -719,15 +601,15 @@ public class InternalSolverLanguageLexer extends Lexer {
719 } 601 }
720 // $ANTLR end "True" 602 // $ANTLR end "True"
721 603
722 // $ANTLR start "ADD" 604 // $ANTLR start "FullStopFullStopFullStop"
723 public final void mADD() throws RecognitionException { 605 public final void mFullStopFullStopFullStop() throws RecognitionException {
724 try { 606 try {
725 int _type = ADD; 607 int _type = FullStopFullStopFullStop;
726 int _channel = DEFAULT_TOKEN_CHANNEL; 608 int _channel = DEFAULT_TOKEN_CHANNEL;
727 // InternalSolverLanguageLexer.g:72:5: ( 'ADD' ) 609 // InternalSolverLanguageLexer.g:62:26: ( '...' )
728 // InternalSolverLanguageLexer.g:72:7: 'ADD' 610 // InternalSolverLanguageLexer.g:62:28: '...'
729 { 611 {
730 match("ADD"); 612 match("...");
731 613
732 614
733 } 615 }
@@ -738,120 +620,15 @@ public class InternalSolverLanguageLexer extends Lexer {
738 finally { 620 finally {
739 } 621 }
740 } 622 }
741 // $ANTLR end "ADD" 623 // $ANTLR end "FullStopFullStopFullStop"
742
743 // $ANTLR start "DIV"
744 public final void mDIV() throws RecognitionException {
745 try {
746 int _type = DIV;
747 int _channel = DEFAULT_TOKEN_CHANNEL;
748 // InternalSolverLanguageLexer.g:74:5: ( 'DIV' )
749 // InternalSolverLanguageLexer.g:74:7: 'DIV'
750 {
751 match("DIV");
752
753
754 }
755
756 state.type = _type;
757 state.channel = _channel;
758 }
759 finally {
760 }
761 }
762 // $ANTLR end "DIV"
763
764 // $ANTLR start "MUL"
765 public final void mMUL() throws RecognitionException {
766 try {
767 int _type = MUL;
768 int _channel = DEFAULT_TOKEN_CHANNEL;
769 // InternalSolverLanguageLexer.g:76:5: ( 'MUL' )
770 // InternalSolverLanguageLexer.g:76:7: 'MUL'
771 {
772 match("MUL");
773
774
775 }
776
777 state.type = _type;
778 state.channel = _channel;
779 }
780 finally {
781 }
782 }
783 // $ANTLR end "MUL"
784
785 // $ANTLR start "POW"
786 public final void mPOW() throws RecognitionException {
787 try {
788 int _type = POW;
789 int _channel = DEFAULT_TOKEN_CHANNEL;
790 // InternalSolverLanguageLexer.g:78:5: ( 'POW' )
791 // InternalSolverLanguageLexer.g:78:7: 'POW'
792 {
793 match("POW");
794
795
796 }
797
798 state.type = _type;
799 state.channel = _channel;
800 }
801 finally {
802 }
803 }
804 // $ANTLR end "POW"
805
806 // $ANTLR start "SUB"
807 public final void mSUB() throws RecognitionException {
808 try {
809 int _type = SUB;
810 int _channel = DEFAULT_TOKEN_CHANNEL;
811 // InternalSolverLanguageLexer.g:80:5: ( 'SUB' )
812 // InternalSolverLanguageLexer.g:80:7: 'SUB'
813 {
814 match("SUB");
815
816
817 }
818
819 state.type = _type;
820 state.channel = _channel;
821 }
822 finally {
823 }
824 }
825 // $ANTLR end "SUB"
826
827 // $ANTLR start "Avg"
828 public final void mAvg() throws RecognitionException {
829 try {
830 int _type = Avg;
831 int _channel = DEFAULT_TOKEN_CHANNEL;
832 // InternalSolverLanguageLexer.g:82:5: ( 'avg' )
833 // InternalSolverLanguageLexer.g:82:7: 'avg'
834 {
835 match("avg");
836
837
838 }
839
840 state.type = _type;
841 state.channel = _channel;
842 }
843 finally {
844 }
845 }
846 // $ANTLR end "Avg"
847 624
848 // $ANTLR start "Inf" 625 // $ANTLR start "Inf"
849 public final void mInf() throws RecognitionException { 626 public final void mInf() throws RecognitionException {
850 try { 627 try {
851 int _type = Inf; 628 int _type = Inf;
852 int _channel = DEFAULT_TOKEN_CHANNEL; 629 int _channel = DEFAULT_TOKEN_CHANNEL;
853 // InternalSolverLanguageLexer.g:84:5: ( 'inf' ) 630 // InternalSolverLanguageLexer.g:64:5: ( 'inf' )
854 // InternalSolverLanguageLexer.g:84:7: 'inf' 631 // InternalSolverLanguageLexer.g:64:7: 'inf'
855 { 632 {
856 match("inf"); 633 match("inf");
857 634
@@ -866,36 +643,15 @@ public class InternalSolverLanguageLexer extends Lexer {
866 } 643 }
867 // $ANTLR end "Inf" 644 // $ANTLR end "Inf"
868 645
869 // $ANTLR start "Int" 646 // $ANTLR start "Let"
870 public final void mInt() throws RecognitionException { 647 public final void mLet() throws RecognitionException {
871 try {
872 int _type = Int;
873 int _channel = DEFAULT_TOKEN_CHANNEL;
874 // InternalSolverLanguageLexer.g:86:5: ( 'int' )
875 // InternalSolverLanguageLexer.g:86:7: 'int'
876 {
877 match("int");
878
879
880 }
881
882 state.type = _type;
883 state.channel = _channel;
884 }
885 finally {
886 }
887 }
888 // $ANTLR end "Int"
889
890 // $ANTLR start "Max"
891 public final void mMax() throws RecognitionException {
892 try { 648 try {
893 int _type = Max; 649 int _type = Let;
894 int _channel = DEFAULT_TOKEN_CHANNEL; 650 int _channel = DEFAULT_TOKEN_CHANNEL;
895 // InternalSolverLanguageLexer.g:88:5: ( 'max' ) 651 // InternalSolverLanguageLexer.g:66:5: ( 'let' )
896 // InternalSolverLanguageLexer.g:88:7: 'max' 652 // InternalSolverLanguageLexer.g:66:7: 'let'
897 { 653 {
898 match("max"); 654 match("let");
899 655
900 656
901 } 657 }
@@ -906,15 +662,15 @@ public class InternalSolverLanguageLexer extends Lexer {
906 finally { 662 finally {
907 } 663 }
908 } 664 }
909 // $ANTLR end "Max" 665 // $ANTLR end "Let"
910 666
911 // $ANTLR start "May" 667 // $ANTLR start "May"
912 public final void mMay() throws RecognitionException { 668 public final void mMay() throws RecognitionException {
913 try { 669 try {
914 int _type = May; 670 int _type = May;
915 int _channel = DEFAULT_TOKEN_CHANNEL; 671 int _channel = DEFAULT_TOKEN_CHANNEL;
916 // InternalSolverLanguageLexer.g:90:5: ( 'may' ) 672 // InternalSolverLanguageLexer.g:68:5: ( 'may' )
917 // InternalSolverLanguageLexer.g:90:7: 'may' 673 // InternalSolverLanguageLexer.g:68:7: 'may'
918 { 674 {
919 match("may"); 675 match("may");
920 676
@@ -929,55 +685,13 @@ public class InternalSolverLanguageLexer extends Lexer {
929 } 685 }
930 // $ANTLR end "May" 686 // $ANTLR end "May"
931 687
932 // $ANTLR start "Min"
933 public final void mMin() throws RecognitionException {
934 try {
935 int _type = Min;
936 int _channel = DEFAULT_TOKEN_CHANNEL;
937 // InternalSolverLanguageLexer.g:92:5: ( 'min' )
938 // InternalSolverLanguageLexer.g:92:7: 'min'
939 {
940 match("min");
941
942
943 }
944
945 state.type = _type;
946 state.channel = _channel;
947 }
948 finally {
949 }
950 }
951 // $ANTLR end "Min"
952
953 // $ANTLR start "Sum"
954 public final void mSum() throws RecognitionException {
955 try {
956 int _type = Sum;
957 int _channel = DEFAULT_TOKEN_CHANNEL;
958 // InternalSolverLanguageLexer.g:94:5: ( 'sum' )
959 // InternalSolverLanguageLexer.g:94:7: 'sum'
960 {
961 match("sum");
962
963
964 }
965
966 state.type = _type;
967 state.channel = _channel;
968 }
969 finally {
970 }
971 }
972 // $ANTLR end "Sum"
973
974 // $ANTLR start "ExclamationMarkEqualsSign" 688 // $ANTLR start "ExclamationMarkEqualsSign"
975 public final void mExclamationMarkEqualsSign() throws RecognitionException { 689 public final void mExclamationMarkEqualsSign() throws RecognitionException {
976 try { 690 try {
977 int _type = ExclamationMarkEqualsSign; 691 int _type = ExclamationMarkEqualsSign;
978 int _channel = DEFAULT_TOKEN_CHANNEL; 692 int _channel = DEFAULT_TOKEN_CHANNEL;
979 // InternalSolverLanguageLexer.g:96:27: ( '!=' ) 693 // InternalSolverLanguageLexer.g:70:27: ( '!=' )
980 // InternalSolverLanguageLexer.g:96:29: '!=' 694 // InternalSolverLanguageLexer.g:70:29: '!='
981 { 695 {
982 match("!="); 696 match("!=");
983 697
@@ -997,8 +711,8 @@ public class InternalSolverLanguageLexer extends Lexer {
997 try { 711 try {
998 int _type = HyphenMinusGreaterThanSign; 712 int _type = HyphenMinusGreaterThanSign;
999 int _channel = DEFAULT_TOKEN_CHANNEL; 713 int _channel = DEFAULT_TOKEN_CHANNEL;
1000 // InternalSolverLanguageLexer.g:98:28: ( '->' ) 714 // InternalSolverLanguageLexer.g:72:28: ( '->' )
1001 // InternalSolverLanguageLexer.g:98:30: '->' 715 // InternalSolverLanguageLexer.g:72:30: '->'
1002 { 716 {
1003 match("->"); 717 match("->");
1004 718
@@ -1018,8 +732,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1018 try { 732 try {
1019 int _type = FullStopFullStop; 733 int _type = FullStopFullStop;
1020 int _channel = DEFAULT_TOKEN_CHANNEL; 734 int _channel = DEFAULT_TOKEN_CHANNEL;
1021 // InternalSolverLanguageLexer.g:100:18: ( '..' ) 735 // InternalSolverLanguageLexer.g:74:18: ( '..' )
1022 // InternalSolverLanguageLexer.g:100:20: '..' 736 // InternalSolverLanguageLexer.g:74:20: '..'
1023 { 737 {
1024 match(".."); 738 match("..");
1025 739
@@ -1039,8 +753,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1039 try { 753 try {
1040 int _type = ColonHyphenMinus; 754 int _type = ColonHyphenMinus;
1041 int _channel = DEFAULT_TOKEN_CHANNEL; 755 int _channel = DEFAULT_TOKEN_CHANNEL;
1042 // InternalSolverLanguageLexer.g:102:18: ( ':-' ) 756 // InternalSolverLanguageLexer.g:76:18: ( ':-' )
1043 // InternalSolverLanguageLexer.g:102:20: ':-' 757 // InternalSolverLanguageLexer.g:76:20: ':-'
1044 { 758 {
1045 match(":-"); 759 match(":-");
1046 760
@@ -1060,8 +774,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1060 try { 774 try {
1061 int _type = LessThanSignEqualsSign; 775 int _type = LessThanSignEqualsSign;
1062 int _channel = DEFAULT_TOKEN_CHANNEL; 776 int _channel = DEFAULT_TOKEN_CHANNEL;
1063 // InternalSolverLanguageLexer.g:104:24: ( '<=' ) 777 // InternalSolverLanguageLexer.g:78:24: ( '<=' )
1064 // InternalSolverLanguageLexer.g:104:26: '<=' 778 // InternalSolverLanguageLexer.g:78:26: '<='
1065 { 779 {
1066 match("<="); 780 match("<=");
1067 781
@@ -1081,8 +795,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1081 try { 795 try {
1082 int _type = EqualsSignEqualsSign; 796 int _type = EqualsSignEqualsSign;
1083 int _channel = DEFAULT_TOKEN_CHANNEL; 797 int _channel = DEFAULT_TOKEN_CHANNEL;
1084 // InternalSolverLanguageLexer.g:106:22: ( '==' ) 798 // InternalSolverLanguageLexer.g:80:22: ( '==' )
1085 // InternalSolverLanguageLexer.g:106:24: '==' 799 // InternalSolverLanguageLexer.g:80:24: '=='
1086 { 800 {
1087 match("=="); 801 match("==");
1088 802
@@ -1097,15 +811,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1097 } 811 }
1098 // $ANTLR end "EqualsSignEqualsSign" 812 // $ANTLR end "EqualsSignEqualsSign"
1099 813
1100 // $ANTLR start "GreaterThanSignEqualsSign" 814 // $ANTLR start "EqualsSignGreaterThanSign"
1101 public final void mGreaterThanSignEqualsSign() throws RecognitionException { 815 public final void mEqualsSignGreaterThanSign() throws RecognitionException {
1102 try { 816 try {
1103 int _type = GreaterThanSignEqualsSign; 817 int _type = EqualsSignGreaterThanSign;
1104 int _channel = DEFAULT_TOKEN_CHANNEL; 818 int _channel = DEFAULT_TOKEN_CHANNEL;
1105 // InternalSolverLanguageLexer.g:108:27: ( '>=' ) 819 // InternalSolverLanguageLexer.g:82:27: ( '=>' )
1106 // InternalSolverLanguageLexer.g:108:29: '>=' 820 // InternalSolverLanguageLexer.g:82:29: '=>'
1107 { 821 {
1108 match(">="); 822 match("=>");
1109 823
1110 824
1111 } 825 }
@@ -1116,17 +830,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1116 finally { 830 finally {
1117 } 831 }
1118 } 832 }
1119 // $ANTLR end "GreaterThanSignEqualsSign" 833 // $ANTLR end "EqualsSignGreaterThanSign"
1120 834
1121 // $ANTLR start "EQ" 835 // $ANTLR start "GreaterThanSignEqualsSign"
1122 public final void mEQ() throws RecognitionException { 836 public final void mGreaterThanSignEqualsSign() throws RecognitionException {
1123 try { 837 try {
1124 int _type = EQ; 838 int _type = GreaterThanSignEqualsSign;
1125 int _channel = DEFAULT_TOKEN_CHANNEL; 839 int _channel = DEFAULT_TOKEN_CHANNEL;
1126 // InternalSolverLanguageLexer.g:110:4: ( 'EQ' ) 840 // InternalSolverLanguageLexer.g:84:27: ( '>=' )
1127 // InternalSolverLanguageLexer.g:110:6: 'EQ' 841 // InternalSolverLanguageLexer.g:84:29: '>='
1128 { 842 {
1129 match("EQ"); 843 match(">=");
1130 844
1131 845
1132 } 846 }
@@ -1137,17 +851,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1137 finally { 851 finally {
1138 } 852 }
1139 } 853 }
1140 // $ANTLR end "EQ" 854 // $ANTLR end "GreaterThanSignEqualsSign"
1141 855
1142 // $ANTLR start "IN" 856 // $ANTLR start "As"
1143 public final void mIN() throws RecognitionException { 857 public final void mAs() throws RecognitionException {
1144 try { 858 try {
1145 int _type = IN; 859 int _type = As;
1146 int _channel = DEFAULT_TOKEN_CHANNEL; 860 int _channel = DEFAULT_TOKEN_CHANNEL;
1147 // InternalSolverLanguageLexer.g:112:4: ( 'IN' ) 861 // InternalSolverLanguageLexer.g:86:4: ( 'as' )
1148 // InternalSolverLanguageLexer.g:112:6: 'IN' 862 // InternalSolverLanguageLexer.g:86:6: 'as'
1149 { 863 {
1150 match("IN"); 864 match("as");
1151 865
1152 866
1153 } 867 }
@@ -1158,15 +872,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1158 finally { 872 finally {
1159 } 873 }
1160 } 874 }
1161 // $ANTLR end "IN" 875 // $ANTLR end "As"
1162 876
1163 // $ANTLR start "If" 877 // $ANTLR start "If"
1164 public final void mIf() throws RecognitionException { 878 public final void mIf() throws RecognitionException {
1165 try { 879 try {
1166 int _type = If; 880 int _type = If;
1167 int _channel = DEFAULT_TOKEN_CHANNEL; 881 int _channel = DEFAULT_TOKEN_CHANNEL;
1168 // InternalSolverLanguageLexer.g:114:4: ( 'if' ) 882 // InternalSolverLanguageLexer.g:88:4: ( 'if' )
1169 // InternalSolverLanguageLexer.g:114:6: 'if' 883 // InternalSolverLanguageLexer.g:88:6: 'if'
1170 { 884 {
1171 match("if"); 885 match("if");
1172 886
@@ -1186,8 +900,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1186 try { 900 try {
1187 int _type = In; 901 int _type = In;
1188 int _channel = DEFAULT_TOKEN_CHANNEL; 902 int _channel = DEFAULT_TOKEN_CHANNEL;
1189 // InternalSolverLanguageLexer.g:116:4: ( 'in' ) 903 // InternalSolverLanguageLexer.g:90:4: ( 'in' )
1190 // InternalSolverLanguageLexer.g:116:6: 'in' 904 // InternalSolverLanguageLexer.g:90:6: 'in'
1191 { 905 {
1192 match("in"); 906 match("in");
1193 907
@@ -1207,8 +921,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1207 try { 921 try {
1208 int _type = ExclamationMark; 922 int _type = ExclamationMark;
1209 int _channel = DEFAULT_TOKEN_CHANNEL; 923 int _channel = DEFAULT_TOKEN_CHANNEL;
1210 // InternalSolverLanguageLexer.g:118:17: ( '!' ) 924 // InternalSolverLanguageLexer.g:92:17: ( '!' )
1211 // InternalSolverLanguageLexer.g:118:19: '!' 925 // InternalSolverLanguageLexer.g:92:19: '!'
1212 { 926 {
1213 match('!'); 927 match('!');
1214 928
@@ -1227,8 +941,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1227 try { 941 try {
1228 int _type = LeftParenthesis; 942 int _type = LeftParenthesis;
1229 int _channel = DEFAULT_TOKEN_CHANNEL; 943 int _channel = DEFAULT_TOKEN_CHANNEL;
1230 // InternalSolverLanguageLexer.g:120:17: ( '(' ) 944 // InternalSolverLanguageLexer.g:94:17: ( '(' )
1231 // InternalSolverLanguageLexer.g:120:19: '(' 945 // InternalSolverLanguageLexer.g:94:19: '('
1232 { 946 {
1233 match('('); 947 match('(');
1234 948
@@ -1247,8 +961,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1247 try { 961 try {
1248 int _type = RightParenthesis; 962 int _type = RightParenthesis;
1249 int _channel = DEFAULT_TOKEN_CHANNEL; 963 int _channel = DEFAULT_TOKEN_CHANNEL;
1250 // InternalSolverLanguageLexer.g:122:18: ( ')' ) 964 // InternalSolverLanguageLexer.g:96:18: ( ')' )
1251 // InternalSolverLanguageLexer.g:122:20: ')' 965 // InternalSolverLanguageLexer.g:96:20: ')'
1252 { 966 {
1253 match(')'); 967 match(')');
1254 968
@@ -1267,8 +981,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1267 try { 981 try {
1268 int _type = Asterisk; 982 int _type = Asterisk;
1269 int _channel = DEFAULT_TOKEN_CHANNEL; 983 int _channel = DEFAULT_TOKEN_CHANNEL;
1270 // InternalSolverLanguageLexer.g:124:10: ( '*' ) 984 // InternalSolverLanguageLexer.g:98:10: ( '*' )
1271 // InternalSolverLanguageLexer.g:124:12: '*' 985 // InternalSolverLanguageLexer.g:98:12: '*'
1272 { 986 {
1273 match('*'); 987 match('*');
1274 988
@@ -1287,8 +1001,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1287 try { 1001 try {
1288 int _type = PlusSign; 1002 int _type = PlusSign;
1289 int _channel = DEFAULT_TOKEN_CHANNEL; 1003 int _channel = DEFAULT_TOKEN_CHANNEL;
1290 // InternalSolverLanguageLexer.g:126:10: ( '+' ) 1004 // InternalSolverLanguageLexer.g:100:10: ( '+' )
1291 // InternalSolverLanguageLexer.g:126:12: '+' 1005 // InternalSolverLanguageLexer.g:100:12: '+'
1292 { 1006 {
1293 match('+'); 1007 match('+');
1294 1008
@@ -1307,8 +1021,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1307 try { 1021 try {
1308 int _type = Comma; 1022 int _type = Comma;
1309 int _channel = DEFAULT_TOKEN_CHANNEL; 1023 int _channel = DEFAULT_TOKEN_CHANNEL;
1310 // InternalSolverLanguageLexer.g:128:7: ( ',' ) 1024 // InternalSolverLanguageLexer.g:102:7: ( ',' )
1311 // InternalSolverLanguageLexer.g:128:9: ',' 1025 // InternalSolverLanguageLexer.g:102:9: ','
1312 { 1026 {
1313 match(','); 1027 match(',');
1314 1028
@@ -1327,8 +1041,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1327 try { 1041 try {
1328 int _type = HyphenMinus; 1042 int _type = HyphenMinus;
1329 int _channel = DEFAULT_TOKEN_CHANNEL; 1043 int _channel = DEFAULT_TOKEN_CHANNEL;
1330 // InternalSolverLanguageLexer.g:130:13: ( '-' ) 1044 // InternalSolverLanguageLexer.g:104:13: ( '-' )
1331 // InternalSolverLanguageLexer.g:130:15: '-' 1045 // InternalSolverLanguageLexer.g:104:15: '-'
1332 { 1046 {
1333 match('-'); 1047 match('-');
1334 1048
@@ -1347,8 +1061,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1347 try { 1061 try {
1348 int _type = FullStop; 1062 int _type = FullStop;
1349 int _channel = DEFAULT_TOKEN_CHANNEL; 1063 int _channel = DEFAULT_TOKEN_CHANNEL;
1350 // InternalSolverLanguageLexer.g:132:10: ( '.' ) 1064 // InternalSolverLanguageLexer.g:106:10: ( '.' )
1351 // InternalSolverLanguageLexer.g:132:12: '.' 1065 // InternalSolverLanguageLexer.g:106:12: '.'
1352 { 1066 {
1353 match('.'); 1067 match('.');
1354 1068
@@ -1367,8 +1081,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1367 try { 1081 try {
1368 int _type = Solidus; 1082 int _type = Solidus;
1369 int _channel = DEFAULT_TOKEN_CHANNEL; 1083 int _channel = DEFAULT_TOKEN_CHANNEL;
1370 // InternalSolverLanguageLexer.g:134:9: ( '/' ) 1084 // InternalSolverLanguageLexer.g:108:9: ( '/' )
1371 // InternalSolverLanguageLexer.g:134:11: '/' 1085 // InternalSolverLanguageLexer.g:108:11: '/'
1372 { 1086 {
1373 match('/'); 1087 match('/');
1374 1088
@@ -1387,8 +1101,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1387 try { 1101 try {
1388 int _type = Colon; 1102 int _type = Colon;
1389 int _channel = DEFAULT_TOKEN_CHANNEL; 1103 int _channel = DEFAULT_TOKEN_CHANNEL;
1390 // InternalSolverLanguageLexer.g:136:7: ( ':' ) 1104 // InternalSolverLanguageLexer.g:110:7: ( ':' )
1391 // InternalSolverLanguageLexer.g:136:9: ':' 1105 // InternalSolverLanguageLexer.g:110:9: ':'
1392 { 1106 {
1393 match(':'); 1107 match(':');
1394 1108
@@ -1407,8 +1121,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1407 try { 1121 try {
1408 int _type = Semicolon; 1122 int _type = Semicolon;
1409 int _channel = DEFAULT_TOKEN_CHANNEL; 1123 int _channel = DEFAULT_TOKEN_CHANNEL;
1410 // InternalSolverLanguageLexer.g:138:11: ( ';' ) 1124 // InternalSolverLanguageLexer.g:112:11: ( ';' )
1411 // InternalSolverLanguageLexer.g:138:13: ';' 1125 // InternalSolverLanguageLexer.g:112:13: ';'
1412 { 1126 {
1413 match(';'); 1127 match(';');
1414 1128
@@ -1427,8 +1141,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1427 try { 1141 try {
1428 int _type = LessThanSign; 1142 int _type = LessThanSign;
1429 int _channel = DEFAULT_TOKEN_CHANNEL; 1143 int _channel = DEFAULT_TOKEN_CHANNEL;
1430 // InternalSolverLanguageLexer.g:140:14: ( '<' ) 1144 // InternalSolverLanguageLexer.g:114:14: ( '<' )
1431 // InternalSolverLanguageLexer.g:140:16: '<' 1145 // InternalSolverLanguageLexer.g:114:16: '<'
1432 { 1146 {
1433 match('<'); 1147 match('<');
1434 1148
@@ -1447,8 +1161,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1447 try { 1161 try {
1448 int _type = EqualsSign; 1162 int _type = EqualsSign;
1449 int _channel = DEFAULT_TOKEN_CHANNEL; 1163 int _channel = DEFAULT_TOKEN_CHANNEL;
1450 // InternalSolverLanguageLexer.g:142:12: ( '=' ) 1164 // InternalSolverLanguageLexer.g:116:12: ( '=' )
1451 // InternalSolverLanguageLexer.g:142:14: '=' 1165 // InternalSolverLanguageLexer.g:116:14: '='
1452 { 1166 {
1453 match('='); 1167 match('=');
1454 1168
@@ -1467,8 +1181,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1467 try { 1181 try {
1468 int _type = GreaterThanSign; 1182 int _type = GreaterThanSign;
1469 int _channel = DEFAULT_TOKEN_CHANNEL; 1183 int _channel = DEFAULT_TOKEN_CHANNEL;
1470 // InternalSolverLanguageLexer.g:144:17: ( '>' ) 1184 // InternalSolverLanguageLexer.g:118:17: ( '>' )
1471 // InternalSolverLanguageLexer.g:144:19: '>' 1185 // InternalSolverLanguageLexer.g:118:19: '>'
1472 { 1186 {
1473 match('>'); 1187 match('>');
1474 1188
@@ -1487,8 +1201,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1487 try { 1201 try {
1488 int _type = LeftSquareBracket; 1202 int _type = LeftSquareBracket;
1489 int _channel = DEFAULT_TOKEN_CHANNEL; 1203 int _channel = DEFAULT_TOKEN_CHANNEL;
1490 // InternalSolverLanguageLexer.g:146:19: ( '[' ) 1204 // InternalSolverLanguageLexer.g:120:19: ( '[' )
1491 // InternalSolverLanguageLexer.g:146:21: '[' 1205 // InternalSolverLanguageLexer.g:120:21: '['
1492 { 1206 {
1493 match('['); 1207 match('[');
1494 1208
@@ -1507,8 +1221,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1507 try { 1221 try {
1508 int _type = RightSquareBracket; 1222 int _type = RightSquareBracket;
1509 int _channel = DEFAULT_TOKEN_CHANNEL; 1223 int _channel = DEFAULT_TOKEN_CHANNEL;
1510 // InternalSolverLanguageLexer.g:148:20: ( ']' ) 1224 // InternalSolverLanguageLexer.g:122:20: ( ']' )
1511 // InternalSolverLanguageLexer.g:148:22: ']' 1225 // InternalSolverLanguageLexer.g:122:22: ']'
1512 { 1226 {
1513 match(']'); 1227 match(']');
1514 1228
@@ -1527,8 +1241,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1527 try { 1241 try {
1528 int _type = CircumflexAccent; 1242 int _type = CircumflexAccent;
1529 int _channel = DEFAULT_TOKEN_CHANNEL; 1243 int _channel = DEFAULT_TOKEN_CHANNEL;
1530 // InternalSolverLanguageLexer.g:150:18: ( '^' ) 1244 // InternalSolverLanguageLexer.g:124:18: ( '^' )
1531 // InternalSolverLanguageLexer.g:150:20: '^' 1245 // InternalSolverLanguageLexer.g:124:20: '^'
1532 { 1246 {
1533 match('^'); 1247 match('^');
1534 1248
@@ -1547,8 +1261,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1547 try { 1261 try {
1548 int _type = LeftCurlyBracket; 1262 int _type = LeftCurlyBracket;
1549 int _channel = DEFAULT_TOKEN_CHANNEL; 1263 int _channel = DEFAULT_TOKEN_CHANNEL;
1550 // InternalSolverLanguageLexer.g:152:18: ( '{' ) 1264 // InternalSolverLanguageLexer.g:126:18: ( '{' )
1551 // InternalSolverLanguageLexer.g:152:20: '{' 1265 // InternalSolverLanguageLexer.g:126:20: '{'
1552 { 1266 {
1553 match('{'); 1267 match('{');
1554 1268
@@ -1567,8 +1281,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1567 try { 1281 try {
1568 int _type = VerticalLine; 1282 int _type = VerticalLine;
1569 int _channel = DEFAULT_TOKEN_CHANNEL; 1283 int _channel = DEFAULT_TOKEN_CHANNEL;
1570 // InternalSolverLanguageLexer.g:154:14: ( '|' ) 1284 // InternalSolverLanguageLexer.g:128:14: ( '|' )
1571 // InternalSolverLanguageLexer.g:154:16: '|' 1285 // InternalSolverLanguageLexer.g:128:16: '|'
1572 { 1286 {
1573 match('|'); 1287 match('|');
1574 1288
@@ -1587,8 +1301,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1587 try { 1301 try {
1588 int _type = RightCurlyBracket; 1302 int _type = RightCurlyBracket;
1589 int _channel = DEFAULT_TOKEN_CHANNEL; 1303 int _channel = DEFAULT_TOKEN_CHANNEL;
1590 // InternalSolverLanguageLexer.g:156:19: ( '}' ) 1304 // InternalSolverLanguageLexer.g:130:19: ( '}' )
1591 // InternalSolverLanguageLexer.g:156:21: '}' 1305 // InternalSolverLanguageLexer.g:130:21: '}'
1592 { 1306 {
1593 match('}'); 1307 match('}');
1594 1308
@@ -1607,11 +1321,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1607 try { 1321 try {
1608 int _type = RULE_STRING; 1322 int _type = RULE_STRING;
1609 int _channel = DEFAULT_TOKEN_CHANNEL; 1323 int _channel = DEFAULT_TOKEN_CHANNEL;
1610 // InternalSolverLanguageLexer.g:158:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1324 // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1611 // InternalSolverLanguageLexer.g:158:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1325 // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1612 { 1326 {
1613 match('\"'); 1327 match('\"');
1614 // InternalSolverLanguageLexer.g:158:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1328 // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1615 loop1: 1329 loop1:
1616 do { 1330 do {
1617 int alt1=3; 1331 int alt1=3;
@@ -1627,7 +1341,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1627 1341
1628 switch (alt1) { 1342 switch (alt1) {
1629 case 1 : 1343 case 1 :
1630 // InternalSolverLanguageLexer.g:158:20: '\\\\' . 1344 // InternalSolverLanguageLexer.g:132:20: '\\\\' .
1631 { 1345 {
1632 match('\\'); 1346 match('\\');
1633 matchAny(); 1347 matchAny();
@@ -1635,7 +1349,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1635 } 1349 }
1636 break; 1350 break;
1637 case 2 : 1351 case 2 :
1638 // InternalSolverLanguageLexer.g:158:27: ~ ( ( '\\\\' | '\"' ) ) 1352 // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) )
1639 { 1353 {
1640 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1354 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1641 input.consume(); 1355 input.consume();
@@ -1672,11 +1386,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1672 try { 1386 try {
1673 int _type = RULE_QUOTED_ID; 1387 int _type = RULE_QUOTED_ID;
1674 int _channel = DEFAULT_TOKEN_CHANNEL; 1388 int _channel = DEFAULT_TOKEN_CHANNEL;
1675 // InternalSolverLanguageLexer.g:160:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1389 // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1676 // InternalSolverLanguageLexer.g:160:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 1390 // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1677 { 1391 {
1678 match('\''); 1392 match('\'');
1679 // InternalSolverLanguageLexer.g:160:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 1393 // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1680 loop2: 1394 loop2:
1681 do { 1395 do {
1682 int alt2=3; 1396 int alt2=3;
@@ -1692,7 +1406,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1692 1406
1693 switch (alt2) { 1407 switch (alt2) {
1694 case 1 : 1408 case 1 :
1695 // InternalSolverLanguageLexer.g:160:24: '\\\\' . 1409 // InternalSolverLanguageLexer.g:134:24: '\\\\' .
1696 { 1410 {
1697 match('\\'); 1411 match('\\');
1698 matchAny(); 1412 matchAny();
@@ -1700,7 +1414,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1700 } 1414 }
1701 break; 1415 break;
1702 case 2 : 1416 case 2 :
1703 // InternalSolverLanguageLexer.g:160:31: ~ ( ( '\\\\' | '\\'' ) ) 1417 // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) )
1704 { 1418 {
1705 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1419 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1706 input.consume(); 1420 input.consume();
@@ -1737,10 +1451,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1737 try { 1451 try {
1738 int _type = RULE_SL_COMMENT; 1452 int _type = RULE_SL_COMMENT;
1739 int _channel = DEFAULT_TOKEN_CHANNEL; 1453 int _channel = DEFAULT_TOKEN_CHANNEL;
1740 // InternalSolverLanguageLexer.g:162:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1454 // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1741 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1455 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1742 { 1456 {
1743 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) 1457 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' )
1744 int alt3=2; 1458 int alt3=2;
1745 int LA3_0 = input.LA(1); 1459 int LA3_0 = input.LA(1);
1746 1460
@@ -1758,14 +1472,14 @@ public class InternalSolverLanguageLexer extends Lexer {
1758 } 1472 }
1759 switch (alt3) { 1473 switch (alt3) {
1760 case 1 : 1474 case 1 :
1761 // InternalSolverLanguageLexer.g:162:20: '%' 1475 // InternalSolverLanguageLexer.g:136:20: '%'
1762 { 1476 {
1763 match('%'); 1477 match('%');
1764 1478
1765 } 1479 }
1766 break; 1480 break;
1767 case 2 : 1481 case 2 :
1768 // InternalSolverLanguageLexer.g:162:24: '//' 1482 // InternalSolverLanguageLexer.g:136:24: '//'
1769 { 1483 {
1770 match("//"); 1484 match("//");
1771 1485
@@ -1775,7 +1489,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1775 1489
1776 } 1490 }
1777 1491
1778 // InternalSolverLanguageLexer.g:162:30: (~ ( ( '\\n' | '\\r' ) ) )* 1492 // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )*
1779 loop4: 1493 loop4:
1780 do { 1494 do {
1781 int alt4=2; 1495 int alt4=2;
@@ -1788,7 +1502,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1788 1502
1789 switch (alt4) { 1503 switch (alt4) {
1790 case 1 : 1504 case 1 :
1791 // InternalSolverLanguageLexer.g:162:30: ~ ( ( '\\n' | '\\r' ) ) 1505 // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\n' | '\\r' ) )
1792 { 1506 {
1793 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 1507 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
1794 input.consume(); 1508 input.consume();
@@ -1808,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1808 } 1522 }
1809 } while (true); 1523 } while (true);
1810 1524
1811 // InternalSolverLanguageLexer.g:162:46: ( ( '\\r' )? '\\n' )? 1525 // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )?
1812 int alt6=2; 1526 int alt6=2;
1813 int LA6_0 = input.LA(1); 1527 int LA6_0 = input.LA(1);
1814 1528
@@ -1817,9 +1531,9 @@ public class InternalSolverLanguageLexer extends Lexer {
1817 } 1531 }
1818 switch (alt6) { 1532 switch (alt6) {
1819 case 1 : 1533 case 1 :
1820 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? '\\n' 1534 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n'
1821 { 1535 {
1822 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? 1536 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )?
1823 int alt5=2; 1537 int alt5=2;
1824 int LA5_0 = input.LA(1); 1538 int LA5_0 = input.LA(1);
1825 1539
@@ -1828,7 +1542,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1828 } 1542 }
1829 switch (alt5) { 1543 switch (alt5) {
1830 case 1 : 1544 case 1 :
1831 // InternalSolverLanguageLexer.g:162:47: '\\r' 1545 // InternalSolverLanguageLexer.g:136:47: '\\r'
1832 { 1546 {
1833 match('\r'); 1547 match('\r');
1834 1548
@@ -1858,8 +1572,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1858 // $ANTLR start "RULE_TRANSITIVE_CLOSURE" 1572 // $ANTLR start "RULE_TRANSITIVE_CLOSURE"
1859 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { 1573 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException {
1860 try { 1574 try {
1861 // InternalSolverLanguageLexer.g:164:34: () 1575 // InternalSolverLanguageLexer.g:138:34: ()
1862 // InternalSolverLanguageLexer.g:164:36: 1576 // InternalSolverLanguageLexer.g:138:36:
1863 { 1577 {
1864 } 1578 }
1865 1579
@@ -1872,8 +1586,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1872 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" 1586 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE"
1873 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { 1587 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException {
1874 try { 1588 try {
1875 // InternalSolverLanguageLexer.g:166:44: () 1589 // InternalSolverLanguageLexer.g:140:44: ()
1876 // InternalSolverLanguageLexer.g:166:46: 1590 // InternalSolverLanguageLexer.g:140:46:
1877 { 1591 {
1878 } 1592 }
1879 1593
@@ -1886,8 +1600,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1886 // $ANTLR start "RULE_FULL_STOP" 1600 // $ANTLR start "RULE_FULL_STOP"
1887 public final void mRULE_FULL_STOP() throws RecognitionException { 1601 public final void mRULE_FULL_STOP() throws RecognitionException {
1888 try { 1602 try {
1889 // InternalSolverLanguageLexer.g:168:25: () 1603 // InternalSolverLanguageLexer.g:142:25: ()
1890 // InternalSolverLanguageLexer.g:168:27: 1604 // InternalSolverLanguageLexer.g:142:27:
1891 { 1605 {
1892 } 1606 }
1893 1607
@@ -1902,10 +1616,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1902 try { 1616 try {
1903 int _type = RULE_ID; 1617 int _type = RULE_ID;
1904 int _channel = DEFAULT_TOKEN_CHANNEL; 1618 int _channel = DEFAULT_TOKEN_CHANNEL;
1905 // InternalSolverLanguageLexer.g:170:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1619 // InternalSolverLanguageLexer.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1906 // InternalSolverLanguageLexer.g:170:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1620 // InternalSolverLanguageLexer.g:144:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1907 { 1621 {
1908 // InternalSolverLanguageLexer.g:170:11: ( '^' )? 1622 // InternalSolverLanguageLexer.g:144:11: ( '^' )?
1909 int alt7=2; 1623 int alt7=2;
1910 int LA7_0 = input.LA(1); 1624 int LA7_0 = input.LA(1);
1911 1625
@@ -1914,7 +1628,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1914 } 1628 }
1915 switch (alt7) { 1629 switch (alt7) {
1916 case 1 : 1630 case 1 :
1917 // InternalSolverLanguageLexer.g:170:11: '^' 1631 // InternalSolverLanguageLexer.g:144:11: '^'
1918 { 1632 {
1919 match('^'); 1633 match('^');
1920 1634
@@ -1932,7 +1646,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1932 recover(mse); 1646 recover(mse);
1933 throw mse;} 1647 throw mse;}
1934 1648
1935 // InternalSolverLanguageLexer.g:170:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1649 // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1936 loop8: 1650 loop8:
1937 do { 1651 do {
1938 int alt8=2; 1652 int alt8=2;
@@ -1981,10 +1695,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1981 try { 1695 try {
1982 int _type = RULE_INT; 1696 int _type = RULE_INT;
1983 int _channel = DEFAULT_TOKEN_CHANNEL; 1697 int _channel = DEFAULT_TOKEN_CHANNEL;
1984 // InternalSolverLanguageLexer.g:172:10: ( ( '0' .. '9' )+ ) 1698 // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ )
1985 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1699 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1986 { 1700 {
1987 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1701 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1988 int cnt9=0; 1702 int cnt9=0;
1989 loop9: 1703 loop9:
1990 do { 1704 do {
@@ -1998,7 +1712,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1998 1712
1999 switch (alt9) { 1713 switch (alt9) {
2000 case 1 : 1714 case 1 :
2001 // InternalSolverLanguageLexer.g:172:13: '0' .. '9' 1715 // InternalSolverLanguageLexer.g:146:13: '0' .. '9'
2002 { 1716 {
2003 matchRange('0','9'); 1717 matchRange('0','9');
2004 1718
@@ -2030,12 +1744,12 @@ public class InternalSolverLanguageLexer extends Lexer {
2030 try { 1744 try {
2031 int _type = RULE_ML_COMMENT; 1745 int _type = RULE_ML_COMMENT;
2032 int _channel = DEFAULT_TOKEN_CHANNEL; 1746 int _channel = DEFAULT_TOKEN_CHANNEL;
2033 // InternalSolverLanguageLexer.g:174:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1747 // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
2034 // InternalSolverLanguageLexer.g:174:19: '/*' ( options {greedy=false; } : . )* '*/' 1748 // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/'
2035 { 1749 {
2036 match("/*"); 1750 match("/*");
2037 1751
2038 // InternalSolverLanguageLexer.g:174:24: ( options {greedy=false; } : . )* 1752 // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )*
2039 loop10: 1753 loop10:
2040 do { 1754 do {
2041 int alt10=2; 1755 int alt10=2;
@@ -2060,7 +1774,7 @@ public class InternalSolverLanguageLexer extends Lexer {
2060 1774
2061 switch (alt10) { 1775 switch (alt10) {
2062 case 1 : 1776 case 1 :
2063 // InternalSolverLanguageLexer.g:174:52: . 1777 // InternalSolverLanguageLexer.g:148:52: .
2064 { 1778 {
2065 matchAny(); 1779 matchAny();
2066 1780
@@ -2090,10 +1804,10 @@ public class InternalSolverLanguageLexer extends Lexer {
2090 try { 1804 try {
2091 int _type = RULE_WS; 1805 int _type = RULE_WS;
2092 int _channel = DEFAULT_TOKEN_CHANNEL; 1806 int _channel = DEFAULT_TOKEN_CHANNEL;
2093 // InternalSolverLanguageLexer.g:176:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1807 // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2094 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1808 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2095 { 1809 {
2096 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1810 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2097 int cnt11=0; 1811 int cnt11=0;
2098 loop11: 1812 loop11:
2099 do { 1813 do {
@@ -2147,8 +1861,8 @@ public class InternalSolverLanguageLexer extends Lexer {
2147 try { 1861 try {
2148 int _type = RULE_ANY_OTHER; 1862 int _type = RULE_ANY_OTHER;
2149 int _channel = DEFAULT_TOKEN_CHANNEL; 1863 int _channel = DEFAULT_TOKEN_CHANNEL;
2150 // InternalSolverLanguageLexer.g:178:16: ( . ) 1864 // InternalSolverLanguageLexer.g:152:16: ( . )
2151 // InternalSolverLanguageLexer.g:178:18: . 1865 // InternalSolverLanguageLexer.g:152:18: .
2152 { 1866 {
2153 matchAny(); 1867 matchAny();
2154 1868
@@ -2163,565 +1877,474 @@ public class InternalSolverLanguageLexer extends Lexer {
2163 // $ANTLR end "RULE_ANY_OTHER" 1877 // $ANTLR end "RULE_ANY_OTHER"
2164 1878
2165 public void mTokens() throws RecognitionException { 1879 public void mTokens() throws RecognitionException {
2166 // InternalSolverLanguageLexer.g:1:8: ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1880 // InternalSolverLanguageLexer.g:1:8: ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER )
2167 int alt12=80; 1881 int alt12=67;
2168 alt12 = dfa12.predict(input); 1882 alt12 = dfa12.predict(input);
2169 switch (alt12) { 1883 switch (alt12) {
2170 case 1 : 1884 case 1 :
2171 // InternalSolverLanguageLexer.g:1:10: GREATER_EQ 1885 // InternalSolverLanguageLexer.g:1:10: Functional
2172 { 1886 {
2173 mGREATER_EQ(); 1887 mFunctional();
2174 1888
2175 } 1889 }
2176 break; 1890 break;
2177 case 2 : 1891 case 2 :
2178 // InternalSolverLanguageLexer.g:1:21: Functional 1892 // InternalSolverLanguageLexer.g:1:21: Abstract
2179 { 1893 {
2180 mFunctional(); 1894 mAbstract();
2181 1895
2182 } 1896 }
2183 break; 1897 break;
2184 case 3 : 1898 case 3 :
2185 // InternalSolverLanguageLexer.g:1:32: Abstract 1899 // InternalSolverLanguageLexer.g:1:30: Contains
2186 { 1900 {
2187 mAbstract(); 1901 mContains();
2188 1902
2189 } 1903 }
2190 break; 1904 break;
2191 case 4 : 1905 case 4 :
2192 // InternalSolverLanguageLexer.g:1:41: Contains 1906 // InternalSolverLanguageLexer.g:1:39: Datatype
2193 { 1907 {
2194 mContains(); 1908 mDatatype();
2195 1909
2196 } 1910 }
2197 break; 1911 break;
2198 case 5 : 1912 case 5 :
2199 // InternalSolverLanguageLexer.g:1:50: Maximize 1913 // InternalSolverLanguageLexer.g:1:48: Maximize
2200 { 1914 {
2201 mMaximize(); 1915 mMaximize();
2202 1916
2203 } 1917 }
2204 break; 1918 break;
2205 case 6 : 1919 case 6 :
2206 // InternalSolverLanguageLexer.g:1:59: Minimize 1920 // InternalSolverLanguageLexer.g:1:57: Minimize
2207 { 1921 {
2208 mMinimize(); 1922 mMinimize();
2209 1923
2210 } 1924 }
2211 break; 1925 break;
2212 case 7 : 1926 case 7 :
2213 // InternalSolverLanguageLexer.g:1:68: Opposite 1927 // InternalSolverLanguageLexer.g:1:66: Opposite
2214 { 1928 {
2215 mOpposite(); 1929 mOpposite();
2216 1930
2217 } 1931 }
2218 break; 1932 break;
2219 case 8 : 1933 case 8 :
2220 // InternalSolverLanguageLexer.g:1:77: GREATER 1934 // InternalSolverLanguageLexer.g:1:75: Current
2221 { 1935 {
2222 mGREATER(); 1936 mCurrent();
2223 1937
2224 } 1938 }
2225 break; 1939 break;
2226 case 9 : 1940 case 9 :
2227 // InternalSolverLanguageLexer.g:1:85: LESS_EQ 1941 // InternalSolverLanguageLexer.g:1:83: Default
2228 { 1942 {
2229 mLESS_EQ(); 1943 mDefault();
2230 1944
2231 } 1945 }
2232 break; 1946 break;
2233 case 10 : 1947 case 10 :
2234 // InternalSolverLanguageLexer.g:1:93: Current 1948 // InternalSolverLanguageLexer.g:1:91: Extends
2235 { 1949 {
2236 mCurrent(); 1950 mExtends();
2237 1951
2238 } 1952 }
2239 break; 1953 break;
2240 case 11 : 1954 case 11 :
2241 // InternalSolverLanguageLexer.g:1:101: Default 1955 // InternalSolverLanguageLexer.g:1:99: Unknown
2242 { 1956 {
2243 mDefault(); 1957 mUnknown();
2244 1958
2245 } 1959 }
2246 break; 1960 break;
2247 case 12 : 1961 case 12 :
2248 // InternalSolverLanguageLexer.g:1:109: Extends 1962 // InternalSolverLanguageLexer.g:1:107: Exists
2249 { 1963 {
2250 mExtends(); 1964 mExists();
2251 1965
2252 } 1966 }
2253 break; 1967 break;
2254 case 13 : 1968 case 13 :
2255 // InternalSolverLanguageLexer.g:1:117: Unknown 1969 // InternalSolverLanguageLexer.g:1:114: Extern
2256 { 1970 {
2257 mUnknown(); 1971 mExtern();
2258 1972
2259 } 1973 }
2260 break; 1974 break;
2261 case 14 : 1975 case 14 :
2262 // InternalSolverLanguageLexer.g:1:125: NOT_EQ 1976 // InternalSolverLanguageLexer.g:1:121: Forall
2263 { 1977 {
2264 mNOT_EQ(); 1978 mForall();
2265 1979
2266 } 1980 }
2267 break; 1981 break;
2268 case 15 : 1982 case 15 :
2269 // InternalSolverLanguageLexer.g:1:132: Extern 1983 // InternalSolverLanguageLexer.g:1:128: Class
2270 { 1984 {
2271 mExtern(); 1985 mClass();
2272 1986
2273 } 1987 }
2274 break; 1988 break;
2275 case 16 : 1989 case 16 :
2276 // InternalSolverLanguageLexer.g:1:139: Class 1990 // InternalSolverLanguageLexer.g:1:134: Count
2277 { 1991 {
2278 mClass(); 1992 mCount();
2279 1993
2280 } 1994 }
2281 break; 1995 break;
2282 case 17 : 1996 case 17 :
2283 // InternalSolverLanguageLexer.g:1:145: Count 1997 // InternalSolverLanguageLexer.g:1:140: Empty
2284 { 1998 {
2285 mCount(); 1999 mEmpty();
2286 2000
2287 } 2001 }
2288 break; 2002 break;
2289 case 18 : 2003 case 18 :
2290 // InternalSolverLanguageLexer.g:1:151: Empty 2004 // InternalSolverLanguageLexer.g:1:146: Error
2291 { 2005 {
2292 mEmpty(); 2006 mError();
2293 2007
2294 } 2008 }
2295 break; 2009 break;
2296 case 19 : 2010 case 19 :
2297 // InternalSolverLanguageLexer.g:1:157: Error 2011 // InternalSolverLanguageLexer.g:1:152: False
2298 { 2012 {
2299 mError(); 2013 mFalse();
2300 2014
2301 } 2015 }
2302 break; 2016 break;
2303 case 20 : 2017 case 20 :
2304 // InternalSolverLanguageLexer.g:1:163: False 2018 // InternalSolverLanguageLexer.g:1:158: Scope
2305 { 2019 {
2306 mFalse(); 2020 mScope();
2307 2021
2308 } 2022 }
2309 break; 2023 break;
2310 case 21 : 2024 case 21 :
2311 // InternalSolverLanguageLexer.g:1:169: Scope 2025 // InternalSolverLanguageLexer.g:1:164: Else
2312 { 2026 {
2313 mScope(); 2027 mElse();
2314 2028
2315 } 2029 }
2316 break; 2030 break;
2317 case 22 : 2031 case 22 :
2318 // InternalSolverLanguageLexer.g:1:175: LESS 2032 // InternalSolverLanguageLexer.g:1:169: Must
2319 { 2033 {
2320 mLESS(); 2034 mMust();
2321 2035
2322 } 2036 }
2323 break; 2037 break;
2324 case 23 : 2038 case 23 :
2325 // InternalSolverLanguageLexer.g:1:180: Else 2039 // InternalSolverLanguageLexer.g:1:174: Then
2326 { 2040 {
2327 mElse(); 2041 mThen();
2328 2042
2329 } 2043 }
2330 break; 2044 break;
2331 case 24 : 2045 case 24 :
2332 // InternalSolverLanguageLexer.g:1:185: Must 2046 // InternalSolverLanguageLexer.g:1:179: True
2333 { 2047 {
2334 mMust(); 2048 mTrue();
2335 2049
2336 } 2050 }
2337 break; 2051 break;
2338 case 25 : 2052 case 25 :
2339 // InternalSolverLanguageLexer.g:1:190: Only 2053 // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop
2340 { 2054 {
2341 mOnly(); 2055 mFullStopFullStopFullStop();
2342 2056
2343 } 2057 }
2344 break; 2058 break;
2345 case 26 : 2059 case 26 :
2346 // InternalSolverLanguageLexer.g:1:195: Prod 2060 // InternalSolverLanguageLexer.g:1:209: Inf
2347 { 2061 {
2348 mProd(); 2062 mInf();
2349 2063
2350 } 2064 }
2351 break; 2065 break;
2352 case 27 : 2066 case 27 :
2353 // InternalSolverLanguageLexer.g:1:200: Real 2067 // InternalSolverLanguageLexer.g:1:213: Let
2354 { 2068 {
2355 mReal(); 2069 mLet();
2356 2070
2357 } 2071 }
2358 break; 2072 break;
2359 case 28 : 2073 case 28 :
2360 // InternalSolverLanguageLexer.g:1:205: Then 2074 // InternalSolverLanguageLexer.g:1:217: May
2361 { 2075 {
2362 mThen(); 2076 mMay();
2363 2077
2364 } 2078 }
2365 break; 2079 break;
2366 case 29 : 2080 case 29 :
2367 // InternalSolverLanguageLexer.g:1:210: True 2081 // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign
2368 { 2082 {
2369 mTrue(); 2083 mExclamationMarkEqualsSign();
2370 2084
2371 } 2085 }
2372 break; 2086 break;
2373 case 30 : 2087 case 30 :
2374 // InternalSolverLanguageLexer.g:1:215: ADD 2088 // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign
2375 { 2089 {
2376 mADD(); 2090 mHyphenMinusGreaterThanSign();
2377 2091
2378 } 2092 }
2379 break; 2093 break;
2380 case 31 : 2094 case 31 :
2381 // InternalSolverLanguageLexer.g:1:219: DIV 2095 // InternalSolverLanguageLexer.g:1:274: FullStopFullStop
2382 { 2096 {
2383 mDIV(); 2097 mFullStopFullStop();
2384 2098
2385 } 2099 }
2386 break; 2100 break;
2387 case 32 : 2101 case 32 :
2388 // InternalSolverLanguageLexer.g:1:223: MUL 2102 // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus
2389 { 2103 {
2390 mMUL(); 2104 mColonHyphenMinus();
2391 2105
2392 } 2106 }
2393 break; 2107 break;
2394 case 33 : 2108 case 33 :
2395 // InternalSolverLanguageLexer.g:1:227: POW 2109 // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign
2396 { 2110 {
2397 mPOW(); 2111 mLessThanSignEqualsSign();
2398 2112
2399 } 2113 }
2400 break; 2114 break;
2401 case 34 : 2115 case 34 :
2402 // InternalSolverLanguageLexer.g:1:231: SUB 2116 // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign
2403 { 2117 {
2404 mSUB(); 2118 mEqualsSignEqualsSign();
2405 2119
2406 } 2120 }
2407 break; 2121 break;
2408 case 35 : 2122 case 35 :
2409 // InternalSolverLanguageLexer.g:1:235: Avg 2123 // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign
2410 { 2124 {
2411 mAvg(); 2125 mEqualsSignGreaterThanSign();
2412 2126
2413 } 2127 }
2414 break; 2128 break;
2415 case 36 : 2129 case 36 :
2416 // InternalSolverLanguageLexer.g:1:239: Inf 2130 // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign
2417 { 2131 {
2418 mInf(); 2132 mGreaterThanSignEqualsSign();
2419 2133
2420 } 2134 }
2421 break; 2135 break;
2422 case 37 : 2136 case 37 :
2423 // InternalSolverLanguageLexer.g:1:243: Int 2137 // InternalSolverLanguageLexer.g:1:404: As
2424 { 2138 {
2425 mInt(); 2139 mAs();
2426 2140
2427 } 2141 }
2428 break; 2142 break;
2429 case 38 : 2143 case 38 :
2430 // InternalSolverLanguageLexer.g:1:247: Max 2144 // InternalSolverLanguageLexer.g:1:407: If
2431 {
2432 mMax();
2433
2434 }
2435 break;
2436 case 39 :
2437 // InternalSolverLanguageLexer.g:1:251: May
2438 {
2439 mMay();
2440
2441 }
2442 break;
2443 case 40 :
2444 // InternalSolverLanguageLexer.g:1:255: Min
2445 {
2446 mMin();
2447
2448 }
2449 break;
2450 case 41 :
2451 // InternalSolverLanguageLexer.g:1:259: Sum
2452 {
2453 mSum();
2454
2455 }
2456 break;
2457 case 42 :
2458 // InternalSolverLanguageLexer.g:1:263: ExclamationMarkEqualsSign
2459 {
2460 mExclamationMarkEqualsSign();
2461
2462 }
2463 break;
2464 case 43 :
2465 // InternalSolverLanguageLexer.g:1:289: HyphenMinusGreaterThanSign
2466 {
2467 mHyphenMinusGreaterThanSign();
2468
2469 }
2470 break;
2471 case 44 :
2472 // InternalSolverLanguageLexer.g:1:316: FullStopFullStop
2473 {
2474 mFullStopFullStop();
2475
2476 }
2477 break;
2478 case 45 :
2479 // InternalSolverLanguageLexer.g:1:333: ColonHyphenMinus
2480 {
2481 mColonHyphenMinus();
2482
2483 }
2484 break;
2485 case 46 :
2486 // InternalSolverLanguageLexer.g:1:350: LessThanSignEqualsSign
2487 {
2488 mLessThanSignEqualsSign();
2489
2490 }
2491 break;
2492 case 47 :
2493 // InternalSolverLanguageLexer.g:1:373: EqualsSignEqualsSign
2494 {
2495 mEqualsSignEqualsSign();
2496
2497 }
2498 break;
2499 case 48 :
2500 // InternalSolverLanguageLexer.g:1:394: GreaterThanSignEqualsSign
2501 {
2502 mGreaterThanSignEqualsSign();
2503
2504 }
2505 break;
2506 case 49 :
2507 // InternalSolverLanguageLexer.g:1:420: EQ
2508 {
2509 mEQ();
2510
2511 }
2512 break;
2513 case 50 :
2514 // InternalSolverLanguageLexer.g:1:423: IN
2515 {
2516 mIN();
2517
2518 }
2519 break;
2520 case 51 :
2521 // InternalSolverLanguageLexer.g:1:426: If
2522 { 2145 {
2523 mIf(); 2146 mIf();
2524 2147
2525 } 2148 }
2526 break; 2149 break;
2527 case 52 : 2150 case 39 :
2528 // InternalSolverLanguageLexer.g:1:429: In 2151 // InternalSolverLanguageLexer.g:1:410: In
2529 { 2152 {
2530 mIn(); 2153 mIn();
2531 2154
2532 } 2155 }
2533 break; 2156 break;
2534 case 53 : 2157 case 40 :
2535 // InternalSolverLanguageLexer.g:1:432: ExclamationMark 2158 // InternalSolverLanguageLexer.g:1:413: ExclamationMark
2536 { 2159 {
2537 mExclamationMark(); 2160 mExclamationMark();
2538 2161
2539 } 2162 }
2540 break; 2163 break;
2541 case 54 : 2164 case 41 :
2542 // InternalSolverLanguageLexer.g:1:448: LeftParenthesis 2165 // InternalSolverLanguageLexer.g:1:429: LeftParenthesis
2543 { 2166 {
2544 mLeftParenthesis(); 2167 mLeftParenthesis();
2545 2168
2546 } 2169 }
2547 break; 2170 break;
2548 case 55 : 2171 case 42 :
2549 // InternalSolverLanguageLexer.g:1:464: RightParenthesis 2172 // InternalSolverLanguageLexer.g:1:445: RightParenthesis
2550 { 2173 {
2551 mRightParenthesis(); 2174 mRightParenthesis();
2552 2175
2553 } 2176 }
2554 break; 2177 break;
2555 case 56 : 2178 case 43 :
2556 // InternalSolverLanguageLexer.g:1:481: Asterisk 2179 // InternalSolverLanguageLexer.g:1:462: Asterisk
2557 { 2180 {
2558 mAsterisk(); 2181 mAsterisk();
2559 2182
2560 } 2183 }
2561 break; 2184 break;
2562 case 57 : 2185 case 44 :
2563 // InternalSolverLanguageLexer.g:1:490: PlusSign 2186 // InternalSolverLanguageLexer.g:1:471: PlusSign
2564 { 2187 {
2565 mPlusSign(); 2188 mPlusSign();
2566 2189
2567 } 2190 }
2568 break; 2191 break;
2569 case 58 : 2192 case 45 :
2570 // InternalSolverLanguageLexer.g:1:499: Comma 2193 // InternalSolverLanguageLexer.g:1:480: Comma
2571 { 2194 {
2572 mComma(); 2195 mComma();
2573 2196
2574 } 2197 }
2575 break; 2198 break;
2576 case 59 : 2199 case 46 :
2577 // InternalSolverLanguageLexer.g:1:505: HyphenMinus 2200 // InternalSolverLanguageLexer.g:1:486: HyphenMinus
2578 { 2201 {
2579 mHyphenMinus(); 2202 mHyphenMinus();
2580 2203
2581 } 2204 }
2582 break; 2205 break;
2583 case 60 : 2206 case 47 :
2584 // InternalSolverLanguageLexer.g:1:517: FullStop 2207 // InternalSolverLanguageLexer.g:1:498: FullStop
2585 { 2208 {
2586 mFullStop(); 2209 mFullStop();
2587 2210
2588 } 2211 }
2589 break; 2212 break;
2590 case 61 : 2213 case 48 :
2591 // InternalSolverLanguageLexer.g:1:526: Solidus 2214 // InternalSolverLanguageLexer.g:1:507: Solidus
2592 { 2215 {
2593 mSolidus(); 2216 mSolidus();
2594 2217
2595 } 2218 }
2596 break; 2219 break;
2597 case 62 : 2220 case 49 :
2598 // InternalSolverLanguageLexer.g:1:534: Colon 2221 // InternalSolverLanguageLexer.g:1:515: Colon
2599 { 2222 {
2600 mColon(); 2223 mColon();
2601 2224
2602 } 2225 }
2603 break; 2226 break;
2604 case 63 : 2227 case 50 :
2605 // InternalSolverLanguageLexer.g:1:540: Semicolon 2228 // InternalSolverLanguageLexer.g:1:521: Semicolon
2606 { 2229 {
2607 mSemicolon(); 2230 mSemicolon();
2608 2231
2609 } 2232 }
2610 break; 2233 break;
2611 case 64 : 2234 case 51 :
2612 // InternalSolverLanguageLexer.g:1:550: LessThanSign 2235 // InternalSolverLanguageLexer.g:1:531: LessThanSign
2613 { 2236 {
2614 mLessThanSign(); 2237 mLessThanSign();
2615 2238
2616 } 2239 }
2617 break; 2240 break;
2618 case 65 : 2241 case 52 :
2619 // InternalSolverLanguageLexer.g:1:563: EqualsSign 2242 // InternalSolverLanguageLexer.g:1:544: EqualsSign
2620 { 2243 {
2621 mEqualsSign(); 2244 mEqualsSign();
2622 2245
2623 } 2246 }
2624 break; 2247 break;
2625 case 66 : 2248 case 53 :
2626 // InternalSolverLanguageLexer.g:1:574: GreaterThanSign 2249 // InternalSolverLanguageLexer.g:1:555: GreaterThanSign
2627 { 2250 {
2628 mGreaterThanSign(); 2251 mGreaterThanSign();
2629 2252
2630 } 2253 }
2631 break; 2254 break;
2632 case 67 : 2255 case 54 :
2633 // InternalSolverLanguageLexer.g:1:590: LeftSquareBracket 2256 // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket
2634 { 2257 {
2635 mLeftSquareBracket(); 2258 mLeftSquareBracket();
2636 2259
2637 } 2260 }
2638 break; 2261 break;
2639 case 68 : 2262 case 55 :
2640 // InternalSolverLanguageLexer.g:1:608: RightSquareBracket 2263 // InternalSolverLanguageLexer.g:1:589: RightSquareBracket
2641 { 2264 {
2642 mRightSquareBracket(); 2265 mRightSquareBracket();
2643 2266
2644 } 2267 }
2645 break; 2268 break;
2646 case 69 : 2269 case 56 :
2647 // InternalSolverLanguageLexer.g:1:627: CircumflexAccent 2270 // InternalSolverLanguageLexer.g:1:608: CircumflexAccent
2648 { 2271 {
2649 mCircumflexAccent(); 2272 mCircumflexAccent();
2650 2273
2651 } 2274 }
2652 break; 2275 break;
2653 case 70 : 2276 case 57 :
2654 // InternalSolverLanguageLexer.g:1:644: LeftCurlyBracket 2277 // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket
2655 { 2278 {
2656 mLeftCurlyBracket(); 2279 mLeftCurlyBracket();
2657 2280
2658 } 2281 }
2659 break; 2282 break;
2660 case 71 : 2283 case 58 :
2661 // InternalSolverLanguageLexer.g:1:661: VerticalLine 2284 // InternalSolverLanguageLexer.g:1:642: VerticalLine
2662 { 2285 {
2663 mVerticalLine(); 2286 mVerticalLine();
2664 2287
2665 } 2288 }
2666 break; 2289 break;
2667 case 72 : 2290 case 59 :
2668 // InternalSolverLanguageLexer.g:1:674: RightCurlyBracket 2291 // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket
2669 { 2292 {
2670 mRightCurlyBracket(); 2293 mRightCurlyBracket();
2671 2294
2672 } 2295 }
2673 break; 2296 break;
2674 case 73 : 2297 case 60 :
2675 // InternalSolverLanguageLexer.g:1:692: RULE_STRING 2298 // InternalSolverLanguageLexer.g:1:673: RULE_STRING
2676 { 2299 {
2677 mRULE_STRING(); 2300 mRULE_STRING();
2678 2301
2679 } 2302 }
2680 break; 2303 break;
2681 case 74 : 2304 case 61 :
2682 // InternalSolverLanguageLexer.g:1:704: RULE_QUOTED_ID 2305 // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID
2683 { 2306 {
2684 mRULE_QUOTED_ID(); 2307 mRULE_QUOTED_ID();
2685 2308
2686 } 2309 }
2687 break; 2310 break;
2688 case 75 : 2311 case 62 :
2689 // InternalSolverLanguageLexer.g:1:719: RULE_SL_COMMENT 2312 // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT
2690 { 2313 {
2691 mRULE_SL_COMMENT(); 2314 mRULE_SL_COMMENT();
2692 2315
2693 } 2316 }
2694 break; 2317 break;
2695 case 76 : 2318 case 63 :
2696 // InternalSolverLanguageLexer.g:1:735: RULE_ID 2319 // InternalSolverLanguageLexer.g:1:716: RULE_ID
2697 { 2320 {
2698 mRULE_ID(); 2321 mRULE_ID();
2699 2322
2700 } 2323 }
2701 break; 2324 break;
2702 case 77 : 2325 case 64 :
2703 // InternalSolverLanguageLexer.g:1:743: RULE_INT 2326 // InternalSolverLanguageLexer.g:1:724: RULE_INT
2704 { 2327 {
2705 mRULE_INT(); 2328 mRULE_INT();
2706 2329
2707 } 2330 }
2708 break; 2331 break;
2709 case 78 : 2332 case 65 :
2710 // InternalSolverLanguageLexer.g:1:752: RULE_ML_COMMENT 2333 // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT
2711 { 2334 {
2712 mRULE_ML_COMMENT(); 2335 mRULE_ML_COMMENT();
2713 2336
2714 } 2337 }
2715 break; 2338 break;
2716 case 79 : 2339 case 66 :
2717 // InternalSolverLanguageLexer.g:1:768: RULE_WS 2340 // InternalSolverLanguageLexer.g:1:749: RULE_WS
2718 { 2341 {
2719 mRULE_WS(); 2342 mRULE_WS();
2720 2343
2721 } 2344 }
2722 break; 2345 break;
2723 case 80 : 2346 case 67 :
2724 // InternalSolverLanguageLexer.g:1:776: RULE_ANY_OTHER 2347 // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER
2725 { 2348 {
2726 mRULE_ANY_OTHER(); 2349 mRULE_ANY_OTHER();
2727 2350
@@ -2735,105 +2358,86 @@ public class InternalSolverLanguageLexer extends Lexer {
2735 2358
2736 protected DFA12 dfa12 = new DFA12(this); 2359 protected DFA12 dfa12 = new DFA12(this);
2737 static final String DFA12_eotS = 2360 static final String DFA12_eotS =
2738 "\1\uffff\25\64\1\127\1\131\1\133\1\135\1\137\1\141\1\143\2\64\5\uffff\1\155\3\uffff\1\161\3\uffff\2\62\5\uffff\1\64\1\uffff\37\64\1\u009d\1\u009e\16\uffff\1\u009f\1\u00a0\23\uffff\4\64\1\u00a5\4\64\1\u00ab\1\u00ac\1\u00ae\14\64\1\u00bb\4\64\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\4\uffff\4\64\1\uffff\5\64\2\uffff\1\64\1\uffff\1\u00d1\1\64\1\u00d3\1\u00d5\4\64\1\u00db\3\64\1\uffff\1\u00df\1\u00e0\1\u00e1\1\u00e2\7\uffff\2\64\1\u00e5\2\64\1\u00e8\1\64\1\u00ea\2\64\1\uffff\1\64\1\uffff\1\64\1\uffff\3\64\1\u00f2\1\u00f3\1\uffff\2\64\1\u00f6\4\uffff\2\64\1\uffff\2\64\1\uffff\1\64\1\uffff\6\64\1\u0102\2\uffff\1\64\1\u0104\1\uffff\1\u0106\3\64\1\u010a\3\64\1\u010e\1\u010f\1\u0110\1\uffff\1\u0111\1\uffff\1\64\1\uffff\1\64\1\u0114\1\u0115\1\uffff\1\u0116\1\u0117\1\u0118\4\uffff\2\64\5\uffff\1\u011b\1\u011c\2\uffff"; 2361 "\1\uffff\12\53\1\100\2\53\1\105\1\107\1\111\1\113\1\116\1\120\5\uffff\1\130\3\uffff\1\134\3\uffff\2\47\5\uffff\3\53\1\uffff\1\53\1\150\21\53\1\176\1\uffff\1\u0080\1\u0081\1\53\40\uffff\4\53\1\uffff\7\53\1\u008e\14\53\2\uffff\1\u009b\2\uffff\1\u009c\13\53\1\uffff\1\53\1\u00a9\5\53\1\u00b0\2\53\1\u00b3\1\u00b4\2\uffff\2\53\1\u00b7\2\53\1\u00ba\1\53\1\u00bc\4\53\1\uffff\4\53\1\u00c5\1\u00c6\1\uffff\1\53\1\u00c8\2\uffff\1\53\1\u00ca\1\uffff\2\53\1\uffff\1\53\1\uffff\6\53\1\u00d4\1\u00d5\2\uffff\1\53\1\uffff\1\53\1\uffff\2\53\1\u00da\1\53\1\u00dc\3\53\1\u00e0\2\uffff\1\u00e1\1\53\1\u00e3\1\u00e4\1\uffff\1\u00e5\1\uffff\1\u00e6\1\u00e7\1\u00e8\2\uffff\1\53\6\uffff\1\u00ea\1\uffff";
2739 static final String DFA12_eofS = 2362 static final String DFA12_eofS =
2740 "\u011d\uffff"; 2363 "\u00eb\uffff";
2741 static final String DFA12_minS = 2364 static final String DFA12_minS =
2742 "\1\0\1\122\1\141\1\142\1\154\1\141\1\156\1\105\1\145\1\154\1\156\1\117\1\143\1\162\1\145\1\150\1\104\1\111\1\125\1\117\1\125\1\146\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\156\1\162\1\141\1\170\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\60\16\uffff\2\60\23\uffff\1\101\1\143\1\163\1\164\1\60\1\164\1\156\1\162\1\163\3\60\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\60\1\144\1\154\1\156\1\145\7\60\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\60\1\163\2\60\1\165\1\156\1\171\1\162\1\60\1\157\1\105\1\145\1\uffff\4\60\7\uffff\1\105\1\151\1\60\1\141\1\151\1\60\1\156\1\60\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\60\1\uffff\1\167\1\121\1\60\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\60\2\uffff\1\156\1\60\1\uffff\1\60\1\156\1\164\1\163\1\60\3\145\3\60\1\uffff\1\60\1\uffff\1\105\1\uffff\1\141\2\60\1\uffff\3\60\4\uffff\1\121\1\154\5\uffff\2\60\2\uffff"; 2365 "\1\0\1\141\1\142\1\154\2\141\1\160\1\154\1\156\1\143\1\150\1\56\1\146\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\60\1\156\1\162\1\141\1\164\1\146\1\170\1\156\1\163\1\160\1\151\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\60\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\60\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\60\2\uffff\1\60\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\60\1\163\1\156\1\164\1\171\1\162\1\60\1\157\1\145\2\60\2\uffff\1\151\1\154\1\60\1\141\1\151\1\60\1\156\1\60\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\60\1\uffff\1\167\1\60\2\uffff\1\157\1\60\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\60\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\60\1\145\1\60\3\145\1\60\2\uffff\1\60\1\141\2\60\1\uffff\1\60\1\uffff\3\60\2\uffff\1\154\6\uffff\1\60\1\uffff";
2743 static final String DFA12_maxS = 2366 static final String DFA12_maxS =
2744 "\1\uffff\1\122\1\165\1\166\2\165\1\160\1\105\1\145\1\170\1\156\1\117\1\165\1\162\1\145\1\162\1\104\1\111\1\125\1\117\1\125\1\156\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\165\1\162\1\141\1\171\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\172\16\uffff\2\172\23\uffff\1\101\1\143\1\163\1\164\1\172\1\164\1\156\1\162\1\163\3\172\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\172\1\144\1\154\1\156\1\145\7\172\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\172\1\163\2\172\1\165\1\162\1\171\1\162\1\172\1\157\1\105\1\145\1\uffff\4\172\7\uffff\1\105\1\151\1\172\1\141\1\151\1\172\1\156\1\172\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\172\1\uffff\1\167\1\121\1\172\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\172\2\uffff\1\156\1\172\1\uffff\1\172\1\156\1\164\1\163\1\172\3\145\3\172\1\uffff\1\172\1\uffff\1\105\1\uffff\1\141\2\172\1\uffff\3\172\4\uffff\1\121\1\154\5\uffff\2\172\2\uffff"; 2367 "\1\uffff\1\165\1\163\1\165\1\145\1\165\1\160\1\170\1\156\1\143\1\162\1\56\1\156\1\145\1\75\1\76\1\55\1\75\1\76\1\75\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\172\1\165\1\162\1\141\1\164\1\146\1\171\1\156\1\163\1\160\1\164\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\172\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\172\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\172\2\uffff\1\172\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\172\1\163\1\162\1\164\1\171\1\162\1\172\1\157\1\145\2\172\2\uffff\1\151\1\154\1\172\1\141\1\151\1\172\1\156\1\172\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\172\1\uffff\1\167\1\172\2\uffff\1\157\1\172\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\172\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\172\1\145\1\172\3\145\1\172\2\uffff\1\172\1\141\2\172\1\uffff\1\172\1\uffff\3\172\2\uffff\1\154\6\uffff\1\172\1\uffff";
2745 static final String DFA12_acceptS = 2368 static final String DFA12_acceptS =
2746 "\37\uffff\1\66\1\67\1\70\1\71\1\72\1\uffff\1\77\1\103\1\104\1\uffff\1\106\1\107\1\110\2\uffff\1\113\1\114\1\115\1\117\1\120\1\uffff\1\114\41\uffff\1\52\1\65\1\53\1\73\1\54\1\74\1\55\1\76\1\56\1\100\1\57\1\101\1\60\1\102\2\uffff\1\66\1\67\1\70\1\71\1\72\1\113\1\116\1\75\1\77\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\115\1\117\44\uffff\1\64\1\63\1\61\1\62\4\uffff\1\43\5\uffff\1\46\1\47\1\uffff\1\50\14\uffff\1\51\4\uffff\1\36\1\37\1\40\1\41\1\42\1\44\1\45\12\uffff\1\30\1\uffff\1\31\1\uffff\1\26\5\uffff\1\27\3\uffff\1\32\1\33\1\34\1\35\2\uffff\1\24\2\uffff\1\21\1\uffff\1\20\7\uffff\1\22\1\23\2\uffff\1\25\13\uffff\1\17\1\uffff\1\16\1\uffff\1\10\3\uffff\1\12\3\uffff\1\11\1\13\1\14\1\15\2\uffff\1\3\1\4\1\5\1\6\1\7\2\uffff\1\1\1\2"; 2369 "\24\uffff\1\51\1\52\1\53\1\54\1\55\1\uffff\1\62\1\66\1\67\1\uffff\1\71\1\72\1\73\2\uffff\1\76\1\77\1\100\1\102\1\103\3\uffff\1\77\24\uffff\1\57\3\uffff\1\35\1\50\1\36\1\56\1\40\1\61\1\41\1\63\1\42\1\43\1\64\1\44\1\65\1\51\1\52\1\53\1\54\1\55\1\76\1\101\1\60\1\62\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\100\1\102\4\uffff\1\45\24\uffff\1\31\1\37\1\uffff\1\47\1\46\14\uffff\1\34\14\uffff\1\32\1\33\14\uffff\1\26\6\uffff\1\25\2\uffff\1\27\1\30\2\uffff\1\23\2\uffff\1\20\1\uffff\1\17\10\uffff\1\21\1\22\1\uffff\1\24\1\uffff\1\16\11\uffff\1\15\1\14\4\uffff\1\10\1\uffff\1\11\3\uffff\1\12\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\1";
2747 static final String DFA12_specialS = 2370 static final String DFA12_specialS =
2748 "\1\1\53\uffff\1\0\1\2\u00ef\uffff}>"; 2371 "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>";
2749 static final String[] DFA12_transitionS = { 2372 static final String[] DFA12_transitionS = {
2750 "\11\62\2\61\2\62\1\61\22\62\1\61\1\26\1\54\2\62\1\56\1\62\1\55\1\37\1\40\1\41\1\42\1\43\1\27\1\30\1\44\12\60\1\31\1\45\1\32\1\33\1\34\2\62\1\20\2\57\1\21\1\35\1\57\1\1\1\57\1\36\2\57\1\7\1\22\1\13\1\57\1\23\2\57\1\24\7\57\1\46\1\62\1\47\1\50\1\57\1\62\1\3\1\57\1\4\1\10\1\11\1\2\2\57\1\25\3\57\1\5\1\57\1\6\1\15\1\57\1\16\1\14\1\17\1\12\5\57\1\51\1\52\1\53\uff82\62", 2373 "\11\47\2\46\2\47\1\46\22\47\1\46\1\16\1\41\2\47\1\43\1\47\1\42\1\24\1\25\1\26\1\27\1\30\1\17\1\13\1\31\12\45\1\20\1\32\1\21\1\22\1\23\2\47\32\44\1\33\1\47\1\34\1\35\1\44\1\47\1\2\1\44\1\3\1\4\1\7\1\1\2\44\1\14\2\44\1\15\1\5\1\44\1\6\3\44\1\11\1\12\1\10\5\44\1\36\1\37\1\40\uff82\47",
2751 "\1\63", 2374 "\1\52\15\uffff\1\51\5\uffff\1\50",
2752 "\1\66\23\uffff\1\65", 2375 "\1\54\20\uffff\1\55",
2753 "\1\67\23\uffff\1\70", 2376 "\1\60\2\uffff\1\56\5\uffff\1\57",
2754 "\1\73\2\uffff\1\71\5\uffff\1\72", 2377 "\1\61\3\uffff\1\62",
2755 "\1\74\7\uffff\1\75\13\uffff\1\76", 2378 "\1\63\7\uffff\1\64\13\uffff\1\65",
2756 "\1\100\1\uffff\1\77", 2379 "\1\66",
2757 "\1\101", 2380 "\1\72\1\70\4\uffff\1\71\5\uffff\1\67",
2758 "\1\102", 2381 "\1\73",
2759 "\1\106\1\104\4\uffff\1\105\5\uffff\1\103", 2382 "\1\74",
2760 "\1\107", 2383 "\1\75\11\uffff\1\76",
2384 "\1\77",
2385 "\1\102\7\uffff\1\101",
2386 "\1\103",
2387 "\1\104",
2388 "\1\106",
2761 "\1\110", 2389 "\1\110",
2762 "\1\111\21\uffff\1\112", 2390 "\1\112",
2763 "\1\113", 2391 "\1\114\1\115",
2764 "\1\114",
2765 "\1\115\11\uffff\1\116",
2766 "\1\117", 2392 "\1\117",
2767 "\1\120",
2768 "\1\121",
2769 "\1\122",
2770 "\1\123",
2771 "\1\125\7\uffff\1\124",
2772 "\1\126",
2773 "\1\130",
2774 "\1\132",
2775 "\1\134",
2776 "\1\136",
2777 "\1\140",
2778 "\1\142",
2779 "\1\144",
2780 "\1\145",
2781 "", 2393 "",
2782 "", 2394 "",
2783 "", 2395 "",
2784 "", 2396 "",
2785 "", 2397 "",
2786 "\1\154\4\uffff\1\153", 2398 "\1\127\4\uffff\1\126",
2787 "", 2399 "",
2788 "", 2400 "",
2789 "", 2401 "",
2790 "\32\64\4\uffff\1\64\1\uffff\32\64", 2402 "\32\53\4\uffff\1\53\1\uffff\32\53",
2791 "", 2403 "",
2792 "", 2404 "",
2793 "", 2405 "",
2794 "\0\165", 2406 "\0\140",
2795 "\0\166", 2407 "\0\141",
2796 "", 2408 "",
2797 "", 2409 "",
2798 "", 2410 "",
2799 "", 2411 "",
2800 "", 2412 "",
2413 "\1\144",
2414 "\1\145",
2415 "\1\146",
2416 "",
2417 "\1\147",
2418 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2419 "\1\151\6\uffff\1\152",
2420 "\1\153",
2421 "\1\154",
2422 "\1\155",
2423 "\1\156",
2424 "\1\157\1\160",
2425 "\1\161",
2426 "\1\162",
2427 "\1\163",
2428 "\1\165\12\uffff\1\164",
2429 "\1\166",
2430 "\1\167",
2431 "\1\170",
2801 "\1\171", 2432 "\1\171",
2802 "",
2803 "\1\172", 2433 "\1\172",
2804 "\1\173", 2434 "\1\173",
2805 "\1\174", 2435 "\1\174",
2806 "\1\175", 2436 "\1\175",
2807 "\1\176\6\uffff\1\177",
2808 "\1\u0080",
2809 "\1\u0081",
2810 "\1\u0082\1\u0083",
2811 "\1\u0084",
2812 "\1\u0085",
2813 "\1\u0086",
2814 "\1\u0087",
2815 "\1\u0088",
2816 "\1\u0089",
2817 "\1\u008a",
2818 "\1\u008b",
2819 "\1\u008c",
2820 "\1\u008d",
2821 "\1\u008e",
2822 "\1\u008f",
2823 "\1\u0090",
2824 "\1\u0091",
2825 "\1\u0092",
2826 "\1\u0093",
2827 "\1\u0094",
2828 "\1\u0095",
2829 "\1\u0096",
2830 "\1\u0097",
2831 "\1\u0098",
2832 "\1\u0099",
2833 "\1\u009a",
2834 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\5\64\1\u009b\15\64\1\u009c\6\64",
2835 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2836 "", 2437 "",
2438 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\177\24\53",
2439 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2440 "\1\u0082",
2837 "", 2441 "",
2838 "", 2442 "",
2839 "", 2443 "",
@@ -2847,8 +2451,6 @@ public class InternalSolverLanguageLexer extends Lexer {
2847 "", 2451 "",
2848 "", 2452 "",
2849 "", 2453 "",
2850 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2851 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2852 "", 2454 "",
2853 "", 2455 "",
2854 "", 2456 "",
@@ -2868,169 +2470,140 @@ public class InternalSolverLanguageLexer extends Lexer {
2868 "", 2470 "",
2869 "", 2471 "",
2870 "", 2472 "",
2473 "\1\u0083",
2474 "\1\u0084",
2475 "\1\u0085",
2476 "\1\u0086",
2477 "",
2478 "\1\u0087",
2479 "\1\u0088",
2480 "\1\u0089",
2481 "\1\u008a",
2482 "\1\u008b",
2483 "\1\u008c",
2484 "\1\u008d",
2485 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2486 "\1\u008f",
2487 "\1\u0090",
2488 "\1\u0091",
2489 "\1\u0092",
2490 "\1\u0093",
2491 "\1\u0094",
2492 "\1\u0095",
2493 "\1\u0096",
2494 "\1\u0097",
2495 "\1\u0098",
2496 "\1\u0099",
2497 "\1\u009a",
2498 "",
2499 "",
2500 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2501 "",
2502 "",
2503 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2504 "\1\u009d",
2505 "\1\u009e",
2506 "\1\u009f",
2507 "\1\u00a0",
2871 "\1\u00a1", 2508 "\1\u00a1",
2872 "\1\u00a2", 2509 "\1\u00a2",
2873 "\1\u00a3", 2510 "\1\u00a3",
2874 "\1\u00a4", 2511 "\1\u00a4",
2875 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2512 "\1\u00a5",
2876 "\1\u00a6", 2513 "\1\u00a6",
2877 "\1\u00a7", 2514 "\1\u00a7",
2515 "",
2878 "\1\u00a8", 2516 "\1\u00a8",
2879 "\1\u00a9", 2517 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2880 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00aa\21\64", 2518 "\1\u00aa",
2881 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2519 "\1\u00ab\3\uffff\1\u00ac",
2882 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00ad\21\64", 2520 "\1\u00ad",
2521 "\1\u00ae",
2883 "\1\u00af", 2522 "\1\u00af",
2884 "\1\u00b0", 2523 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2885 "\1\u00b1", 2524 "\1\u00b1",
2886 "\1\u00b2", 2525 "\1\u00b2",
2887 "\1\u00b3", 2526 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2888 "\1\u00b4", 2527 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2528 "",
2529 "",
2889 "\1\u00b5", 2530 "\1\u00b5",
2890 "\1\u00b6", 2531 "\1\u00b6",
2891 "\1\u00b7", 2532 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2892 "\1\u00b8", 2533 "\1\u00b8",
2893 "\1\u00b9", 2534 "\1\u00b9",
2894 "\1\u00ba", 2535 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2895 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2536 "\1\u00bb",
2896 "\1\u00bc", 2537 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2897 "\1\u00bd", 2538 "\1\u00bd",
2898 "\1\u00be", 2539 "\1\u00be",
2899 "\1\u00bf", 2540 "\1\u00bf",
2900 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2541 "\1\u00c0",
2901 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2902 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2903 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2904 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2905 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2906 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2907 "", 2542 "",
2543 "\1\u00c1",
2544 "\1\u00c2",
2545 "\1\u00c3",
2546 "\1\u00c4",
2547 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2548 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2908 "", 2549 "",
2550 "\1\u00c7",
2551 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2909 "", 2552 "",
2910 "", 2553 "",
2911 "\1\u00c7",
2912 "\1\u00c8",
2913 "\1\u00c9", 2554 "\1\u00c9",
2914 "\1\u00ca", 2555 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2915 "", 2556 "",
2916 "\1\u00cb", 2557 "\1\u00cb",
2917 "\1\u00cc", 2558 "\1\u00cc",
2559 "",
2918 "\1\u00cd", 2560 "\1\u00cd",
2561 "",
2919 "\1\u00ce", 2562 "\1\u00ce",
2920 "\1\u00cf", 2563 "\1\u00cf",
2921 "",
2922 "",
2923 "\1\u00d0", 2564 "\1\u00d0",
2924 "", 2565 "\1\u00d1",
2925 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2926 "\1\u00d2", 2566 "\1\u00d2",
2927 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2567 "\1\u00d3",
2928 "\12\64\7\uffff\32\64\4\uffff\1\u00d4\1\uffff\32\64", 2568 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2569 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2570 "",
2571 "",
2929 "\1\u00d6", 2572 "\1\u00d6",
2930 "\1\u00d7\3\uffff\1\u00d8", 2573 "",
2574 "\1\u00d7",
2575 "",
2576 "\1\u00d8",
2931 "\1\u00d9", 2577 "\1\u00d9",
2932 "\1\u00da", 2578 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2933 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2579 "\1\u00db",
2934 "\1\u00dc", 2580 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2935 "\1\u00dd", 2581 "\1\u00dd",
2936 "\1\u00de", 2582 "\1\u00de",
2583 "\1\u00df",
2584 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2937 "", 2585 "",
2938 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2939 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2940 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2941 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2942 "", 2586 "",
2587 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2588 "\1\u00e2",
2589 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2590 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2943 "", 2591 "",
2592 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2944 "", 2593 "",
2594 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2595 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2596 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2945 "", 2597 "",
2946 "", 2598 "",
2947 "",
2948 "",
2949 "\1\u00e3",
2950 "\1\u00e4",
2951 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2952 "\1\u00e6",
2953 "\1\u00e7",
2954 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2955 "\1\u00e9", 2599 "\1\u00e9",
2956 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2957 "\1\u00eb",
2958 "\1\u00ec",
2959 "",
2960 "\1\u00ed",
2961 "",
2962 "\1\u00ee",
2963 "",
2964 "\1\u00ef",
2965 "\1\u00f0",
2966 "\1\u00f1",
2967 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2968 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2969 "",
2970 "\1\u00f4",
2971 "\1\u00f5",
2972 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2973 "",
2974 "",
2975 "",
2976 "",
2977 "\1\u00f7",
2978 "\1\u00f8",
2979 "",
2980 "\1\u00f9",
2981 "\1\u00fa",
2982 "",
2983 "\1\u00fb",
2984 "",
2985 "\1\u00fc",
2986 "\1\u00fd",
2987 "\1\u00fe",
2988 "\1\u00ff",
2989 "\1\u0100",
2990 "\1\u0101",
2991 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2992 "",
2993 "",
2994 "\1\u0103",
2995 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2996 "",
2997 "\12\64\7\uffff\32\64\4\uffff\1\u0105\1\uffff\32\64",
2998 "\1\u0107",
2999 "\1\u0108",
3000 "\1\u0109",
3001 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3002 "\1\u010b",
3003 "\1\u010c",
3004 "\1\u010d",
3005 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3006 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3007 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3008 "", 2600 "",
3009 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3010 "", 2601 "",
3011 "\1\u0112",
3012 "", 2602 "",
3013 "\1\u0113",
3014 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3015 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3016 "", 2603 "",
3017 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3018 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3019 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3020 "", 2604 "",
3021 "", 2605 "",
3022 "", 2606 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
3023 "",
3024 "\1\u0119",
3025 "\1\u011a",
3026 "",
3027 "",
3028 "",
3029 "",
3030 "",
3031 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3032 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3033 "",
3034 "" 2607 ""
3035 }; 2608 };
3036 2609
@@ -3064,135 +2637,113 @@ public class InternalSolverLanguageLexer extends Lexer {
3064 this.transition = DFA12_transition; 2637 this.transition = DFA12_transition;
3065 } 2638 }
3066 public String getDescription() { 2639 public String getDescription() {
3067 return "1:1: Tokens : ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2640 return "1:1: Tokens : ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );";
3068 } 2641 }
3069 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2642 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
3070 IntStream input = _input; 2643 IntStream input = _input;
3071 int _s = s; 2644 int _s = s;
3072 switch ( s ) { 2645 switch ( s ) {
3073 case 0 : 2646 case 0 :
3074 int LA12_44 = input.LA(1); 2647 int LA12_33 = input.LA(1);
3075 2648
3076 s = -1; 2649 s = -1;
3077 if ( ((LA12_44>='\u0000' && LA12_44<='\uFFFF')) ) {s = 117;} 2650 if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;}
3078 2651
3079 else s = 50; 2652 else s = 39;
3080 2653
3081 if ( s>=0 ) return s; 2654 if ( s>=0 ) return s;
3082 break; 2655 break;
3083 case 1 : 2656 case 1 :
3084 int LA12_0 = input.LA(1); 2657 int LA12_34 = input.LA(1);
3085 2658
3086 s = -1; 2659 s = -1;
3087 if ( (LA12_0=='G') ) {s = 1;} 2660 if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;}
3088
3089 else if ( (LA12_0=='f') ) {s = 2;}
3090
3091 else if ( (LA12_0=='a') ) {s = 3;}
3092
3093 else if ( (LA12_0=='c') ) {s = 4;}
3094
3095 else if ( (LA12_0=='m') ) {s = 5;}
3096
3097 else if ( (LA12_0=='o') ) {s = 6;}
3098
3099 else if ( (LA12_0=='L') ) {s = 7;}
3100 2661
3101 else if ( (LA12_0=='d') ) {s = 8;} 2662 else s = 39;
3102 2663
3103 else if ( (LA12_0=='e') ) {s = 9;} 2664 if ( s>=0 ) return s;
3104 2665 break;
3105 else if ( (LA12_0=='u') ) {s = 10;} 2666 case 2 :
3106 2667 int LA12_0 = input.LA(1);
3107 else if ( (LA12_0=='N') ) {s = 11;}
3108
3109 else if ( (LA12_0=='s') ) {s = 12;}
3110
3111 else if ( (LA12_0=='p') ) {s = 13;}
3112
3113 else if ( (LA12_0=='r') ) {s = 14;}
3114 2668
3115 else if ( (LA12_0=='t') ) {s = 15;} 2669 s = -1;
2670 if ( (LA12_0=='f') ) {s = 1;}
3116 2671
3117 else if ( (LA12_0=='A') ) {s = 16;} 2672 else if ( (LA12_0=='a') ) {s = 2;}
3118 2673
3119 else if ( (LA12_0=='D') ) {s = 17;} 2674 else if ( (LA12_0=='c') ) {s = 3;}
3120 2675
3121 else if ( (LA12_0=='M') ) {s = 18;} 2676 else if ( (LA12_0=='d') ) {s = 4;}
3122 2677
3123 else if ( (LA12_0=='P') ) {s = 19;} 2678 else if ( (LA12_0=='m') ) {s = 5;}
3124 2679
3125 else if ( (LA12_0=='S') ) {s = 20;} 2680 else if ( (LA12_0=='o') ) {s = 6;}
3126 2681
3127 else if ( (LA12_0=='i') ) {s = 21;} 2682 else if ( (LA12_0=='e') ) {s = 7;}
3128 2683
3129 else if ( (LA12_0=='!') ) {s = 22;} 2684 else if ( (LA12_0=='u') ) {s = 8;}
3130 2685
3131 else if ( (LA12_0=='-') ) {s = 23;} 2686 else if ( (LA12_0=='s') ) {s = 9;}
3132 2687
3133 else if ( (LA12_0=='.') ) {s = 24;} 2688 else if ( (LA12_0=='t') ) {s = 10;}
3134 2689
3135 else if ( (LA12_0==':') ) {s = 25;} 2690 else if ( (LA12_0=='.') ) {s = 11;}
3136 2691
3137 else if ( (LA12_0=='<') ) {s = 26;} 2692 else if ( (LA12_0=='i') ) {s = 12;}
3138 2693
3139 else if ( (LA12_0=='=') ) {s = 27;} 2694 else if ( (LA12_0=='l') ) {s = 13;}
3140 2695
3141 else if ( (LA12_0=='>') ) {s = 28;} 2696 else if ( (LA12_0=='!') ) {s = 14;}
3142 2697
3143 else if ( (LA12_0=='E') ) {s = 29;} 2698 else if ( (LA12_0=='-') ) {s = 15;}
3144 2699
3145 else if ( (LA12_0=='I') ) {s = 30;} 2700 else if ( (LA12_0==':') ) {s = 16;}
3146 2701
3147 else if ( (LA12_0=='(') ) {s = 31;} 2702 else if ( (LA12_0=='<') ) {s = 17;}
3148 2703
3149 else if ( (LA12_0==')') ) {s = 32;} 2704 else if ( (LA12_0=='=') ) {s = 18;}
3150 2705
3151 else if ( (LA12_0=='*') ) {s = 33;} 2706 else if ( (LA12_0=='>') ) {s = 19;}
3152 2707
3153 else if ( (LA12_0=='+') ) {s = 34;} 2708 else if ( (LA12_0=='(') ) {s = 20;}
3154 2709
3155 else if ( (LA12_0==',') ) {s = 35;} 2710 else if ( (LA12_0==')') ) {s = 21;}
3156 2711
3157 else if ( (LA12_0=='/') ) {s = 36;} 2712 else if ( (LA12_0=='*') ) {s = 22;}
3158 2713
3159 else if ( (LA12_0==';') ) {s = 37;} 2714 else if ( (LA12_0=='+') ) {s = 23;}
3160 2715
3161 else if ( (LA12_0=='[') ) {s = 38;} 2716 else if ( (LA12_0==',') ) {s = 24;}
3162 2717
3163 else if ( (LA12_0==']') ) {s = 39;} 2718 else if ( (LA12_0=='/') ) {s = 25;}
3164 2719
3165 else if ( (LA12_0=='^') ) {s = 40;} 2720 else if ( (LA12_0==';') ) {s = 26;}
3166 2721
3167 else if ( (LA12_0=='{') ) {s = 41;} 2722 else if ( (LA12_0=='[') ) {s = 27;}
3168 2723
3169 else if ( (LA12_0=='|') ) {s = 42;} 2724 else if ( (LA12_0==']') ) {s = 28;}
3170 2725
3171 else if ( (LA12_0=='}') ) {s = 43;} 2726 else if ( (LA12_0=='^') ) {s = 29;}
3172 2727
3173 else if ( (LA12_0=='\"') ) {s = 44;} 2728 else if ( (LA12_0=='{') ) {s = 30;}
3174 2729
3175 else if ( (LA12_0=='\'') ) {s = 45;} 2730 else if ( (LA12_0=='|') ) {s = 31;}
3176 2731
3177 else if ( (LA12_0=='%') ) {s = 46;} 2732 else if ( (LA12_0=='}') ) {s = 32;}
3178 2733
3179 else if ( ((LA12_0>='B' && LA12_0<='C')||LA12_0=='F'||LA12_0=='H'||(LA12_0>='J' && LA12_0<='K')||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 47;} 2734 else if ( (LA12_0=='\"') ) {s = 33;}
3180 2735
3181 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 48;} 2736 else if ( (LA12_0=='\'') ) {s = 34;}
3182 2737
3183 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 49;} 2738 else if ( (LA12_0=='%') ) {s = 35;}
3184 2739
3185 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 50;} 2740 else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='r')||(LA12_0>='v' && LA12_0<='z')) ) {s = 36;}
3186 2741
3187 if ( s>=0 ) return s; 2742 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;}
3188 break;
3189 case 2 :
3190 int LA12_45 = input.LA(1);
3191 2743
3192 s = -1; 2744 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;}
3193 if ( ((LA12_45>='\u0000' && LA12_45<='\uFFFF')) ) {s = 118;}
3194 2745
3195 else s = 50; 2746 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 39;}
3196 2747
3197 if ( s>=0 ) return s; 2748 if ( s>=0 ) return s;
3198 break; 2749 break;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
index 133cc9d6..178103e2 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
@@ -1,83 +1,70 @@
1ADD=33 1Abstract=5
2Abstract=6 2As=40
3Asterisk=59 3Asterisk=46
4Avg=38 4CircumflexAccent=59
5CircumflexAccent=72 5Class=18
6Class=19 6Colon=52
7Colon=65 7ColonHyphenMinus=35
8ColonHyphenMinus=48 8Comma=48
9Comma=61 9Contains=6
10Contains=7 10Count=19
11Count=20 11Current=11
12Current=13 12Datatype=7
13DIV=34 13Default=12
14Default=14 14Else=24
15EQ=52 15Empty=20
16Else=26 16EqualsSign=55
17Empty=21 17EqualsSignEqualsSign=37
18EqualsSign=68 18EqualsSignGreaterThanSign=38
19EqualsSignEqualsSign=50 19Error=21
20Error=22 20ExclamationMark=43
21ExclamationMark=56 21ExclamationMarkEqualsSign=32
22ExclamationMarkEqualsSign=45 22Exists=15
23Extends=15 23Extends=13
24Extern=18 24Extern=16
25False=23 25False=22
26FullStop=63 26Forall=17
27FullStopFullStop=47 27FullStop=50
28Functional=5 28FullStopFullStop=34
29GREATER=11 29FullStopFullStopFullStop=28
30GREATER_EQ=4 30Functional=4
31GreaterThanSign=69 31GreaterThanSign=56
32GreaterThanSignEqualsSign=51 32GreaterThanSignEqualsSign=39
33HyphenMinus=62 33HyphenMinus=49
34HyphenMinusGreaterThanSign=46 34HyphenMinusGreaterThanSign=33
35IN=53 35If=41
36If=54 36In=42
37In=55 37Inf=29
38Inf=39 38LeftCurlyBracket=60
39Int=40 39LeftParenthesis=44
40LESS=25 40LeftSquareBracket=57
41LESS_EQ=12 41LessThanSign=54
42LeftCurlyBracket=73 42LessThanSignEqualsSign=36
43LeftParenthesis=57 43Let=30
44LeftSquareBracket=70
45LessThanSign=67
46LessThanSignEqualsSign=49
47MUL=35
48Max=41
49Maximize=8 44Maximize=8
50May=42 45May=31
51Min=43
52Minimize=9 46Minimize=9
53Must=27 47Must=25
54NOT_EQ=17
55Only=28
56Opposite=10 48Opposite=10
57POW=36 49PlusSign=47
58PlusSign=60 50RULE_ANY_OTHER=73
59Prod=29 51RULE_FULL_STOP=68
60RULE_ANY_OTHER=86 52RULE_ID=69
61RULE_FULL_STOP=81 53RULE_INT=70
62RULE_ID=82 54RULE_ML_COMMENT=71
63RULE_INT=83 55RULE_QUOTED_ID=64
64RULE_ML_COMMENT=84 56RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
65RULE_QUOTED_ID=77 57RULE_SL_COMMENT=65
66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 58RULE_STRING=63
67RULE_SL_COMMENT=78 59RULE_TRANSITIVE_CLOSURE=66
68RULE_STRING=76 60RULE_WS=72
69RULE_TRANSITIVE_CLOSURE=79 61RightCurlyBracket=62
70RULE_WS=85 62RightParenthesis=45
71Real=30 63RightSquareBracket=58
72RightCurlyBracket=75 64Scope=23
73RightParenthesis=58 65Semicolon=53
74RightSquareBracket=71 66Solidus=51
75SUB=37 67Then=26
76Scope=24 68True=27
77Semicolon=66 69Unknown=14
78Solidus=64 70VerticalLine=61
79Sum=44
80Then=31
81True=32
82Unknown=16
83VerticalLine=74
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
index 5cb73796..dc93975f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
@@ -10,37 +10,42 @@ import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; 10import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
11import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; 11import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
12import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; 12import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
13import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; 13import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; 14import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
16import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; 15import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.Call; 16import org.eclipse.viatra.solver.language.solverLanguage.Call;
18import org.eclipse.viatra.solver.language.solverLanguage.Case; 17import org.eclipse.viatra.solver.language.solverLanguage.Case;
18import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
19import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; 19import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
20import org.eclipse.viatra.solver.language.solverLanguage.Comparison; 20import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
21import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; 21import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
22import org.eclipse.viatra.solver.language.solverLanguage.Count;
23import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; 22import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; 23import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
25import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; 24import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
26import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; 25import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
27import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; 26import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; 27import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
28import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition;
29import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition;
29import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; 30import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
30import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; 31import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
31import org.eclipse.viatra.solver.language.solverLanguage.IfElse; 32import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
32import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; 33import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
34import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
33import org.eclipse.viatra.solver.language.solverLanguage.Interval; 35import org.eclipse.viatra.solver.language.solverLanguage.Interval;
36import org.eclipse.viatra.solver.language.solverLanguage.Let;
37import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
38import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables;
34import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; 39import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
35import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; 40import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; 41import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
37import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; 42import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; 43import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
39import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
40import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; 44import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; 45import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
42import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; 46import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.Problem; 47import org.eclipse.viatra.solver.language.solverLanguage.Problem;
48import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression;
44import org.eclipse.viatra.solver.language.solverLanguage.Reference; 49import org.eclipse.viatra.solver.language.solverLanguage.Reference;
45import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 50import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
46import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; 51import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
@@ -50,6 +55,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
50import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; 55import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
51import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; 56import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
52import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; 57import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
58import org.eclipse.viatra.solver.language.solverLanguage.Variable;
53import org.eclipse.xtext.Action; 59import org.eclipse.xtext.Action;
54import org.eclipse.xtext.Parameter; 60import org.eclipse.xtext.Parameter;
55import org.eclipse.xtext.ParserRule; 61import org.eclipse.xtext.ParserRule;
@@ -78,11 +84,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
78 case SolverLanguagePackage.ARGUMENT_LIST: 84 case SolverLanguagePackage.ARGUMENT_LIST:
79 sequence_ArgumentList(context, (ArgumentList) semanticObject); 85 sequence_ArgumentList(context, (ArgumentList) semanticObject);
80 return; 86 return;
81 case SolverLanguagePackage.ASSERTION:
82 sequence_AssertionOrDefinition(context, (Assertion) semanticObject);
83 return;
84 case SolverLanguagePackage.BINARY_EXPRESSION: 87 case SolverLanguagePackage.BINARY_EXPRESSION:
85 sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); 88 sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject);
86 return; 89 return;
87 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: 90 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
88 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); 91 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject);
@@ -103,6 +106,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
103 return; 106 return;
104 } 107 }
105 else break; 108 else break;
109 case SolverLanguagePackage.CAST_EXPRESSION:
110 sequence_CastExpression(context, (CastExpression) semanticObject);
111 return;
106 case SolverLanguagePackage.CLASS_DEFINITION: 112 case SolverLanguagePackage.CLASS_DEFINITION:
107 sequence_ClassDefinition(context, (ClassDefinition) semanticObject); 113 sequence_ClassDefinition(context, (ClassDefinition) semanticObject);
108 return; 114 return;
@@ -112,9 +118,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
112 case SolverLanguagePackage.CONJUNCTION: 118 case SolverLanguagePackage.CONJUNCTION:
113 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); 119 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject);
114 return; 120 return;
115 case SolverLanguagePackage.COUNT:
116 sequence_Count(context, (Count) semanticObject);
117 return;
118 case SolverLanguagePackage.DEFAULT_DEFINITION: 121 case SolverLanguagePackage.DEFAULT_DEFINITION:
119 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); 122 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject);
120 return; 123 return;
@@ -133,6 +136,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
133 case SolverLanguagePackage.EXPRESSION_ARGUMENT: 136 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
134 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); 137 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject);
135 return; 138 return;
139 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION:
140 sequence_ExternAggregatorDefinition(context, (ExternAggregatorDefinition) semanticObject);
141 return;
142 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION:
143 sequence_ExternDatatypeDefinition(context, (ExternDatatypeDefinition) semanticObject);
144 return;
136 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: 145 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
137 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); 146 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject);
138 return; 147 return;
@@ -145,9 +154,21 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
145 case SolverLanguagePackage.INFINITY_LITERAL: 154 case SolverLanguagePackage.INFINITY_LITERAL:
146 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); 155 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject);
147 return; 156 return;
157 case SolverLanguagePackage.INTERPRETATION:
158 sequence_AssertionOrDefinition(context, (Interpretation) semanticObject);
159 return;
148 case SolverLanguagePackage.INTERVAL: 160 case SolverLanguagePackage.INTERVAL:
149 sequence_Interval(context, (Interval) semanticObject); 161 sequence_Interval(context, (Interval) semanticObject);
150 return; 162 return;
163 case SolverLanguagePackage.LET:
164 sequence_Let(context, (Let) semanticObject);
165 return;
166 case SolverLanguagePackage.LET_BINDING:
167 sequence_LetBinding(context, (LetBinding) semanticObject);
168 return;
169 case SolverLanguagePackage.LOCAL_VARIABLES:
170 sequence_LocalVariables(context, (LocalVariables) semanticObject);
171 return;
151 case SolverLanguagePackage.LOGIC_LITERAL: 172 case SolverLanguagePackage.LOGIC_LITERAL:
152 sequence_LogicLiteral(context, (LogicLiteral) semanticObject); 173 sequence_LogicLiteral(context, (LogicLiteral) semanticObject);
153 return; 174 return;
@@ -174,9 +195,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
174 return; 195 return;
175 } 196 }
176 else break; 197 else break;
177 case SolverLanguagePackage.NAMED_ELEMENT:
178 sequence_NamedElement(context, (NamedElement) semanticObject);
179 return;
180 case SolverLanguagePackage.NUMERIC_LITERAL: 198 case SolverLanguagePackage.NUMERIC_LITERAL:
181 sequence_NumericLiteral(context, (NumericLiteral) semanticObject); 199 sequence_NumericLiteral(context, (NumericLiteral) semanticObject);
182 return; 200 return;
@@ -200,6 +218,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
200 case SolverLanguagePackage.PROBLEM: 218 case SolverLanguagePackage.PROBLEM:
201 sequence_Problem(context, (Problem) semanticObject); 219 sequence_Problem(context, (Problem) semanticObject);
202 return; 220 return;
221 case SolverLanguagePackage.QUANTIFIED_EXPRESSION:
222 sequence_QuantifiedExpression(context, (QuantifiedExpression) semanticObject);
223 return;
203 case SolverLanguagePackage.REFERENCE: 224 case SolverLanguagePackage.REFERENCE:
204 sequence_Reference(context, (Reference) semanticObject); 225 sequence_Reference(context, (Reference) semanticObject);
205 return; 226 return;
@@ -224,6 +245,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
224 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: 245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
225 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); 246 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject);
226 return; 247 return;
248 case SolverLanguagePackage.VARIABLE:
249 sequence_Variable(context, (Variable) semanticObject);
250 return;
227 } 251 }
228 if (errorAcceptor != null) 252 if (errorAcceptor != null)
229 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); 253 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
@@ -231,10 +255,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
231 255
232 /** 256 /**
233 * Contexts: 257 * Contexts:
234 * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression 258 * Statement returns BinaryExpression
259 * AssertionOrDefinition returns BinaryExpression
260 * AssertionOrDefinition.Interpretation_1_0_0 returns BinaryExpression
235 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression 261 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression
236 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression 262 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression
237 * Expression returns BinaryExpression 263 * Expression returns BinaryExpression
264 * ImplicationExpression returns BinaryExpression
265 * ImplicationExpression.BinaryExpression_1_0 returns BinaryExpression
238 * DisjunctiveExpression returns BinaryExpression 266 * DisjunctiveExpression returns BinaryExpression
239 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression 267 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression
240 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression 268 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression
@@ -248,28 +276,35 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
248 * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression 276 * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression
249 * ExponentialExpression returns BinaryExpression 277 * ExponentialExpression returns BinaryExpression
250 * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression 278 * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression
279 * CastExpression returns BinaryExpression
280 * CastExpression.CastExpression_1_0 returns BinaryExpression
251 * UnaryExpression returns BinaryExpression 281 * UnaryExpression returns BinaryExpression
252 * AggregationExpression returns BinaryExpression 282 * AggregationExpression returns BinaryExpression
253 * AtomicExpression returns BinaryExpression 283 * AtomicExpression returns BinaryExpression
254 * 284 *
255 * Constraint: 285 * Constraint:
256 * ( 286 * (
287 * (left=ImplicationExpression_BinaryExpression_1_0 op=ImplicationOperator right=ImplicationExpression) |
257 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) | 288 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) |
258 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) | 289 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) |
259 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=ExponentialExpression) 290 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=CastExpression)
260 * ) 291 * )
261 */ 292 */
262 protected void sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { 293 protected void sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) {
263 genericSequencer.createSequence(context, semanticObject); 294 genericSequencer.createSequence(context, semanticObject);
264 } 295 }
265 296
266 297
267 /** 298 /**
268 * Contexts: 299 * Contexts:
269 * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation 300 * Statement returns Aggregation
301 * AssertionOrDefinition returns Aggregation
302 * AssertionOrDefinition.Interpretation_1_0_0 returns Aggregation
270 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation 303 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation
271 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation 304 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation
272 * Expression returns Aggregation 305 * Expression returns Aggregation
306 * ImplicationExpression returns Aggregation
307 * ImplicationExpression.BinaryExpression_1_0 returns Aggregation
273 * DisjunctiveExpression returns Aggregation 308 * DisjunctiveExpression returns Aggregation
274 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation 309 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation
275 * DisjunctiveExpression.Case_1_1_0 returns Aggregation 310 * DisjunctiveExpression.Case_1_1_0 returns Aggregation
@@ -283,28 +318,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
283 * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation 318 * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation
284 * ExponentialExpression returns Aggregation 319 * ExponentialExpression returns Aggregation
285 * ExponentialExpression.BinaryExpression_1_0 returns Aggregation 320 * ExponentialExpression.BinaryExpression_1_0 returns Aggregation
321 * CastExpression returns Aggregation
322 * CastExpression.CastExpression_1_0 returns Aggregation
286 * UnaryExpression returns Aggregation 323 * UnaryExpression returns Aggregation
287 * AggregationExpression returns Aggregation 324 * AggregationExpression returns Aggregation
288 * Aggregation returns Aggregation 325 * Aggregation returns Aggregation
289 * AtomicExpression returns Aggregation 326 * AtomicExpression returns Aggregation
290 * 327 *
291 * Constraint: 328 * Constraint:
292 * (op=AggregationOp body=Expression condition=Expression) 329 * (op=[NamedElement|QualifiedName] localVariables=LocalVariables? body=Expression condition=Expression?)
293 */ 330 */
294 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { 331 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) {
295 if (errorAcceptor != null) { 332 genericSequencer.createSequence(context, semanticObject);
296 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP) == ValueTransient.YES)
297 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP));
298 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY) == ValueTransient.YES)
299 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY));
300 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION) == ValueTransient.YES)
301 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION));
302 }
303 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
304 feeder.accept(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0(), semanticObject.getOp());
305 feeder.accept(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
306 feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition());
307 feeder.finish();
308 } 333 }
309 334
310 335
@@ -322,14 +347,23 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
322 347
323 /** 348 /**
324 * Contexts: 349 * Contexts:
325 * Statement returns Assertion 350 * Statement returns Interpretation
326 * AssertionOrDefinition returns Assertion 351 * AssertionOrDefinition returns Interpretation
327 * 352 *
328 * Constraint: 353 * Constraint:
329 * (body=AssertionOrDefinition_Assertion_1_0_0 range=Expression?) 354 * (body=AssertionOrDefinition_Interpretation_1_0_0 range=Expression)
330 */ 355 */
331 protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) { 356 protected void sequence_AssertionOrDefinition(ISerializationContext context, Interpretation semanticObject) {
332 genericSequencer.createSequence(context, semanticObject); 357 if (errorAcceptor != null) {
358 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY) == ValueTransient.YES)
359 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY));
360 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE) == ValueTransient.YES)
361 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE));
362 }
363 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
364 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), semanticObject.getBody());
365 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0(), semanticObject.getRange());
366 feeder.finish();
333 } 367 }
334 368
335 369
@@ -359,7 +393,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
359 * Statement returns MetricDefinition 393 * Statement returns MetricDefinition
360 * 394 *
361 * Constraint: 395 * Constraint:
362 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=MetricType head=Expression body=Expression)) 396 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=[NamedElement|QualifiedName] head=Call body=Expression))
363 */ 397 */
364 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { 398 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
365 genericSequencer.createSequence(context, semanticObject); 399 genericSequencer.createSequence(context, semanticObject);
@@ -440,10 +474,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
440 474
441 /** 475 /**
442 * Contexts: 476 * Contexts:
443 * AssertionOrDefinition.Assertion_1_0_0 returns Call 477 * Statement returns Call
478 * AssertionOrDefinition returns Call
479 * AssertionOrDefinition.Interpretation_1_0_0 returns Call
444 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call 480 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call
445 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call 481 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call
446 * Expression returns Call 482 * Expression returns Call
483 * ImplicationExpression returns Call
484 * ImplicationExpression.BinaryExpression_1_0 returns Call
447 * DisjunctiveExpression returns Call 485 * DisjunctiveExpression returns Call
448 * DisjunctiveExpression.Disjunction_1_0_0 returns Call 486 * DisjunctiveExpression.Disjunction_1_0_0 returns Call
449 * DisjunctiveExpression.Case_1_1_0 returns Call 487 * DisjunctiveExpression.Case_1_1_0 returns Call
@@ -457,6 +495,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
457 * MultiplicativeExpression.BinaryExpression_1_0 returns Call 495 * MultiplicativeExpression.BinaryExpression_1_0 returns Call
458 * ExponentialExpression returns Call 496 * ExponentialExpression returns Call
459 * ExponentialExpression.BinaryExpression_1_0 returns Call 497 * ExponentialExpression.BinaryExpression_1_0 returns Call
498 * CastExpression returns Call
499 * CastExpression.CastExpression_1_0 returns Call
460 * UnaryExpression returns Call 500 * UnaryExpression returns Call
461 * AggregationExpression returns Call 501 * AggregationExpression returns Call
462 * AtomicExpression returns Call 502 * AtomicExpression returns Call
@@ -497,6 +537,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
497 537
498 /** 538 /**
499 * Contexts: 539 * Contexts:
540 * Statement returns CastExpression
541 * AssertionOrDefinition returns CastExpression
542 * AssertionOrDefinition.Interpretation_1_0_0 returns CastExpression
543 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression
544 * AssertionOrDefinition.MetricDefinition_1_2_0 returns CastExpression
545 * Expression returns CastExpression
546 * ImplicationExpression returns CastExpression
547 * ImplicationExpression.BinaryExpression_1_0 returns CastExpression
548 * DisjunctiveExpression returns CastExpression
549 * DisjunctiveExpression.Disjunction_1_0_0 returns CastExpression
550 * DisjunctiveExpression.Case_1_1_0 returns CastExpression
551 * ConjunctiveExpression returns CastExpression
552 * ConjunctiveExpression.Conjunction_1_0 returns CastExpression
553 * ComparisonExpression returns CastExpression
554 * ComparisonExpression.Comparison_1_0 returns CastExpression
555 * AdditiveExpression returns CastExpression
556 * AdditiveExpression.BinaryExpression_1_0 returns CastExpression
557 * MultiplicativeExpression returns CastExpression
558 * MultiplicativeExpression.BinaryExpression_1_0 returns CastExpression
559 * ExponentialExpression returns CastExpression
560 * ExponentialExpression.BinaryExpression_1_0 returns CastExpression
561 * CastExpression returns CastExpression
562 * CastExpression.CastExpression_1_0 returns CastExpression
563 * UnaryExpression returns CastExpression
564 * AggregationExpression returns CastExpression
565 * AtomicExpression returns CastExpression
566 *
567 * Constraint:
568 * (body=CastExpression_CastExpression_1_0 type=[NamedElement|QualifiedName])
569 */
570 protected void sequence_CastExpression(ISerializationContext context, CastExpression semanticObject) {
571 if (errorAcceptor != null) {
572 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY) == ValueTransient.YES)
573 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY));
574 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE) == ValueTransient.YES)
575 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE));
576 }
577 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
578 feeder.accept(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), semanticObject.getBody());
579 feeder.accept(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE, false));
580 feeder.finish();
581 }
582
583
584 /**
585 * Contexts:
500 * Statement returns ClassDefinition 586 * Statement returns ClassDefinition
501 * ClassDefinition returns ClassDefinition 587 * ClassDefinition returns ClassDefinition
502 * 588 *
@@ -515,10 +601,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
515 601
516 /** 602 /**
517 * Contexts: 603 * Contexts:
518 * AssertionOrDefinition.Assertion_1_0_0 returns Comparison 604 * Statement returns Comparison
605 * AssertionOrDefinition returns Comparison
606 * AssertionOrDefinition.Interpretation_1_0_0 returns Comparison
519 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison 607 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison
520 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison 608 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison
521 * Expression returns Comparison 609 * Expression returns Comparison
610 * ImplicationExpression returns Comparison
611 * ImplicationExpression.BinaryExpression_1_0 returns Comparison
522 * DisjunctiveExpression returns Comparison 612 * DisjunctiveExpression returns Comparison
523 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison 613 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison
524 * DisjunctiveExpression.Case_1_1_0 returns Comparison 614 * DisjunctiveExpression.Case_1_1_0 returns Comparison
@@ -532,6 +622,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
532 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison 622 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison
533 * ExponentialExpression returns Comparison 623 * ExponentialExpression returns Comparison
534 * ExponentialExpression.BinaryExpression_1_0 returns Comparison 624 * ExponentialExpression.BinaryExpression_1_0 returns Comparison
625 * CastExpression returns Comparison
626 * CastExpression.CastExpression_1_0 returns Comparison
535 * UnaryExpression returns Comparison 627 * UnaryExpression returns Comparison
536 * AggregationExpression returns Comparison 628 * AggregationExpression returns Comparison
537 * AtomicExpression returns Comparison 629 * AtomicExpression returns Comparison
@@ -558,10 +650,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
558 650
559 /** 651 /**
560 * Contexts: 652 * Contexts:
561 * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction 653 * Statement returns Conjunction
654 * AssertionOrDefinition returns Conjunction
655 * AssertionOrDefinition.Interpretation_1_0_0 returns Conjunction
562 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction 656 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction
563 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction 657 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction
564 * Expression returns Conjunction 658 * Expression returns Conjunction
659 * ImplicationExpression returns Conjunction
660 * ImplicationExpression.BinaryExpression_1_0 returns Conjunction
565 * DisjunctiveExpression returns Conjunction 661 * DisjunctiveExpression returns Conjunction
566 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction 662 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction
567 * DisjunctiveExpression.Case_1_1_0 returns Conjunction 663 * DisjunctiveExpression.Case_1_1_0 returns Conjunction
@@ -575,6 +671,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
575 * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction 671 * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction
576 * ExponentialExpression returns Conjunction 672 * ExponentialExpression returns Conjunction
577 * ExponentialExpression.BinaryExpression_1_0 returns Conjunction 673 * ExponentialExpression.BinaryExpression_1_0 returns Conjunction
674 * CastExpression returns Conjunction
675 * CastExpression.CastExpression_1_0 returns Conjunction
578 * UnaryExpression returns Conjunction 676 * UnaryExpression returns Conjunction
579 * AggregationExpression returns Conjunction 677 * AggregationExpression returns Conjunction
580 * AtomicExpression returns Conjunction 678 * AtomicExpression returns Conjunction
@@ -589,44 +687,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
589 687
590 /** 688 /**
591 * Contexts: 689 * Contexts:
592 * AssertionOrDefinition.Assertion_1_0_0 returns Count
593 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count
594 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Count
595 * Expression returns Count
596 * DisjunctiveExpression returns Count
597 * DisjunctiveExpression.Disjunction_1_0_0 returns Count
598 * DisjunctiveExpression.Case_1_1_0 returns Count
599 * ConjunctiveExpression returns Count
600 * ConjunctiveExpression.Conjunction_1_0 returns Count
601 * ComparisonExpression returns Count
602 * ComparisonExpression.Comparison_1_0 returns Count
603 * AdditiveExpression returns Count
604 * AdditiveExpression.BinaryExpression_1_0 returns Count
605 * MultiplicativeExpression returns Count
606 * MultiplicativeExpression.BinaryExpression_1_0 returns Count
607 * ExponentialExpression returns Count
608 * ExponentialExpression.BinaryExpression_1_0 returns Count
609 * UnaryExpression returns Count
610 * AggregationExpression returns Count
611 * Count returns Count
612 * AtomicExpression returns Count
613 *
614 * Constraint:
615 * body=Expression
616 */
617 protected void sequence_Count(ISerializationContext context, Count semanticObject) {
618 if (errorAcceptor != null) {
619 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY) == ValueTransient.YES)
620 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY));
621 }
622 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
623 feeder.accept(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
624 feeder.finish();
625 }
626
627
628 /**
629 * Contexts:
630 * Statement returns DefaultDefinition 690 * Statement returns DefaultDefinition
631 * DefaultDefinition returns DefaultDefinition 691 * DefaultDefinition returns DefaultDefinition
632 * 692 *
@@ -649,10 +709,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
649 709
650 /** 710 /**
651 * Contexts: 711 * Contexts:
652 * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction 712 * Statement returns Disjunction
713 * AssertionOrDefinition returns Disjunction
714 * AssertionOrDefinition.Interpretation_1_0_0 returns Disjunction
653 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction 715 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction
654 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction 716 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction
655 * Expression returns Disjunction 717 * Expression returns Disjunction
718 * ImplicationExpression returns Disjunction
719 * ImplicationExpression.BinaryExpression_1_0 returns Disjunction
656 * DisjunctiveExpression returns Disjunction 720 * DisjunctiveExpression returns Disjunction
657 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction 721 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction
658 * DisjunctiveExpression.Case_1_1_0 returns Disjunction 722 * DisjunctiveExpression.Case_1_1_0 returns Disjunction
@@ -666,6 +730,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
666 * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction 730 * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction
667 * ExponentialExpression returns Disjunction 731 * ExponentialExpression returns Disjunction
668 * ExponentialExpression.BinaryExpression_1_0 returns Disjunction 732 * ExponentialExpression.BinaryExpression_1_0 returns Disjunction
733 * CastExpression returns Disjunction
734 * CastExpression.CastExpression_1_0 returns Disjunction
669 * UnaryExpression returns Disjunction 735 * UnaryExpression returns Disjunction
670 * AggregationExpression returns Disjunction 736 * AggregationExpression returns Disjunction
671 * AtomicExpression returns Disjunction 737 * AtomicExpression returns Disjunction
@@ -680,10 +746,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
680 746
681 /** 747 /**
682 * Contexts: 748 * Contexts:
683 * AssertionOrDefinition.Assertion_1_0_0 returns Switch 749 * Statement returns Switch
750 * AssertionOrDefinition returns Switch
751 * AssertionOrDefinition.Interpretation_1_0_0 returns Switch
684 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch 752 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch
685 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch 753 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch
686 * Expression returns Switch 754 * Expression returns Switch
755 * ImplicationExpression returns Switch
756 * ImplicationExpression.BinaryExpression_1_0 returns Switch
687 * DisjunctiveExpression returns Switch 757 * DisjunctiveExpression returns Switch
688 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch 758 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch
689 * DisjunctiveExpression.Case_1_1_0 returns Switch 759 * DisjunctiveExpression.Case_1_1_0 returns Switch
@@ -697,6 +767,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
697 * MultiplicativeExpression.BinaryExpression_1_0 returns Switch 767 * MultiplicativeExpression.BinaryExpression_1_0 returns Switch
698 * ExponentialExpression returns Switch 768 * ExponentialExpression returns Switch
699 * ExponentialExpression.BinaryExpression_1_0 returns Switch 769 * ExponentialExpression.BinaryExpression_1_0 returns Switch
770 * CastExpression returns Switch
771 * CastExpression.CastExpression_1_0 returns Switch
700 * UnaryExpression returns Switch 772 * UnaryExpression returns Switch
701 * AggregationExpression returns Switch 773 * AggregationExpression returns Switch
702 * AtomicExpression returns Switch 774 * AtomicExpression returns Switch
@@ -732,10 +804,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
732 804
733 /** 805 /**
734 * Contexts: 806 * Contexts:
735 * AssertionOrDefinition.Assertion_1_0_0 returns EmptyIntervalLiteral 807 * Statement returns EmptyIntervalLiteral
808 * AssertionOrDefinition returns EmptyIntervalLiteral
809 * AssertionOrDefinition.Interpretation_1_0_0 returns EmptyIntervalLiteral
736 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral 810 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral
737 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral 811 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral
738 * Expression returns EmptyIntervalLiteral 812 * Expression returns EmptyIntervalLiteral
813 * ImplicationExpression returns EmptyIntervalLiteral
814 * ImplicationExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
739 * DisjunctiveExpression returns EmptyIntervalLiteral 815 * DisjunctiveExpression returns EmptyIntervalLiteral
740 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral 816 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral
741 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral 817 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral
@@ -749,6 +825,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
749 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 825 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
750 * ExponentialExpression returns EmptyIntervalLiteral 826 * ExponentialExpression returns EmptyIntervalLiteral
751 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 827 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
828 * CastExpression returns EmptyIntervalLiteral
829 * CastExpression.CastExpression_1_0 returns EmptyIntervalLiteral
752 * UnaryExpression returns EmptyIntervalLiteral 830 * UnaryExpression returns EmptyIntervalLiteral
753 * AggregationExpression returns EmptyIntervalLiteral 831 * AggregationExpression returns EmptyIntervalLiteral
754 * AtomicExpression returns EmptyIntervalLiteral 832 * AtomicExpression returns EmptyIntervalLiteral
@@ -826,22 +904,63 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
826 904
827 /** 905 /**
828 * Contexts: 906 * Contexts:
907 * Statement returns ExternAggregatorDefinition
908 * ExternAggregatorDefinition returns ExternAggregatorDefinition
909 *
910 * Constraint:
911 * (type=[NamedElement|QualifiedName] name=QualifiedName inputType=[NamedElement|QualifiedName])
912 */
913 protected void sequence_ExternAggregatorDefinition(ISerializationContext context, ExternAggregatorDefinition semanticObject) {
914 if (errorAcceptor != null) {
915 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE) == ValueTransient.YES)
916 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE));
917 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME) == ValueTransient.YES)
918 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME));
919 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE) == ValueTransient.YES)
920 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE));
921 }
922 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
923 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE, false));
924 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
925 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, false));
926 feeder.finish();
927 }
928
929
930 /**
931 * Contexts:
932 * Statement returns ExternDatatypeDefinition
933 * ExternDatatypeDefinition returns ExternDatatypeDefinition
934 *
935 * Constraint:
936 * (name=QualifiedName supertypes+=[NamedElement|QualifiedName] supertypes+=[NamedElement|QualifiedName]*)
937 */
938 protected void sequence_ExternDatatypeDefinition(ISerializationContext context, ExternDatatypeDefinition semanticObject) {
939 genericSequencer.createSequence(context, semanticObject);
940 }
941
942
943 /**
944 * Contexts:
829 * Statement returns ExternMetricDefinition 945 * Statement returns ExternMetricDefinition
830 * ExternMetricDefinition returns ExternMetricDefinition 946 * ExternMetricDefinition returns ExternMetricDefinition
831 * 947 *
832 * Constraint: 948 * Constraint:
833 * (type=MetricType head=Call) 949 * (type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList)
834 */ 950 */
835 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) { 951 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) {
836 if (errorAcceptor != null) { 952 if (errorAcceptor != null) {
837 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES) 953 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES)
838 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE)); 954 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE));
839 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD) == ValueTransient.YES) 955 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME) == ValueTransient.YES)
840 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD)); 956 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME));
957 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES)
958 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST));
841 } 959 }
842 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 960 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
843 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0(), semanticObject.getType()); 961 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE, false));
844 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0(), semanticObject.getHead()); 962 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
963 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList());
845 feeder.finish(); 964 feeder.finish();
846 } 965 }
847 966
@@ -852,26 +971,33 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
852 * ExternPredicateDefinition returns ExternPredicateDefinition 971 * ExternPredicateDefinition returns ExternPredicateDefinition
853 * 972 *
854 * Constraint: 973 * Constraint:
855 * head=Call 974 * (name=QualifiedName argumentList=ArgumentList)
856 */ 975 */
857 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) { 976 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) {
858 if (errorAcceptor != null) { 977 if (errorAcceptor != null) {
859 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) 978 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME) == ValueTransient.YES)
860 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD)); 979 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME));
980 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES)
981 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST));
861 } 982 }
862 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 983 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
863 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); 984 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
985 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0(), semanticObject.getArgumentList());
864 feeder.finish(); 986 feeder.finish();
865 } 987 }
866 988
867 989
868 /** 990 /**
869 * Contexts: 991 * Contexts:
870 * AssertionOrDefinition.Assertion_1_0_0 returns IfElse 992 * Statement returns IfElse
993 * AssertionOrDefinition returns IfElse
994 * AssertionOrDefinition.Interpretation_1_0_0 returns IfElse
871 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse 995 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse
872 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse 996 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse
873 * Expression returns IfElse 997 * Expression returns IfElse
874 * IfElse returns IfElse 998 * IfElse returns IfElse
999 * ImplicationExpression returns IfElse
1000 * ImplicationExpression.BinaryExpression_1_0 returns IfElse
875 * DisjunctiveExpression returns IfElse 1001 * DisjunctiveExpression returns IfElse
876 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse 1002 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse
877 * DisjunctiveExpression.Case_1_1_0 returns IfElse 1003 * DisjunctiveExpression.Case_1_1_0 returns IfElse
@@ -885,6 +1011,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
885 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse 1011 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse
886 * ExponentialExpression returns IfElse 1012 * ExponentialExpression returns IfElse
887 * ExponentialExpression.BinaryExpression_1_0 returns IfElse 1013 * ExponentialExpression.BinaryExpression_1_0 returns IfElse
1014 * CastExpression returns IfElse
1015 * CastExpression.CastExpression_1_0 returns IfElse
888 * UnaryExpression returns IfElse 1016 * UnaryExpression returns IfElse
889 * AggregationExpression returns IfElse 1017 * AggregationExpression returns IfElse
890 * AtomicExpression returns IfElse 1018 * AtomicExpression returns IfElse
@@ -911,10 +1039,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
911 1039
912 /** 1040 /**
913 * Contexts: 1041 * Contexts:
914 * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral 1042 * Statement returns InfinityLiteral
1043 * AssertionOrDefinition returns InfinityLiteral
1044 * AssertionOrDefinition.Interpretation_1_0_0 returns InfinityLiteral
915 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral 1045 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral
916 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral 1046 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral
917 * Expression returns InfinityLiteral 1047 * Expression returns InfinityLiteral
1048 * ImplicationExpression returns InfinityLiteral
1049 * ImplicationExpression.BinaryExpression_1_0 returns InfinityLiteral
918 * DisjunctiveExpression returns InfinityLiteral 1050 * DisjunctiveExpression returns InfinityLiteral
919 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral 1051 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral
920 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral 1052 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral
@@ -928,6 +1060,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
928 * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral 1060 * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral
929 * ExponentialExpression returns InfinityLiteral 1061 * ExponentialExpression returns InfinityLiteral
930 * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral 1062 * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral
1063 * CastExpression returns InfinityLiteral
1064 * CastExpression.CastExpression_1_0 returns InfinityLiteral
931 * UnaryExpression returns InfinityLiteral 1065 * UnaryExpression returns InfinityLiteral
932 * AggregationExpression returns InfinityLiteral 1066 * AggregationExpression returns InfinityLiteral
933 * AtomicExpression returns InfinityLiteral 1067 * AtomicExpression returns InfinityLiteral
@@ -944,10 +1078,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
944 1078
945 /** 1079 /**
946 * Contexts: 1080 * Contexts:
947 * AssertionOrDefinition.Assertion_1_0_0 returns Interval 1081 * Statement returns Interval
1082 * AssertionOrDefinition returns Interval
1083 * AssertionOrDefinition.Interpretation_1_0_0 returns Interval
948 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval 1084 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval
949 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval 1085 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval
950 * Expression returns Interval 1086 * Expression returns Interval
1087 * ImplicationExpression returns Interval
1088 * ImplicationExpression.BinaryExpression_1_0 returns Interval
951 * DisjunctiveExpression returns Interval 1089 * DisjunctiveExpression returns Interval
952 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval 1090 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval
953 * DisjunctiveExpression.Case_1_1_0 returns Interval 1091 * DisjunctiveExpression.Case_1_1_0 returns Interval
@@ -961,6 +1099,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
961 * MultiplicativeExpression.BinaryExpression_1_0 returns Interval 1099 * MultiplicativeExpression.BinaryExpression_1_0 returns Interval
962 * ExponentialExpression returns Interval 1100 * ExponentialExpression returns Interval
963 * ExponentialExpression.BinaryExpression_1_0 returns Interval 1101 * ExponentialExpression.BinaryExpression_1_0 returns Interval
1102 * CastExpression returns Interval
1103 * CastExpression.CastExpression_1_0 returns Interval
964 * UnaryExpression returns Interval 1104 * UnaryExpression returns Interval
965 * AggregationExpression returns Interval 1105 * AggregationExpression returns Interval
966 * AtomicExpression returns Interval 1106 * AtomicExpression returns Interval
@@ -985,10 +1125,85 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
985 1125
986 /** 1126 /**
987 * Contexts: 1127 * Contexts:
988 * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral 1128 * LetBinding returns LetBinding
1129 *
1130 * Constraint:
1131 * (variable=Variable value=AdditiveExpression)
1132 */
1133 protected void sequence_LetBinding(ISerializationContext context, LetBinding semanticObject) {
1134 if (errorAcceptor != null) {
1135 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE) == ValueTransient.YES)
1136 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE));
1137 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE) == ValueTransient.YES)
1138 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE));
1139 }
1140 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1141 feeder.accept(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0(), semanticObject.getVariable());
1142 feeder.accept(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0(), semanticObject.getValue());
1143 feeder.finish();
1144 }
1145
1146
1147 /**
1148 * Contexts:
1149 * Statement returns Let
1150 * AssertionOrDefinition returns Let
1151 * AssertionOrDefinition.Interpretation_1_0_0 returns Let
1152 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Let
1153 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Let
1154 * Expression returns Let
1155 * Let returns Let
1156 * ImplicationExpression returns Let
1157 * ImplicationExpression.BinaryExpression_1_0 returns Let
1158 * DisjunctiveExpression returns Let
1159 * DisjunctiveExpression.Disjunction_1_0_0 returns Let
1160 * DisjunctiveExpression.Case_1_1_0 returns Let
1161 * ConjunctiveExpression returns Let
1162 * ConjunctiveExpression.Conjunction_1_0 returns Let
1163 * ComparisonExpression returns Let
1164 * ComparisonExpression.Comparison_1_0 returns Let
1165 * AdditiveExpression returns Let
1166 * AdditiveExpression.BinaryExpression_1_0 returns Let
1167 * MultiplicativeExpression returns Let
1168 * MultiplicativeExpression.BinaryExpression_1_0 returns Let
1169 * ExponentialExpression returns Let
1170 * ExponentialExpression.BinaryExpression_1_0 returns Let
1171 * CastExpression returns Let
1172 * CastExpression.CastExpression_1_0 returns Let
1173 * UnaryExpression returns Let
1174 * AggregationExpression returns Let
1175 * AtomicExpression returns Let
1176 *
1177 * Constraint:
1178 * (bindings+=LetBinding bindings+=LetBinding* body=Expression)
1179 */
1180 protected void sequence_Let(ISerializationContext context, Let semanticObject) {
1181 genericSequencer.createSequence(context, semanticObject);
1182 }
1183
1184
1185 /**
1186 * Contexts:
1187 * LocalVariables returns LocalVariables
1188 *
1189 * Constraint:
1190 * (variables+=Variable variables+=Variable*)?
1191 */
1192 protected void sequence_LocalVariables(ISerializationContext context, LocalVariables semanticObject) {
1193 genericSequencer.createSequence(context, semanticObject);
1194 }
1195
1196
1197 /**
1198 * Contexts:
1199 * Statement returns LogicLiteral
1200 * AssertionOrDefinition returns LogicLiteral
1201 * AssertionOrDefinition.Interpretation_1_0_0 returns LogicLiteral
989 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral 1202 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral
990 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral 1203 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral
991 * Expression returns LogicLiteral 1204 * Expression returns LogicLiteral
1205 * ImplicationExpression returns LogicLiteral
1206 * ImplicationExpression.BinaryExpression_1_0 returns LogicLiteral
992 * DisjunctiveExpression returns LogicLiteral 1207 * DisjunctiveExpression returns LogicLiteral
993 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral 1208 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral
994 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral 1209 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral
@@ -1002,6 +1217,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1002 * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral 1217 * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral
1003 * ExponentialExpression returns LogicLiteral 1218 * ExponentialExpression returns LogicLiteral
1004 * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral 1219 * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral
1220 * CastExpression returns LogicLiteral
1221 * CastExpression.CastExpression_1_0 returns LogicLiteral
1005 * UnaryExpression returns LogicLiteral 1222 * UnaryExpression returns LogicLiteral
1006 * AggregationExpression returns LogicLiteral 1223 * AggregationExpression returns LogicLiteral
1007 * AtomicExpression returns LogicLiteral 1224 * AtomicExpression returns LogicLiteral
@@ -1066,7 +1283,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1066 * MetricDefinition returns MetricDefinition 1283 * MetricDefinition returns MetricDefinition
1067 * 1284 *
1068 * Constraint: 1285 * Constraint:
1069 * (type=MetricType head=Expression body=Expression) 1286 * (type=[NamedElement|QualifiedName] head=Call body=Expression)
1070 */ 1287 */
1071 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { 1288 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
1072 if (errorAcceptor != null) { 1289 if (errorAcceptor != null) {
@@ -1078,8 +1295,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1078 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); 1295 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY));
1079 } 1296 }
1080 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1297 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1081 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0(), semanticObject.getType()); 1298 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE, false));
1082 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0(), semanticObject.getHead()); 1299 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead());
1083 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); 1300 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
1084 feeder.finish(); 1301 feeder.finish();
1085 } 1302 }
@@ -1087,28 +1304,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1087 1304
1088 /** 1305 /**
1089 * Contexts: 1306 * Contexts:
1090 * NamedElement returns NamedElement 1307 * Statement returns NumericLiteral
1091 * 1308 * AssertionOrDefinition returns NumericLiteral
1092 * Constraint: 1309 * AssertionOrDefinition.Interpretation_1_0_0 returns NumericLiteral
1093 * name=QualifiedName
1094 */
1095 protected void sequence_NamedElement(ISerializationContext context, NamedElement semanticObject) {
1096 if (errorAcceptor != null) {
1097 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
1098 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME));
1099 }
1100 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1101 feeder.accept(grammarAccess.getNamedElementAccess().getNameQualifiedNameParserRuleCall_0(), semanticObject.getName());
1102 feeder.finish();
1103 }
1104
1105
1106 /**
1107 * Contexts:
1108 * AssertionOrDefinition.Assertion_1_0_0 returns NumericLiteral
1109 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral 1310 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral
1110 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral 1311 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral
1111 * Expression returns NumericLiteral 1312 * Expression returns NumericLiteral
1313 * ImplicationExpression returns NumericLiteral
1314 * ImplicationExpression.BinaryExpression_1_0 returns NumericLiteral
1112 * DisjunctiveExpression returns NumericLiteral 1315 * DisjunctiveExpression returns NumericLiteral
1113 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral 1316 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral
1114 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral 1317 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral
@@ -1122,6 +1325,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1122 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral 1325 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral
1123 * ExponentialExpression returns NumericLiteral 1326 * ExponentialExpression returns NumericLiteral
1124 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral 1327 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral
1328 * CastExpression returns NumericLiteral
1329 * CastExpression.CastExpression_1_0 returns NumericLiteral
1125 * UnaryExpression returns NumericLiteral 1330 * UnaryExpression returns NumericLiteral
1126 * AggregationExpression returns NumericLiteral 1331 * AggregationExpression returns NumericLiteral
1127 * AtomicExpression returns NumericLiteral 1332 * AtomicExpression returns NumericLiteral
@@ -1190,10 +1395,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1190 1395
1191 /** 1396 /**
1192 * Contexts: 1397 * Contexts:
1193 * AssertionOrDefinition.Assertion_1_0_0 returns Reference 1398 * Statement returns QuantifiedExpression
1399 * AssertionOrDefinition returns QuantifiedExpression
1400 * AssertionOrDefinition.Interpretation_1_0_0 returns QuantifiedExpression
1401 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns QuantifiedExpression
1402 * AssertionOrDefinition.MetricDefinition_1_2_0 returns QuantifiedExpression
1403 * Expression returns QuantifiedExpression
1404 * ImplicationExpression returns QuantifiedExpression
1405 * ImplicationExpression.BinaryExpression_1_0 returns QuantifiedExpression
1406 * DisjunctiveExpression returns QuantifiedExpression
1407 * DisjunctiveExpression.Disjunction_1_0_0 returns QuantifiedExpression
1408 * DisjunctiveExpression.Case_1_1_0 returns QuantifiedExpression
1409 * ConjunctiveExpression returns QuantifiedExpression
1410 * ConjunctiveExpression.Conjunction_1_0 returns QuantifiedExpression
1411 * ComparisonExpression returns QuantifiedExpression
1412 * ComparisonExpression.Comparison_1_0 returns QuantifiedExpression
1413 * AdditiveExpression returns QuantifiedExpression
1414 * AdditiveExpression.BinaryExpression_1_0 returns QuantifiedExpression
1415 * MultiplicativeExpression returns QuantifiedExpression
1416 * MultiplicativeExpression.BinaryExpression_1_0 returns QuantifiedExpression
1417 * ExponentialExpression returns QuantifiedExpression
1418 * ExponentialExpression.BinaryExpression_1_0 returns QuantifiedExpression
1419 * CastExpression returns QuantifiedExpression
1420 * CastExpression.CastExpression_1_0 returns QuantifiedExpression
1421 * UnaryExpression returns QuantifiedExpression
1422 * AggregationExpression returns QuantifiedExpression
1423 * QuantifiedExpression returns QuantifiedExpression
1424 * AtomicExpression returns QuantifiedExpression
1425 *
1426 * Constraint:
1427 * (quantifier=Quantifier localVariables=LocalVariables? body=Expression)
1428 */
1429 protected void sequence_QuantifiedExpression(ISerializationContext context, QuantifiedExpression semanticObject) {
1430 genericSequencer.createSequence(context, semanticObject);
1431 }
1432
1433
1434 /**
1435 * Contexts:
1436 * Statement returns Reference
1437 * AssertionOrDefinition returns Reference
1438 * AssertionOrDefinition.Interpretation_1_0_0 returns Reference
1194 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference 1439 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference
1195 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference 1440 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference
1196 * Expression returns Reference 1441 * Expression returns Reference
1442 * ImplicationExpression returns Reference
1443 * ImplicationExpression.BinaryExpression_1_0 returns Reference
1197 * DisjunctiveExpression returns Reference 1444 * DisjunctiveExpression returns Reference
1198 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference 1445 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference
1199 * DisjunctiveExpression.Case_1_1_0 returns Reference 1446 * DisjunctiveExpression.Case_1_1_0 returns Reference
@@ -1207,6 +1454,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1207 * MultiplicativeExpression.BinaryExpression_1_0 returns Reference 1454 * MultiplicativeExpression.BinaryExpression_1_0 returns Reference
1208 * ExponentialExpression returns Reference 1455 * ExponentialExpression returns Reference
1209 * ExponentialExpression.BinaryExpression_1_0 returns Reference 1456 * ExponentialExpression.BinaryExpression_1_0 returns Reference
1457 * CastExpression returns Reference
1458 * CastExpression.CastExpression_1_0 returns Reference
1210 * UnaryExpression returns Reference 1459 * UnaryExpression returns Reference
1211 * AggregationExpression returns Reference 1460 * AggregationExpression returns Reference
1212 * AtomicExpression returns Reference 1461 * AtomicExpression returns Reference
@@ -1241,10 +1490,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1241 1490
1242 /** 1491 /**
1243 * Contexts: 1492 * Contexts:
1244 * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral 1493 * Statement returns StringLiteral
1494 * AssertionOrDefinition returns StringLiteral
1495 * AssertionOrDefinition.Interpretation_1_0_0 returns StringLiteral
1245 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral 1496 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral
1246 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral 1497 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral
1247 * Expression returns StringLiteral 1498 * Expression returns StringLiteral
1499 * ImplicationExpression returns StringLiteral
1500 * ImplicationExpression.BinaryExpression_1_0 returns StringLiteral
1248 * DisjunctiveExpression returns StringLiteral 1501 * DisjunctiveExpression returns StringLiteral
1249 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral 1502 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral
1250 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral 1503 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral
@@ -1258,6 +1511,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1258 * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral 1511 * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral
1259 * ExponentialExpression returns StringLiteral 1512 * ExponentialExpression returns StringLiteral
1260 * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral 1513 * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral
1514 * CastExpression returns StringLiteral
1515 * CastExpression.CastExpression_1_0 returns StringLiteral
1261 * UnaryExpression returns StringLiteral 1516 * UnaryExpression returns StringLiteral
1262 * AggregationExpression returns StringLiteral 1517 * AggregationExpression returns StringLiteral
1263 * AtomicExpression returns StringLiteral 1518 * AtomicExpression returns StringLiteral
@@ -1321,10 +1576,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1321 1576
1322 /** 1577 /**
1323 * Contexts: 1578 * Contexts:
1324 * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression 1579 * Statement returns UnaryExpression
1580 * AssertionOrDefinition returns UnaryExpression
1581 * AssertionOrDefinition.Interpretation_1_0_0 returns UnaryExpression
1325 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression 1582 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression
1326 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression 1583 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression
1327 * Expression returns UnaryExpression 1584 * Expression returns UnaryExpression
1585 * ImplicationExpression returns UnaryExpression
1586 * ImplicationExpression.BinaryExpression_1_0 returns UnaryExpression
1328 * DisjunctiveExpression returns UnaryExpression 1587 * DisjunctiveExpression returns UnaryExpression
1329 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression 1588 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression
1330 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression 1589 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression
@@ -1338,6 +1597,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1338 * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression 1597 * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression
1339 * ExponentialExpression returns UnaryExpression 1598 * ExponentialExpression returns UnaryExpression
1340 * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression 1599 * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression
1600 * CastExpression returns UnaryExpression
1601 * CastExpression.CastExpression_1_0 returns UnaryExpression
1341 * UnaryExpression returns UnaryExpression 1602 * UnaryExpression returns UnaryExpression
1342 * AggregationExpression returns UnaryExpression 1603 * AggregationExpression returns UnaryExpression
1343 * AtomicExpression returns UnaryExpression 1604 * AtomicExpression returns UnaryExpression
@@ -1381,4 +1642,16 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1381 } 1642 }
1382 1643
1383 1644
1645 /**
1646 * Contexts:
1647 * Variable returns Variable
1648 *
1649 * Constraint:
1650 * (type=[NamedElement|QualifiedName]? name=ID)
1651 */
1652 protected void sequence_Variable(ISerializationContext context, Variable semanticObject) {
1653 genericSequencer.createSequence(context, semanticObject);
1654 }
1655
1656
1384} 1657}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
index 1fa1a820..8b187721 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
@@ -83,18 +83,22 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
83 * 83 *
84 * This ambiguous syntax occurs at: 84 * This ambiguous syntax occurs at:
85 * (rule start) (ambiguity) '[' lowerBound=Expression 85 * (rule start) (ambiguity) '[' lowerBound=Expression
86 * (rule start) (ambiguity) 'count' '{' body=Expression
87 * (rule start) (ambiguity) 'empty' (rule start) 86 * (rule start) (ambiguity) 'empty' (rule start)
87 * (rule start) (ambiguity) 'empty' FULL_STOP (rule start)
88 * (rule start) (ambiguity) 'if' condition=Expression 88 * (rule start) (ambiguity) 'if' condition=Expression
89 * (rule start) (ambiguity) 'inf' (rule start) 89 * (rule start) (ambiguity) 'inf' (rule start)
90 * (rule start) (ambiguity) 'inf' FULL_STOP (rule start)
91 * (rule start) (ambiguity) 'let' bindings+=LetBinding
90 * (rule start) (ambiguity) functor=Reference 92 * (rule start) (ambiguity) functor=Reference
91 * (rule start) (ambiguity) op=AggregationOp
92 * (rule start) (ambiguity) op=UnaryOp 93 * (rule start) (ambiguity) op=UnaryOp
94 * (rule start) (ambiguity) op=[NamedElement|QualifiedName]
95 * (rule start) (ambiguity) quantifier=Quantifier
93 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName] 96 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName]
94 * (rule start) (ambiguity) value=LogicValue 97 * (rule start) (ambiguity) value=LogicValue
95 * (rule start) (ambiguity) value=Real 98 * (rule start) (ambiguity) value=Real
96 * (rule start) (ambiguity) value=STRING 99 * (rule start) (ambiguity) value=STRING
97 * (rule start) (ambiguity) {BinaryExpression.left=} 100 * (rule start) (ambiguity) {BinaryExpression.left=}
101 * (rule start) (ambiguity) {CastExpression.body=}
98 * (rule start) (ambiguity) {Comparison.left=} 102 * (rule start) (ambiguity) {Comparison.left=}
99 * (rule start) (ambiguity) {Conjunction.children+=} 103 * (rule start) (ambiguity) {Conjunction.children+=}
100 * (rule start) (ambiguity) {Disjunction.children+=} 104 * (rule start) (ambiguity) {Disjunction.children+=}
@@ -109,11 +113,13 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
109 * '('+ 113 * '('+
110 * 114 *
111 * This ambiguous syntax occurs at: 115 * This ambiguous syntax occurs at:
112 * (rule start) (ambiguity) 'count' '{' body=Expression
113 * (rule start) (ambiguity) 'if' condition=Expression 116 * (rule start) (ambiguity) 'if' condition=Expression
114 * (rule start) (ambiguity) op=AggregationOp 117 * (rule start) (ambiguity) 'let' bindings+=LetBinding
115 * (rule start) (ambiguity) op=UnaryOp 118 * (rule start) (ambiguity) op=UnaryOp
119 * (rule start) (ambiguity) op=[NamedElement|QualifiedName]
120 * (rule start) (ambiguity) quantifier=Quantifier
116 * (rule start) (ambiguity) {BinaryExpression.left=} 121 * (rule start) (ambiguity) {BinaryExpression.left=}
122 * (rule start) (ambiguity) {CastExpression.body=}
117 * (rule start) (ambiguity) {Comparison.left=} 123 * (rule start) (ambiguity) {Comparison.left=}
118 * (rule start) (ambiguity) {Conjunction.children+=} 124 * (rule start) (ambiguity) {Conjunction.children+=}
119 * (rule start) (ambiguity) {Disjunction.children+=} 125 * (rule start) (ambiguity) {Disjunction.children+=}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
index 0252938a..ed1569a5 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
@@ -50,28 +50,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); 50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); 51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); 52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
53 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); 53 private final RuleCall cMetricDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
54 private final RuleCall cMetricDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5); 54 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6); 55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6);
56 private final RuleCall cClassDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); 56 private final RuleCall cExternAggregatorDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7);
57 private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); 57 private final RuleCall cExternDatatypeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8);
58 private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); 58 private final RuleCall cClassDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9);
59 private final RuleCall cScopeDefinitionParserRuleCall_0_10 = (RuleCall)cAlternatives_0.eContents().get(10);
60 private final RuleCall cObjectiveDefinitionParserRuleCall_0_11 = (RuleCall)cAlternatives_0.eContents().get(11);
59 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 61 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
60 62
61 //Statement: 63 //Statement:
62 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 64 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition
63 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 65 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
64 // ObjectiveDefinition) FULL_STOP; 66 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
65 @Override public ParserRule getRule() { return rule; } 67 @Override public ParserRule getRule() { return rule; }
66 68
67 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 69 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
68 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 70 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
69 //ObjectiveDefinition) FULL_STOP 71 //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP
70 public Group getGroup() { return cGroup; } 72 public Group getGroup() { return cGroup; }
71 73
72 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 74 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
73 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 75 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
74 //ObjectiveDefinition) 76 //ClassDefinition | ScopeDefinition | ObjectiveDefinition)
75 public Alternatives getAlternatives_0() { return cAlternatives_0; } 77 public Alternatives getAlternatives_0() { return cAlternatives_0; }
76 78
77 //AssertionOrDefinition 79 //AssertionOrDefinition
@@ -86,23 +88,29 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
86 //DefaultDefinition 88 //DefaultDefinition
87 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } 89 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; }
88 90
89 //ExternPredicateDefinition
90 public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; }
91
92 //MetricDefinition 91 //MetricDefinition
93 public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; } 92 public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; }
93
94 //ExternPredicateDefinition
95 public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; }
94 96
95 //ExternMetricDefinition 97 //ExternMetricDefinition
96 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } 98 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; }
97 99
100 //ExternAggregatorDefinition
101 public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; }
102
103 //ExternDatatypeDefinition
104 public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; }
105
98 //ClassDefinition 106 //ClassDefinition
99 public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; } 107 public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; }
100 108
101 //ScopeDefinition 109 //ScopeDefinition
102 public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; } 110 public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; }
103 111
104 //ObjectiveDefinition 112 //ObjectiveDefinition
105 public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; } 113 public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; }
106 114
107 //FULL_STOP 115 //FULL_STOP
108 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } 116 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; }
@@ -113,11 +121,10 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
113 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 121 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
114 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 122 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
115 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); 123 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
116 private final Action cAssertionBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); 124 private final Action cInterpretationBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
117 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); 125 private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
118 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); 126 private final Assignment cRangeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
119 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); 127 private final RuleCall cRangeExpressionParserRuleCall_1_0_2_0 = (RuleCall)cRangeAssignment_1_0_2.eContents().get(0);
120 private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0);
121 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 128 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
122 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); 129 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
123 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 130 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
@@ -130,38 +137,35 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
130 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); 137 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
131 138
132 //AssertionOrDefinition Statement: 139 //AssertionOrDefinition Statement:
133 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" 140 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-"
134 // body=Expression | {MetricDefinition.head=current} "=" body=Expression); 141 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?;
135 @Override public ParserRule getRule() { return rule; } 142 @Override public ParserRule getRule() { return rule; }
136 143
137 //Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | 144 //Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression
138 //{MetricDefinition.head=current} "=" body=Expression) 145 //| {MetricDefinition.head=current} "=" body=Expression)?
139 public Group getGroup() { return cGroup; } 146 public Group getGroup() { return cGroup; }
140 147
141 //Expression 148 //Expression
142 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } 149 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
143 150
144 //({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | 151 //({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression |
145 //{MetricDefinition.head=current} "=" body=Expression) 152 //{MetricDefinition.head=current} "=" body=Expression)?
146 public Alternatives getAlternatives_1() { return cAlternatives_1; } 153 public Alternatives getAlternatives_1() { return cAlternatives_1; }
147 154
148 //{Assertion.body=current} (":" range=Expression)? 155 //{Interpretation.body=current} ":" range=Expression
149 public Group getGroup_1_0() { return cGroup_1_0; } 156 public Group getGroup_1_0() { return cGroup_1_0; }
150 157
151 //{Assertion.body=current} 158 //{Interpretation.body=current}
152 public Action getAssertionBodyAction_1_0_0() { return cAssertionBodyAction_1_0_0; } 159 public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; }
153
154 //(":" range=Expression)?
155 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
156 160
157 //":" 161 //":"
158 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; } 162 public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; }
159 163
160 //range=Expression 164 //range=Expression
161 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; } 165 public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; }
162 166
163 //Expression 167 //Expression
164 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; } 168 public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; }
165 169
166 //{PredicateDefinition.head=current} ":-" body=Expression 170 //{PredicateDefinition.head=current} ":-" body=Expression
167 public Group getGroup_1_1() { return cGroup_1_1; } 171 public Group getGroup_1_1() { return cGroup_1_1; }
@@ -338,58 +342,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
338 //Expression 342 //Expression
339 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } 343 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; }
340 } 344 }
341 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
342 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
343 private final Group cGroup = (Group)rule.eContents().get(1);
344 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
345 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
346 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
347
348 //ExternPredicateDefinition:
349 // "extern" head=Call;
350 @Override public ParserRule getRule() { return rule; }
351
352 //"extern" head=Call
353 public Group getGroup() { return cGroup; }
354
355 //"extern"
356 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
357
358 //head=Call
359 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
360
361 //Call
362 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
363 }
364 public class MetricDefinitionElements extends AbstractParserRuleElementFinder { 345 public class MetricDefinitionElements extends AbstractParserRuleElementFinder {
365 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); 346 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition");
366 private final Group cGroup = (Group)rule.eContents().get(1); 347 private final Group cGroup = (Group)rule.eContents().get(1);
367 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 348 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
368 private final RuleCall cTypeMetricTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0); 349 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
350 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
369 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 351 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
370 private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 352 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
371 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 353 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
372 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 354 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
373 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 355 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
374 356
375 //MetricDefinition: 357 //MetricDefinition:
376 // type=MetricType head=Expression "=" body=Expression; 358 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression;
377 @Override public ParserRule getRule() { return rule; } 359 @Override public ParserRule getRule() { return rule; }
378 360
379 //type=MetricType head=Expression "=" body=Expression 361 //type=[NamedElement|QualifiedName] head=Call "=" body=Expression
380 public Group getGroup() { return cGroup; } 362 public Group getGroup() { return cGroup; }
381 363
382 //type=MetricType 364 //type=[NamedElement|QualifiedName]
383 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 365 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
384 366
385 //MetricType 367 //[NamedElement|QualifiedName]
386 public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; } 368 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
369
370 //QualifiedName
371 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
387 372
388 //head=Expression 373 //head=Call
389 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 374 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
390 375
391 //Expression 376 //Call
392 public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; } 377 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
393 378
394 //"=" 379 //"="
395 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } 380 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
@@ -400,55 +385,261 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
400 //Expression 385 //Expression
401 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 386 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
402 } 387 }
388 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
389 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
390 private final Group cGroup = (Group)rule.eContents().get(1);
391 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
392 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
393 private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
394 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
395 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
396
397 //ExternPredicateDefinition:
398 // "extern" name=QualifiedName argumentList=ArgumentList;
399 @Override public ParserRule getRule() { return rule; }
400
401 //"extern" name=QualifiedName argumentList=ArgumentList
402 public Group getGroup() { return cGroup; }
403
404 //"extern"
405 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
406
407 //name=QualifiedName
408 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
409
410 //QualifiedName
411 public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
412
413 //argumentList=ArgumentList
414 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; }
415
416 //ArgumentList
417 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; }
418 }
403 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { 419 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder {
404 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); 420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition");
405 private final Group cGroup = (Group)rule.eContents().get(1); 421 private final Group cGroup = (Group)rule.eContents().get(1);
406 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 422 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
407 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 423 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
408 private final RuleCall cTypeMetricTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); 424 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
409 private final Assignment cHeadAssignment_2 = (Assignment)cGroup.eContents().get(2); 425 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
410 private final RuleCall cHeadCallParserRuleCall_2_0 = (RuleCall)cHeadAssignment_2.eContents().get(0); 426 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
427 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
428 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
429 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
411 430
412 //ExternMetricDefinition: 431 //ExternMetricDefinition:
413 // "extern" type=MetricType head=Call; 432 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList;
414 @Override public ParserRule getRule() { return rule; } 433 @Override public ParserRule getRule() { return rule; }
415 434
416 //"extern" type=MetricType head=Call 435 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList
417 public Group getGroup() { return cGroup; } 436 public Group getGroup() { return cGroup; }
418 437
419 //"extern" 438 //"extern"
420 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 439 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
421 440
422 //type=MetricType 441 //type=[NamedElement|QualifiedName]
423 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 442 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
424 443
425 //MetricType 444 //[NamedElement|QualifiedName]
426 public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; } 445 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
427 446
428 //head=Call 447 //QualifiedName
429 public Assignment getHeadAssignment_2() { return cHeadAssignment_2; } 448 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
430 449
431 //Call 450 //name=QualifiedName
432 public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; } 451 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
452
453 //QualifiedName
454 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
455
456 //argumentList=ArgumentList
457 public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; }
458
459 //ArgumentList
460 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
461 }
462 public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder {
463 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition");
464 private final Group cGroup = (Group)rule.eContents().get(1);
465 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
466 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
467 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
468 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
469 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
470 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
471 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
472 private final Assignment cInputTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
473 private final CrossReference cInputTypeNamedElementCrossReference_4_0 = (CrossReference)cInputTypeAssignment_4.eContents().get(0);
474 private final RuleCall cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cInputTypeNamedElementCrossReference_4_0.eContents().get(1);
475 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
476 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
477
478 //ExternAggregatorDefinition:
479 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}";
480 @Override public ParserRule getRule() { return rule; }
481
482 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"
483 public Group getGroup() { return cGroup; }
484
485 //"extern"
486 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
487
488 //type=[NamedElement|QualifiedName]
489 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
490
491 //[NamedElement|QualifiedName]
492 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
493
494 //QualifiedName
495 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
496
497 //name=QualifiedName
498 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
499
500 //QualifiedName
501 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
502
503 //"{"
504 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
505
506 //inputType=[NamedElement|QualifiedName]
507 public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; }
508
509 //[NamedElement|QualifiedName]
510 public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; }
511
512 //QualifiedName
513 public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; }
514
515 //"..."
516 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; }
517
518 //"}"
519 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
520 }
521 public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder {
522 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition");
523 private final Group cGroup = (Group)rule.eContents().get(1);
524 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
525 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1);
526 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
527 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
528 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
529 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
530 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
531 private final CrossReference cSupertypesNamedElementCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0);
532 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_1_0.eContents().get(1);
533 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
534 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
535 private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
536 private final CrossReference cSupertypesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0);
537 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_2_1_0.eContents().get(1);
538
539 //ExternDatatypeDefinition:
540 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
541 // supertypes+=[NamedElement|QualifiedName])*);
542 @Override public ParserRule getRule() { return rule; }
543
544 //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
545 //supertypes+=[NamedElement|QualifiedName])*)
546 public Group getGroup() { return cGroup; }
547
548 //"extern"
549 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
550
551 //"datatype"
552 public Keyword getDatatypeKeyword_1() { return cDatatypeKeyword_1; }
553
554 //name=QualifiedName
555 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
556
557 //QualifiedName
558 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
559
560 //("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*)
561 public Group getGroup_3() { return cGroup_3; }
562
563 //"extends"
564 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
565
566 //supertypes+=[NamedElement|QualifiedName]
567 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
568
569 //[NamedElement|QualifiedName]
570 public CrossReference getSupertypesNamedElementCrossReference_3_1_0() { return cSupertypesNamedElementCrossReference_3_1_0; }
571
572 //QualifiedName
573 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1; }
574
575 //("," supertypes+=[NamedElement|QualifiedName])*
576 public Group getGroup_3_2() { return cGroup_3_2; }
577
578 //","
579 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
580
581 //supertypes+=[NamedElement|QualifiedName]
582 public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; }
583
584 //[NamedElement|QualifiedName]
585 public CrossReference getSupertypesNamedElementCrossReference_3_2_1_0() { return cSupertypesNamedElementCrossReference_3_2_1_0; }
586
587 //QualifiedName
588 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; }
589 }
590 public class VariableElements extends AbstractParserRuleElementFinder {
591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
592 private final Group cGroup = (Group)rule.eContents().get(1);
593 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
594 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
595 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
596 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
597 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
598
599 //Variable:
600 // type=[NamedElement|QualifiedName]? name=ID;
601 @Override public ParserRule getRule() { return rule; }
602
603 //type=[NamedElement|QualifiedName]? name=ID
604 public Group getGroup() { return cGroup; }
605
606 //type=[NamedElement|QualifiedName]?
607 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
608
609 //[NamedElement|QualifiedName]
610 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
611
612 //QualifiedName
613 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
614
615 //name=ID
616 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
617
618 //ID
619 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
433 } 620 }
434 public class ExpressionElements extends AbstractParserRuleElementFinder { 621 public class ExpressionElements extends AbstractParserRuleElementFinder {
435 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
436 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 623 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
437 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 624 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
438 private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 625 private final RuleCall cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
626 private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
439 627
440 //Expression: 628 //Expression:
441 // IfElse | DisjunctiveExpression; 629 // IfElse | Let | ImplicationExpression;
442 @Override public ParserRule getRule() { return rule; } 630 @Override public ParserRule getRule() { return rule; }
443 631
444 //IfElse | DisjunctiveExpression 632 //IfElse | Let | ImplicationExpression
445 public Alternatives getAlternatives() { return cAlternatives; } 633 public Alternatives getAlternatives() { return cAlternatives; }
446 634
447 //IfElse 635 //IfElse
448 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } 636 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; }
449 637
450 //DisjunctiveExpression 638 //Let
451 public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; } 639 public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; }
640
641 //ImplicationExpression
642 public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; }
452 } 643 }
453 public class IfElseElements extends AbstractParserRuleElementFinder { 644 public class IfElseElements extends AbstractParserRuleElementFinder {
454 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); 645 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse");
@@ -497,6 +688,127 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
497 //Expression 688 //Expression
498 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } 689 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
499 } 690 }
691 public class LetElements extends AbstractParserRuleElementFinder {
692 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Let");
693 private final Group cGroup = (Group)rule.eContents().get(1);
694 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0);
695 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1);
696 private final RuleCall cBindingsLetBindingParserRuleCall_1_0 = (RuleCall)cBindingsAssignment_1.eContents().get(0);
697 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
698 private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
699 private final Assignment cBindingsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
700 private final RuleCall cBindingsLetBindingParserRuleCall_2_1_0 = (RuleCall)cBindingsAssignment_2_1.eContents().get(0);
701 private final Keyword cInKeyword_3 = (Keyword)cGroup.eContents().get(3);
702 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4);
703 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0);
704
705 //Let:
706 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
707 @Override public ParserRule getRule() { return rule; }
708
709 //"let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression
710 public Group getGroup() { return cGroup; }
711
712 //"let"
713 public Keyword getLetKeyword_0() { return cLetKeyword_0; }
714
715 //bindings+=LetBinding
716 public Assignment getBindingsAssignment_1() { return cBindingsAssignment_1; }
717
718 //LetBinding
719 public RuleCall getBindingsLetBindingParserRuleCall_1_0() { return cBindingsLetBindingParserRuleCall_1_0; }
720
721 //("," bindings+=LetBinding)*
722 public Group getGroup_2() { return cGroup_2; }
723
724 //","
725 public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
726
727 //bindings+=LetBinding
728 public Assignment getBindingsAssignment_2_1() { return cBindingsAssignment_2_1; }
729
730 //LetBinding
731 public RuleCall getBindingsLetBindingParserRuleCall_2_1_0() { return cBindingsLetBindingParserRuleCall_2_1_0; }
732
733 //"in"
734 public Keyword getInKeyword_3() { return cInKeyword_3; }
735
736 //body=Expression
737 public Assignment getBodyAssignment_4() { return cBodyAssignment_4; }
738
739 //Expression
740 public RuleCall getBodyExpressionParserRuleCall_4_0() { return cBodyExpressionParserRuleCall_4_0; }
741 }
742 public class LetBindingElements extends AbstractParserRuleElementFinder {
743 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
744 private final Group cGroup = (Group)rule.eContents().get(1);
745 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0);
746 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0);
747 private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
748 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
749 private final RuleCall cValueAdditiveExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
750
751 //LetBinding:
752 // variable=Variable "=" value=AdditiveExpression;
753 @Override public ParserRule getRule() { return rule; }
754
755 //variable=Variable "=" value=AdditiveExpression
756 public Group getGroup() { return cGroup; }
757
758 //variable=Variable
759 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; }
760
761 //Variable
762 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; }
763
764 //"="
765 public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
766
767 //value=AdditiveExpression
768 public Assignment getValueAssignment_2() { return cValueAssignment_2; }
769
770 //AdditiveExpression
771 public RuleCall getValueAdditiveExpressionParserRuleCall_2_0() { return cValueAdditiveExpressionParserRuleCall_2_0; }
772 }
773 public class ImplicationExpressionElements extends AbstractParserRuleElementFinder {
774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
775 private final Group cGroup = (Group)rule.eContents().get(1);
776 private final RuleCall cDisjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
777 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
778 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
779 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
780 private final RuleCall cOpImplicationOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
781 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
782 private final RuleCall cRightImplicationExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783
784 //ImplicationExpression Expression:
785 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
786 @Override public ParserRule getRule() { return rule; }
787
788 //DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?
789 public Group getGroup() { return cGroup; }
790
791 //DisjunctiveExpression
792 public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; }
793
794 //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?
795 public Group getGroup_1() { return cGroup_1; }
796
797 //{BinaryExpression.left=current}
798 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
799
800 //op=ImplicationOperator
801 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
802
803 //ImplicationOperator
804 public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; }
805
806 //right=ImplicationExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
808
809 //ImplicationExpression
810 public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; }
811 }
500 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { 812 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
501 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); 813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
502 private final Group cGroup = (Group)rule.eContents().get(1); 814 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -773,25 +1085,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
773 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder { 1085 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder {
774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 1086 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
775 private final Group cGroup = (Group)rule.eContents().get(1); 1087 private final Group cGroup = (Group)rule.eContents().get(1);
776 private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 1088 private final RuleCall cCastExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
777 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1089 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
778 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); 1090 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
779 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1091 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
780 private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1092 private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
781 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1093 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
782 private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); 1094 private final RuleCall cRightCastExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783 1095
784 //ExponentialExpression Expression: 1096 //ExponentialExpression Expression:
785 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; 1097 // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
786 @Override public ParserRule getRule() { return rule; } 1098 @Override public ParserRule getRule() { return rule; }
787 1099
788 //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? 1100 //CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?
789 public Group getGroup() { return cGroup; } 1101 public Group getGroup() { return cGroup; }
790 1102
791 //UnaryExpression 1103 //CastExpression
792 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } 1104 public RuleCall getCastExpressionParserRuleCall_0() { return cCastExpressionParserRuleCall_0; }
793 1105
794 //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? 1106 //({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?
795 public Group getGroup_1() { return cGroup_1; } 1107 public Group getGroup_1() { return cGroup_1; }
796 1108
797 //{BinaryExpression.left=current} 1109 //{BinaryExpression.left=current}
@@ -803,11 +1115,50 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
803 //ExponentialOp 1115 //ExponentialOp
804 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; } 1116 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; }
805 1117
806 //right=ExponentialExpression 1118 //right=CastExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } 1119 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
808 1120
809 //ExponentialExpression 1121 //CastExpression
810 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; } 1122 public RuleCall getRightCastExpressionParserRuleCall_1_2_0() { return cRightCastExpressionParserRuleCall_1_2_0; }
1123 }
1124 public class CastExpressionElements extends AbstractParserRuleElementFinder {
1125 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
1126 private final Group cGroup = (Group)rule.eContents().get(1);
1127 private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
1128 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1129 private final Action cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0);
1130 private final Keyword cAsKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
1131 private final Assignment cTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1132 private final CrossReference cTypeNamedElementCrossReference_1_2_0 = (CrossReference)cTypeAssignment_1_2.eContents().get(0);
1133 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_2_0.eContents().get(1);
1134
1135 //CastExpression Expression:
1136 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?;
1137 @Override public ParserRule getRule() { return rule; }
1138
1139 //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?
1140 public Group getGroup() { return cGroup; }
1141
1142 //UnaryExpression
1143 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
1144
1145 //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?
1146 public Group getGroup_1() { return cGroup_1; }
1147
1148 //{CastExpression.body=current}
1149 public Action getCastExpressionBodyAction_1_0() { return cCastExpressionBodyAction_1_0; }
1150
1151 //"as"
1152 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; }
1153
1154 //type=[NamedElement|QualifiedName]
1155 public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; }
1156
1157 //[NamedElement|QualifiedName]
1158 public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; }
1159
1160 //QualifiedName
1161 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; }
811 } 1162 }
812 public class UnaryExpressionElements extends AbstractParserRuleElementFinder { 1163 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); 1164 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
@@ -852,99 +1203,178 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
852 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 1203 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
853 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1204 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
854 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1205 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
855 private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1206 private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
856 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1207 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
857 1208
858 //AggregationExpression Expression: 1209 //AggregationExpression Expression:
859 // AtomicExpression | Count | Aggregation; 1210 // AtomicExpression | QuantifiedExpression | Aggregation;
860 @Override public ParserRule getRule() { return rule; } 1211 @Override public ParserRule getRule() { return rule; }
861 1212
862 //AtomicExpression | Count | Aggregation 1213 //AtomicExpression | QuantifiedExpression | Aggregation
863 public Alternatives getAlternatives() { return cAlternatives; } 1214 public Alternatives getAlternatives() { return cAlternatives; }
864 1215
865 //AtomicExpression 1216 //AtomicExpression
866 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } 1217 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
867 1218
868 //Count 1219 //QuantifiedExpression
869 public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; } 1220 public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; }
870 1221
871 //Aggregation 1222 //Aggregation
872 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } 1223 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; }
873 } 1224 }
874 public class CountElements extends AbstractParserRuleElementFinder { 1225 public class LocalVariablesElements extends AbstractParserRuleElementFinder {
875 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count"); 1226 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
876 private final Group cGroup = (Group)rule.eContents().get(1); 1227 private final Group cGroup = (Group)rule.eContents().get(1);
877 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0); 1228 private final Action cLocalVariablesAction_0 = (Action)cGroup.eContents().get(0);
878 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1229 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
879 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); 1230 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
880 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); 1231 private final Assignment cVariablesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
881 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 1232 private final RuleCall cVariablesVariableParserRuleCall_2_0_0 = (RuleCall)cVariablesAssignment_2_0.eContents().get(0);
1233 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
1234 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
1235 private final Assignment cVariablesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
1236 private final RuleCall cVariablesVariableParserRuleCall_2_1_1_0 = (RuleCall)cVariablesAssignment_2_1_1.eContents().get(0);
1237 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
882 1238
883 //Count: 1239 //LocalVariables:
884 // "count" "{" body=Expression "}"; 1240 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
885 @Override public ParserRule getRule() { return rule; } 1241 @Override public ParserRule getRule() { return rule; }
886 1242
887 //"count" "{" body=Expression "}" 1243 //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"
888 public Group getGroup() { return cGroup; } 1244 public Group getGroup() { return cGroup; }
889 1245
890 //"count" 1246 //{LocalVariables}
891 public Keyword getCountKeyword_0() { return cCountKeyword_0; } 1247 public Action getLocalVariablesAction_0() { return cLocalVariablesAction_0; }
1248
1249 //"["
1250 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
1251
1252 //(variables+=Variable ("," variables+=Variable)*)?
1253 public Group getGroup_2() { return cGroup_2; }
1254
1255 //variables+=Variable
1256 public Assignment getVariablesAssignment_2_0() { return cVariablesAssignment_2_0; }
1257
1258 //Variable
1259 public RuleCall getVariablesVariableParserRuleCall_2_0_0() { return cVariablesVariableParserRuleCall_2_0_0; }
1260
1261 //("," variables+=Variable)*
1262 public Group getGroup_2_1() { return cGroup_2_1; }
1263
1264 //","
1265 public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
1266
1267 //variables+=Variable
1268 public Assignment getVariablesAssignment_2_1_1() { return cVariablesAssignment_2_1_1; }
1269
1270 //Variable
1271 public RuleCall getVariablesVariableParserRuleCall_2_1_1_0() { return cVariablesVariableParserRuleCall_2_1_1_0; }
1272
1273 //"]"
1274 public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; }
1275 }
1276 public class QuantifiedExpressionElements extends AbstractParserRuleElementFinder {
1277 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QuantifiedExpression");
1278 private final Group cGroup = (Group)rule.eContents().get(1);
1279 private final Assignment cQuantifierAssignment_0 = (Assignment)cGroup.eContents().get(0);
1280 private final RuleCall cQuantifierQuantifierEnumRuleCall_0_0 = (RuleCall)cQuantifierAssignment_0.eContents().get(0);
1281 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1);
1282 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0);
1283 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
1284 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
1285 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
1286 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1287
1288 //QuantifiedExpression:
1289 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
1290 @Override public ParserRule getRule() { return rule; }
1291
1292 //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"
1293 public Group getGroup() { return cGroup; }
1294
1295 //quantifier=Quantifier
1296 public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; }
1297
1298 //Quantifier
1299 public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; }
1300
1301 //localVariables=LocalVariables?
1302 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; }
1303
1304 //LocalVariables
1305 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; }
892 1306
893 //"{" 1307 //"{"
894 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } 1308 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
895 1309
896 //body=Expression 1310 //body=Expression
897 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } 1311 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
898 1312
899 //Expression 1313 //Expression
900 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } 1314 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
901 1315
902 //"}" 1316 //"}"
903 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } 1317 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
904 } 1318 }
905 public class AggregationElements extends AbstractParserRuleElementFinder { 1319 public class AggregationElements extends AbstractParserRuleElementFinder {
906 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); 1320 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
907 private final Group cGroup = (Group)rule.eContents().get(1); 1321 private final Group cGroup = (Group)rule.eContents().get(1);
908 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); 1322 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
909 private final RuleCall cOpAggregationOpEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0); 1323 private final CrossReference cOpNamedElementCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0);
910 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1324 private final RuleCall cOpNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpNamedElementCrossReference_0_0.eContents().get(1);
911 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); 1325 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1);
912 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); 1326 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0);
913 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3); 1327 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
914 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4); 1328 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
915 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0); 1329 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
1330 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1331 private final Keyword cVerticalLineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1332 private final Assignment cConditionAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1333 private final RuleCall cConditionExpressionParserRuleCall_4_1_0 = (RuleCall)cConditionAssignment_4_1.eContents().get(0);
916 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); 1334 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
917 1335
918 //Aggregation: 1336 //Aggregation:
919 // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; 1337 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
920 @Override public ParserRule getRule() { return rule; } 1338 @Override public ParserRule getRule() { return rule; }
921 1339
922 //op=AggregationOp "{" body=Expression "|" condition=Expression "}" 1340 //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"
923 public Group getGroup() { return cGroup; } 1341 public Group getGroup() { return cGroup; }
924 1342
925 //op=AggregationOp 1343 //op=[NamedElement|QualifiedName]
926 public Assignment getOpAssignment_0() { return cOpAssignment_0; } 1344 public Assignment getOpAssignment_0() { return cOpAssignment_0; }
927 1345
928 //AggregationOp 1346 //[NamedElement|QualifiedName]
929 public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; } 1347 public CrossReference getOpNamedElementCrossReference_0_0() { return cOpNamedElementCrossReference_0_0; }
1348
1349 //QualifiedName
1350 public RuleCall getOpNamedElementQualifiedNameParserRuleCall_0_0_1() { return cOpNamedElementQualifiedNameParserRuleCall_0_0_1; }
1351
1352 //localVariables=LocalVariables?
1353 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; }
1354
1355 //LocalVariables
1356 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; }
930 1357
931 //"{" 1358 //"{"
932 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } 1359 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
933 1360
934 //body=Expression 1361 //body=Expression
935 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } 1362 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
936 1363
937 //Expression 1364 //Expression
938 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } 1365 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
1366
1367 //("|" condition=Expression)?
1368 public Group getGroup_4() { return cGroup_4; }
939 1369
940 //"|" 1370 //"|"
941 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; } 1371 public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; }
942 1372
943 //condition=Expression 1373 //condition=Expression
944 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; } 1374 public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; }
945 1375
946 //Expression 1376 //Expression
947 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; } 1377 public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; }
948 1378
949 //"}" 1379 //"}"
950 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } 1380 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
@@ -2018,155 +2448,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2018 //QUOTED_ID 2448 //QUOTED_ID
2019 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } 2449 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
2020 } 2450 }
2021 public class NamedElementElements extends AbstractParserRuleElementFinder {
2022 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedElement");
2023 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
2024 private final RuleCall cNameQualifiedNameParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
2025
2026 //NamedElement:
2027 // name=QualifiedName;
2028 @Override public ParserRule getRule() { return rule; }
2029
2030 //name=QualifiedName
2031 public Assignment getNameAssignment() { return cNameAssignment; }
2032
2033 //QualifiedName
2034 public RuleCall getNameQualifiedNameParserRuleCall_0() { return cNameQualifiedNameParserRuleCall_0; }
2035 }
2036 2451
2037 public class MetricTypeElements extends AbstractEnumRuleElementFinder { 2452 public class ImplicationOperatorElements extends AbstractEnumRuleElementFinder {
2038 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 2453 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
2039 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2454 private final EnumLiteralDeclaration cIMPLIESEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
2040 private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2455 private final Keyword cIMPLIESEqualsSignGreaterThanSignKeyword_0 = (Keyword)cIMPLIESEnumLiteralDeclaration.eContents().get(0);
2041 private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
2042 private final EnumLiteralDeclaration cREALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2043 private final Keyword cREALRealKeyword_1_0 = (Keyword)cREALEnumLiteralDeclaration_1.eContents().get(0);
2044 2456
2045 //enum MetricType: 2457 //enum ImplicationOperator returns BinaryOperator:
2046 // INT="int" | REAL="real"; 2458 // IMPLIES="=>";
2047 public EnumRule getRule() { return rule; } 2459 public EnumRule getRule() { return rule; }
2048 2460
2049 //INT="int" | REAL="real" 2461 //IMPLIES="=>"
2050 public Alternatives getAlternatives() { return cAlternatives; } 2462 public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; }
2051
2052 //INT="int"
2053 public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
2054
2055 //"int"
2056 public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; }
2057 2463
2058 //REAL="real" 2464 //"=>"
2059 public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; } 2465 public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; }
2060
2061 //"real"
2062 public Keyword getREALRealKeyword_1_0() { return cREALRealKeyword_1_0; }
2063 }
2064 public class BinaryOperatorElements extends AbstractEnumRuleElementFinder {
2065 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BinaryOperator");
2066 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2067 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2068 private final Keyword cEQEQKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
2069 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2070 private final Keyword cNOT_EQNOT_EQKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
2071 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2072 private final Keyword cLESSLESSKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2073 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2074 private final Keyword cLESS_EQLESS_EQKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
2075 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2076 private final Keyword cGREATERGREATERKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2077 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2078 private final Keyword cGREATER_EQGREATER_EQKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2079 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2080 private final Keyword cININKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2081 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
2082 private final Keyword cADDADDKeyword_7_0 = (Keyword)cADDEnumLiteralDeclaration_7.eContents().get(0);
2083 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
2084 private final Keyword cSUBSUBKeyword_8_0 = (Keyword)cSUBEnumLiteralDeclaration_8.eContents().get(0);
2085 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
2086 private final Keyword cMULMULKeyword_9_0 = (Keyword)cMULEnumLiteralDeclaration_9.eContents().get(0);
2087 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
2088 private final Keyword cDIVDIVKeyword_10_0 = (Keyword)cDIVEnumLiteralDeclaration_10.eContents().get(0);
2089 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
2090 private final Keyword cPOWPOWKeyword_11_0 = (Keyword)cPOWEnumLiteralDeclaration_11.eContents().get(0);
2091
2092 //enum BinaryOperator:
2093 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2094 public EnumRule getRule() { return rule; }
2095
2096 //EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW
2097 public Alternatives getAlternatives() { return cAlternatives; }
2098
2099 //EQ
2100 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
2101
2102 //"EQ"
2103 public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; }
2104
2105 //NOT_EQ
2106 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
2107
2108 //"NOT_EQ"
2109 public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; }
2110
2111 //LESS
2112 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
2113
2114 //"LESS"
2115 public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; }
2116
2117 //LESS_EQ
2118 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
2119
2120 //"LESS_EQ"
2121 public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; }
2122
2123 //GREATER
2124 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2125
2126 //"GREATER"
2127 public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; }
2128
2129 //GREATER_EQ
2130 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2131
2132 //"GREATER_EQ"
2133 public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; }
2134
2135 //IN
2136 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2137
2138 //"IN"
2139 public Keyword getININKeyword_6_0() { return cININKeyword_6_0; }
2140
2141 //ADD
2142 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; }
2143
2144 //"ADD"
2145 public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; }
2146
2147 //SUB
2148 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; }
2149
2150 //"SUB"
2151 public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; }
2152
2153 //MUL
2154 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; }
2155
2156 //"MUL"
2157 public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; }
2158
2159 //DIV
2160 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; }
2161
2162 //"DIV"
2163 public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; }
2164
2165 //POW
2166 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; }
2167
2168 //"POW"
2169 public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; }
2170 } 2466 }
2171 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { 2467 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
2172 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); 2468 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
@@ -2363,64 +2659,40 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2363 //"current" 2659 //"current"
2364 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; } 2660 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
2365 } 2661 }
2366 public class AggregationOpElements extends AbstractEnumRuleElementFinder { 2662 public class QuantifierElements extends AbstractEnumRuleElementFinder {
2367 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); 2663 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2368 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2664 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2369 private final EnumLiteralDeclaration cONLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2665 private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2370 private final Keyword cONLYOnlyKeyword_0_0 = (Keyword)cONLYEnumLiteralDeclaration_0.eContents().get(0); 2666 private final Keyword cEXISTSExistsKeyword_0_0 = (Keyword)cEXISTSEnumLiteralDeclaration_0.eContents().get(0);
2371 private final EnumLiteralDeclaration cSUMEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2667 private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2372 private final Keyword cSUMSumKeyword_1_0 = (Keyword)cSUMEnumLiteralDeclaration_1.eContents().get(0); 2668 private final Keyword cFORALLForallKeyword_1_0 = (Keyword)cFORALLEnumLiteralDeclaration_1.eContents().get(0);
2373 private final EnumLiteralDeclaration cPRODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2669 private final EnumLiteralDeclaration cCOUNTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2374 private final Keyword cPRODProdKeyword_2_0 = (Keyword)cPRODEnumLiteralDeclaration_2.eContents().get(0); 2670 private final Keyword cCOUNTCountKeyword_2_0 = (Keyword)cCOUNTEnumLiteralDeclaration_2.eContents().get(0);
2375 private final EnumLiteralDeclaration cAVGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2671
2376 private final Keyword cAVGAvgKeyword_3_0 = (Keyword)cAVGEnumLiteralDeclaration_3.eContents().get(0); 2672 //enum Quantifier:
2377 private final EnumLiteralDeclaration cMINEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2673 // EXISTS="exists" | FORALL="forall" | COUNT="count";
2378 private final Keyword cMINMinKeyword_4_0 = (Keyword)cMINEnumLiteralDeclaration_4.eContents().get(0);
2379 private final EnumLiteralDeclaration cMAXEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2380 private final Keyword cMAXMaxKeyword_5_0 = (Keyword)cMAXEnumLiteralDeclaration_5.eContents().get(0);
2381
2382 //enum AggregationOp:
2383 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2384 public EnumRule getRule() { return rule; } 2674 public EnumRule getRule() { return rule; }
2385 2675
2386 //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max" 2676 //EXISTS="exists" | FORALL="forall" | COUNT="count"
2387 public Alternatives getAlternatives() { return cAlternatives; } 2677 public Alternatives getAlternatives() { return cAlternatives; }
2388 2678
2389 //ONLY="only" 2679 //EXISTS="exists"
2390 public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; } 2680 public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; }
2391
2392 //"only"
2393 public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; }
2394 2681
2395 //SUM="sum" 2682 //"exists"
2396 public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; } 2683 public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; }
2397 2684
2398 //"sum" 2685 //FORALL="forall"
2399 public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; } 2686 public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; }
2400 2687
2401 //PROD="prod" 2688 //"forall"
2402 public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; } 2689 public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; }
2403 2690
2404 //"prod" 2691 //COUNT="count"
2405 public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; } 2692 public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; }
2406 2693
2407 //AVG="avg" 2694 //"count"
2408 public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; } 2695 public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; }
2409
2410 //"avg"
2411 public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; }
2412
2413 //MIN="min"
2414 public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; }
2415
2416 //"min"
2417 public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; }
2418
2419 //MAX="max"
2420 public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; }
2421
2422 //"max"
2423 public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; }
2424 } 2696 }
2425 public class LogicValueElements extends AbstractEnumRuleElementFinder { 2697 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2426 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); 2698 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
@@ -2499,16 +2771,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2499 private final PredicateDefinitionElements pPredicateDefinition; 2771 private final PredicateDefinitionElements pPredicateDefinition;
2500 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; 2772 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition;
2501 private final DefaultDefinitionElements pDefaultDefinition; 2773 private final DefaultDefinitionElements pDefaultDefinition;
2502 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
2503 private final MetricTypeElements eMetricType;
2504 private final MetricDefinitionElements pMetricDefinition; 2774 private final MetricDefinitionElements pMetricDefinition;
2775 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
2505 private final ExternMetricDefinitionElements pExternMetricDefinition; 2776 private final ExternMetricDefinitionElements pExternMetricDefinition;
2777 private final ExternAggregatorDefinitionElements pExternAggregatorDefinition;
2778 private final ExternDatatypeDefinitionElements pExternDatatypeDefinition;
2779 private final VariableElements pVariable;
2506 private final ExpressionElements pExpression; 2780 private final ExpressionElements pExpression;
2507 private final IfElseElements pIfElse; 2781 private final IfElseElements pIfElse;
2782 private final LetElements pLet;
2783 private final LetBindingElements pLetBinding;
2784 private final ImplicationOperatorElements eImplicationOperator;
2785 private final ImplicationExpressionElements pImplicationExpression;
2508 private final DisjunctiveExpressionElements pDisjunctiveExpression; 2786 private final DisjunctiveExpressionElements pDisjunctiveExpression;
2509 private final CaseElements pCase; 2787 private final CaseElements pCase;
2510 private final ConjunctiveExpressionElements pConjunctiveExpression; 2788 private final ConjunctiveExpressionElements pConjunctiveExpression;
2511 private final BinaryOperatorElements eBinaryOperator;
2512 private final ComparisonOperatorElements eComparisonOperator; 2789 private final ComparisonOperatorElements eComparisonOperator;
2513 private final ComparisonExpressionElements pComparisonExpression; 2790 private final ComparisonExpressionElements pComparisonExpression;
2514 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator; 2791 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator;
@@ -2517,11 +2794,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2517 private final MultiplicativeExpressionElements pMultiplicativeExpression; 2794 private final MultiplicativeExpressionElements pMultiplicativeExpression;
2518 private final ExponentialOpElements eExponentialOp; 2795 private final ExponentialOpElements eExponentialOp;
2519 private final ExponentialExpressionElements pExponentialExpression; 2796 private final ExponentialExpressionElements pExponentialExpression;
2797 private final CastExpressionElements pCastExpression;
2520 private final UnaryOpElements eUnaryOp; 2798 private final UnaryOpElements eUnaryOp;
2521 private final UnaryExpressionElements pUnaryExpression; 2799 private final UnaryExpressionElements pUnaryExpression;
2522 private final AggregationExpressionElements pAggregationExpression; 2800 private final AggregationExpressionElements pAggregationExpression;
2523 private final CountElements pCount; 2801 private final LocalVariablesElements pLocalVariables;
2524 private final AggregationOpElements eAggregationOp; 2802 private final QuantifierElements eQuantifier;
2803 private final QuantifiedExpressionElements pQuantifiedExpression;
2525 private final AggregationElements pAggregation; 2804 private final AggregationElements pAggregation;
2526 private final AtomicExpressionElements pAtomicExpression; 2805 private final AtomicExpressionElements pAtomicExpression;
2527 private final CallElements pCall; 2806 private final CallElements pCall;
@@ -2561,7 +2840,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2561 private final TerminalRule tTRANSITIVE_CLOSURE; 2840 private final TerminalRule tTRANSITIVE_CLOSURE;
2562 private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE; 2841 private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE;
2563 private final TerminalRule tFULL_STOP; 2842 private final TerminalRule tFULL_STOP;
2564 private final NamedElementElements pNamedElement;
2565 2843
2566 private final Grammar grammar; 2844 private final Grammar grammar;
2567 2845
@@ -2578,16 +2856,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2578 this.pPredicateDefinition = new PredicateDefinitionElements(); 2856 this.pPredicateDefinition = new PredicateDefinitionElements();
2579 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); 2857 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements();
2580 this.pDefaultDefinition = new DefaultDefinitionElements(); 2858 this.pDefaultDefinition = new DefaultDefinitionElements();
2581 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
2582 this.eMetricType = new MetricTypeElements();
2583 this.pMetricDefinition = new MetricDefinitionElements(); 2859 this.pMetricDefinition = new MetricDefinitionElements();
2860 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
2584 this.pExternMetricDefinition = new ExternMetricDefinitionElements(); 2861 this.pExternMetricDefinition = new ExternMetricDefinitionElements();
2862 this.pExternAggregatorDefinition = new ExternAggregatorDefinitionElements();
2863 this.pExternDatatypeDefinition = new ExternDatatypeDefinitionElements();
2864 this.pVariable = new VariableElements();
2585 this.pExpression = new ExpressionElements(); 2865 this.pExpression = new ExpressionElements();
2586 this.pIfElse = new IfElseElements(); 2866 this.pIfElse = new IfElseElements();
2867 this.pLet = new LetElements();
2868 this.pLetBinding = new LetBindingElements();
2869 this.eImplicationOperator = new ImplicationOperatorElements();
2870 this.pImplicationExpression = new ImplicationExpressionElements();
2587 this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); 2871 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
2588 this.pCase = new CaseElements(); 2872 this.pCase = new CaseElements();
2589 this.pConjunctiveExpression = new ConjunctiveExpressionElements(); 2873 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
2590 this.eBinaryOperator = new BinaryOperatorElements();
2591 this.eComparisonOperator = new ComparisonOperatorElements(); 2874 this.eComparisonOperator = new ComparisonOperatorElements();
2592 this.pComparisonExpression = new ComparisonExpressionElements(); 2875 this.pComparisonExpression = new ComparisonExpressionElements();
2593 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements(); 2876 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements();
@@ -2596,11 +2879,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2596 this.pMultiplicativeExpression = new MultiplicativeExpressionElements(); 2879 this.pMultiplicativeExpression = new MultiplicativeExpressionElements();
2597 this.eExponentialOp = new ExponentialOpElements(); 2880 this.eExponentialOp = new ExponentialOpElements();
2598 this.pExponentialExpression = new ExponentialExpressionElements(); 2881 this.pExponentialExpression = new ExponentialExpressionElements();
2882 this.pCastExpression = new CastExpressionElements();
2599 this.eUnaryOp = new UnaryOpElements(); 2883 this.eUnaryOp = new UnaryOpElements();
2600 this.pUnaryExpression = new UnaryExpressionElements(); 2884 this.pUnaryExpression = new UnaryExpressionElements();
2601 this.pAggregationExpression = new AggregationExpressionElements(); 2885 this.pAggregationExpression = new AggregationExpressionElements();
2602 this.pCount = new CountElements(); 2886 this.pLocalVariables = new LocalVariablesElements();
2603 this.eAggregationOp = new AggregationOpElements(); 2887 this.eQuantifier = new QuantifierElements();
2888 this.pQuantifiedExpression = new QuantifiedExpressionElements();
2604 this.pAggregation = new AggregationElements(); 2889 this.pAggregation = new AggregationElements();
2605 this.pAtomicExpression = new AtomicExpressionElements(); 2890 this.pAtomicExpression = new AtomicExpressionElements();
2606 this.pCall = new CallElements(); 2891 this.pCall = new CallElements();
@@ -2640,7 +2925,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2640 this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); 2925 this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
2641 this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); 2926 this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
2642 this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP"); 2927 this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP");
2643 this.pNamedElement = new NamedElementElements();
2644 } 2928 }
2645 2929
2646 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { 2930 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -2681,9 +2965,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2681 } 2965 }
2682 2966
2683 //Statement: 2967 //Statement:
2684 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 2968 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition
2685 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 2969 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
2686 // ObjectiveDefinition) FULL_STOP; 2970 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
2687 public StatementElements getStatementAccess() { 2971 public StatementElements getStatementAccess() {
2688 return pStatement; 2972 return pStatement;
2689 } 2973 }
@@ -2693,8 +2977,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2693 } 2977 }
2694 2978
2695 //AssertionOrDefinition Statement: 2979 //AssertionOrDefinition Statement:
2696 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" 2980 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-"
2697 // body=Expression | {MetricDefinition.head=current} "=" body=Expression); 2981 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?;
2698 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { 2982 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
2699 return pAssertionOrDefinition; 2983 return pAssertionOrDefinition;
2700 } 2984 }
@@ -2733,8 +3017,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2733 return getDefaultDefinitionAccess().getRule(); 3017 return getDefaultDefinitionAccess().getRule();
2734 } 3018 }
2735 3019
3020 //MetricDefinition:
3021 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression;
3022 public MetricDefinitionElements getMetricDefinitionAccess() {
3023 return pMetricDefinition;
3024 }
3025
3026 public ParserRule getMetricDefinitionRule() {
3027 return getMetricDefinitionAccess().getRule();
3028 }
3029
2736 //ExternPredicateDefinition: 3030 //ExternPredicateDefinition:
2737 // "extern" head=Call; 3031 // "extern" name=QualifiedName argumentList=ArgumentList;
2738 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { 3032 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() {
2739 return pExternPredicateDefinition; 3033 return pExternPredicateDefinition;
2740 } 3034 }
@@ -2743,38 +3037,49 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2743 return getExternPredicateDefinitionAccess().getRule(); 3037 return getExternPredicateDefinitionAccess().getRule();
2744 } 3038 }
2745 3039
2746 //enum MetricType: 3040 //ExternMetricDefinition:
2747 // INT="int" | REAL="real"; 3041 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList;
2748 public MetricTypeElements getMetricTypeAccess() { 3042 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() {
2749 return eMetricType; 3043 return pExternMetricDefinition;
2750 } 3044 }
2751 3045
2752 public EnumRule getMetricTypeRule() { 3046 public ParserRule getExternMetricDefinitionRule() {
2753 return getMetricTypeAccess().getRule(); 3047 return getExternMetricDefinitionAccess().getRule();
2754 } 3048 }
2755 3049
2756 //MetricDefinition: 3050 //ExternAggregatorDefinition:
2757 // type=MetricType head=Expression "=" body=Expression; 3051 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}";
2758 public MetricDefinitionElements getMetricDefinitionAccess() { 3052 public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() {
2759 return pMetricDefinition; 3053 return pExternAggregatorDefinition;
2760 } 3054 }
2761 3055
2762 public ParserRule getMetricDefinitionRule() { 3056 public ParserRule getExternAggregatorDefinitionRule() {
2763 return getMetricDefinitionAccess().getRule(); 3057 return getExternAggregatorDefinitionAccess().getRule();
2764 } 3058 }
2765 3059
2766 //ExternMetricDefinition: 3060 //ExternDatatypeDefinition:
2767 // "extern" type=MetricType head=Call; 3061 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
2768 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { 3062 // supertypes+=[NamedElement|QualifiedName])*);
2769 return pExternMetricDefinition; 3063 public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() {
3064 return pExternDatatypeDefinition;
2770 } 3065 }
2771 3066
2772 public ParserRule getExternMetricDefinitionRule() { 3067 public ParserRule getExternDatatypeDefinitionRule() {
2773 return getExternMetricDefinitionAccess().getRule(); 3068 return getExternDatatypeDefinitionAccess().getRule();
3069 }
3070
3071 //Variable:
3072 // type=[NamedElement|QualifiedName]? name=ID;
3073 public VariableElements getVariableAccess() {
3074 return pVariable;
3075 }
3076
3077 public ParserRule getVariableRule() {
3078 return getVariableAccess().getRule();
2774 } 3079 }
2775 3080
2776 //Expression: 3081 //Expression:
2777 // IfElse | DisjunctiveExpression; 3082 // IfElse | Let | ImplicationExpression;
2778 public ExpressionElements getExpressionAccess() { 3083 public ExpressionElements getExpressionAccess() {
2779 return pExpression; 3084 return pExpression;
2780 } 3085 }
@@ -2793,6 +3098,46 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2793 return getIfElseAccess().getRule(); 3098 return getIfElseAccess().getRule();
2794 } 3099 }
2795 3100
3101 //Let:
3102 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
3103 public LetElements getLetAccess() {
3104 return pLet;
3105 }
3106
3107 public ParserRule getLetRule() {
3108 return getLetAccess().getRule();
3109 }
3110
3111 //LetBinding:
3112 // variable=Variable "=" value=AdditiveExpression;
3113 public LetBindingElements getLetBindingAccess() {
3114 return pLetBinding;
3115 }
3116
3117 public ParserRule getLetBindingRule() {
3118 return getLetBindingAccess().getRule();
3119 }
3120
3121 //enum ImplicationOperator returns BinaryOperator:
3122 // IMPLIES="=>";
3123 public ImplicationOperatorElements getImplicationOperatorAccess() {
3124 return eImplicationOperator;
3125 }
3126
3127 public EnumRule getImplicationOperatorRule() {
3128 return getImplicationOperatorAccess().getRule();
3129 }
3130
3131 //ImplicationExpression Expression:
3132 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
3133 public ImplicationExpressionElements getImplicationExpressionAccess() {
3134 return pImplicationExpression;
3135 }
3136
3137 public ParserRule getImplicationExpressionRule() {
3138 return getImplicationExpressionAccess().getRule();
3139 }
3140
2796 //DisjunctiveExpression Expression: 3141 //DisjunctiveExpression Expression:
2797 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | 3142 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
2798 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; 3143 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
@@ -2824,16 +3169,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2824 return getConjunctiveExpressionAccess().getRule(); 3169 return getConjunctiveExpressionAccess().getRule();
2825 } 3170 }
2826 3171
2827 //enum BinaryOperator:
2828 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2829 public BinaryOperatorElements getBinaryOperatorAccess() {
2830 return eBinaryOperator;
2831 }
2832
2833 public EnumRule getBinaryOperatorRule() {
2834 return getBinaryOperatorAccess().getRule();
2835 }
2836
2837 //enum ComparisonOperator returns BinaryOperator: 3172 //enum ComparisonOperator returns BinaryOperator:
2838 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 3173 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2839 public ComparisonOperatorElements getComparisonOperatorAccess() { 3174 public ComparisonOperatorElements getComparisonOperatorAccess() {
@@ -2905,7 +3240,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2905 } 3240 }
2906 3241
2907 //ExponentialExpression Expression: 3242 //ExponentialExpression Expression:
2908 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; 3243 // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
2909 public ExponentialExpressionElements getExponentialExpressionAccess() { 3244 public ExponentialExpressionElements getExponentialExpressionAccess() {
2910 return pExponentialExpression; 3245 return pExponentialExpression;
2911 } 3246 }
@@ -2914,6 +3249,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2914 return getExponentialExpressionAccess().getRule(); 3249 return getExponentialExpressionAccess().getRule();
2915 } 3250 }
2916 3251
3252 //CastExpression Expression:
3253 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?;
3254 public CastExpressionElements getCastExpressionAccess() {
3255 return pCastExpression;
3256 }
3257
3258 public ParserRule getCastExpressionRule() {
3259 return getCastExpressionAccess().getRule();
3260 }
3261
2917 //enum UnaryOp: 3262 //enum UnaryOp:
2918 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 3263 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2919 public UnaryOpElements getUnaryOpAccess() { 3264 public UnaryOpElements getUnaryOpAccess() {
@@ -2935,7 +3280,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2935 } 3280 }
2936 3281
2937 //AggregationExpression Expression: 3282 //AggregationExpression Expression:
2938 // AtomicExpression | Count | Aggregation; 3283 // AtomicExpression | QuantifiedExpression | Aggregation;
2939 public AggregationExpressionElements getAggregationExpressionAccess() { 3284 public AggregationExpressionElements getAggregationExpressionAccess() {
2940 return pAggregationExpression; 3285 return pAggregationExpression;
2941 } 3286 }
@@ -2944,28 +3289,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2944 return getAggregationExpressionAccess().getRule(); 3289 return getAggregationExpressionAccess().getRule();
2945 } 3290 }
2946 3291
2947 //Count: 3292 //LocalVariables:
2948 // "count" "{" body=Expression "}"; 3293 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
2949 public CountElements getCountAccess() { 3294 public LocalVariablesElements getLocalVariablesAccess() {
2950 return pCount; 3295 return pLocalVariables;
3296 }
3297
3298 public ParserRule getLocalVariablesRule() {
3299 return getLocalVariablesAccess().getRule();
3300 }
3301
3302 //enum Quantifier:
3303 // EXISTS="exists" | FORALL="forall" | COUNT="count";
3304 public QuantifierElements getQuantifierAccess() {
3305 return eQuantifier;
2951 } 3306 }
2952 3307
2953 public ParserRule getCountRule() { 3308 public EnumRule getQuantifierRule() {
2954 return getCountAccess().getRule(); 3309 return getQuantifierAccess().getRule();
2955 } 3310 }
2956 3311
2957 //enum AggregationOp: 3312 //QuantifiedExpression:
2958 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; 3313 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
2959 public AggregationOpElements getAggregationOpAccess() { 3314 public QuantifiedExpressionElements getQuantifiedExpressionAccess() {
2960 return eAggregationOp; 3315 return pQuantifiedExpression;
2961 } 3316 }
2962 3317
2963 public EnumRule getAggregationOpRule() { 3318 public ParserRule getQuantifiedExpressionRule() {
2964 return getAggregationOpAccess().getRule(); 3319 return getQuantifiedExpressionAccess().getRule();
2965 } 3320 }
2966 3321
2967 //Aggregation: 3322 //Aggregation:
2968 // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; 3323 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
2969 public AggregationElements getAggregationAccess() { 3324 public AggregationElements getAggregationAccess() {
2970 return pAggregation; 3325 return pAggregation;
2971 } 3326 }
@@ -3338,16 +3693,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3338 return tFULL_STOP; 3693 return tFULL_STOP;
3339 } 3694 }
3340 3695
3341 //NamedElement:
3342 // name=QualifiedName;
3343 public NamedElementElements getNamedElementAccess() {
3344 return pNamedElement;
3345 }
3346
3347 public ParserRule getNamedElementRule() {
3348 return getNamedElementAccess().getRule();
3349 }
3350
3351 //terminal ID: 3696 //terminal ID:
3352 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; 3697 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
3353 public TerminalRule getIDRule() { 3698 public TerminalRule getIDRule() {
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
deleted file mode 100644
index 8641f197..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Aggregation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation()
22 * @model
23 * @generated
24 */
25public interface Aggregation extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Op</b></em>' attribute.
29 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Op</em>' attribute.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
34 * @see #setOp(AggregationOp)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op()
36 * @model
37 * @generated
38 */
39 AggregationOp getOp();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Op</em>' attribute.
46 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
47 * @see #getOp()
48 * @generated
49 */
50 void setOp(AggregationOp value);
51
52 /**
53 * Returns the value of the '<em><b>Body</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Body</em>' containment reference.
57 * @see #setBody(Expression)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body()
59 * @model containment="true"
60 * @generated
61 */
62 Expression getBody();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Body</em>' containment reference.
69 * @see #getBody()
70 * @generated
71 */
72 void setBody(Expression value);
73
74 /**
75 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Condition</em>' containment reference.
79 * @see #setCondition(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getCondition();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Condition</em>' containment reference.
91 * @see #getCondition()
92 * @generated
93 */
94 void setCondition(Expression value);
95
96} // Aggregation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
deleted file mode 100644
index 1a0664ed..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
+++ /dev/null
@@ -1,317 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Aggregation Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOp()
18 * @model
19 * @generated
20 */
21public enum AggregationOp implements Enumerator
22{
23 /**
24 * The '<em><b>ONLY</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #ONLY_VALUE
28 * @generated
29 * @ordered
30 */
31 ONLY(0, "ONLY", "only"),
32
33 /**
34 * The '<em><b>SUM</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #SUM_VALUE
38 * @generated
39 * @ordered
40 */
41 SUM(1, "SUM", "sum"),
42
43 /**
44 * The '<em><b>PROD</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #PROD_VALUE
48 * @generated
49 * @ordered
50 */
51 PROD(2, "PROD", "prod"),
52
53 /**
54 * The '<em><b>AVG</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #AVG_VALUE
58 * @generated
59 * @ordered
60 */
61 AVG(3, "AVG", "avg"),
62
63 /**
64 * The '<em><b>MIN</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MIN_VALUE
68 * @generated
69 * @ordered
70 */
71 MIN(4, "MIN", "min"),
72
73 /**
74 * The '<em><b>MAX</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #MAX_VALUE
78 * @generated
79 * @ordered
80 */
81 MAX(5, "MAX", "max");
82
83 /**
84 * The '<em><b>ONLY</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #ONLY
88 * @model literal="only"
89 * @generated
90 * @ordered
91 */
92 public static final int ONLY_VALUE = 0;
93
94 /**
95 * The '<em><b>SUM</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #SUM
99 * @model literal="sum"
100 * @generated
101 * @ordered
102 */
103 public static final int SUM_VALUE = 1;
104
105 /**
106 * The '<em><b>PROD</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #PROD
110 * @model literal="prod"
111 * @generated
112 * @ordered
113 */
114 public static final int PROD_VALUE = 2;
115
116 /**
117 * The '<em><b>AVG</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #AVG
121 * @model literal="avg"
122 * @generated
123 * @ordered
124 */
125 public static final int AVG_VALUE = 3;
126
127 /**
128 * The '<em><b>MIN</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MIN
132 * @model literal="min"
133 * @generated
134 * @ordered
135 */
136 public static final int MIN_VALUE = 4;
137
138 /**
139 * The '<em><b>MAX</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #MAX
143 * @model literal="max"
144 * @generated
145 * @ordered
146 */
147 public static final int MAX_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Aggregation Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final AggregationOp[] VALUES_ARRAY =
156 new AggregationOp[]
157 {
158 ONLY,
159 SUM,
160 PROD,
161 AVG,
162 MIN,
163 MAX,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Aggregation Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<AggregationOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static AggregationOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 AggregationOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static AggregationOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 AggregationOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static AggregationOp get(int value)
225 {
226 switch (value)
227 {
228 case ONLY_VALUE: return ONLY;
229 case SUM_VALUE: return SUM;
230 case PROD_VALUE: return PROD;
231 case AVG_VALUE: return AVG;
232 case MIN_VALUE: return MIN;
233 case MAX_VALUE: return MAX;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private AggregationOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //AggregationOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
deleted file mode 100644
index b67d81ca..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion()
21 * @model
22 * @generated
23 */
24public interface Assertion extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Body</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Body</em>' containment reference.
31 * @see #setBody(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Body()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getBody();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Body</em>' containment reference.
43 * @see #getBody()
44 * @generated
45 */
46 void setBody(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // Assertion
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
deleted file mode 100644
index 8a81e68b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Binary Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression()
22 * @model
23 * @generated
24 */
25public interface BinaryExpression extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // BinaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
deleted file mode 100644
index 9e8e073a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
+++ /dev/null
@@ -1,455 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Binary Operator</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryOperator()
18 * @model
19 * @generated
20 */
21public enum BinaryOperator implements Enumerator
22{
23 /**
24 * The '<em><b>EQ</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #EQ_VALUE
28 * @generated
29 * @ordered
30 */
31 EQ(0, "EQ", "EQ"),
32
33 /**
34 * The '<em><b>NOT EQ</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #NOT_EQ_VALUE
38 * @generated
39 * @ordered
40 */
41 NOT_EQ(1, "NOT_EQ", "NOT_EQ"),
42
43 /**
44 * The '<em><b>LESS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #LESS_VALUE
48 * @generated
49 * @ordered
50 */
51 LESS(2, "LESS", "LESS"),
52
53 /**
54 * The '<em><b>LESS EQ</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #LESS_EQ_VALUE
58 * @generated
59 * @ordered
60 */
61 LESS_EQ(3, "LESS_EQ", "LESS_EQ"),
62
63 /**
64 * The '<em><b>GREATER</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #GREATER_VALUE
68 * @generated
69 * @ordered
70 */
71 GREATER(4, "GREATER", "GREATER"),
72
73 /**
74 * The '<em><b>GREATER EQ</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #GREATER_EQ_VALUE
78 * @generated
79 * @ordered
80 */
81 GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"),
82
83 /**
84 * The '<em><b>IN</b></em>' literal object.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #IN_VALUE
88 * @generated
89 * @ordered
90 */
91 IN(6, "IN", "IN"),
92
93 /**
94 * The '<em><b>ADD</b></em>' literal object.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #ADD_VALUE
98 * @generated
99 * @ordered
100 */
101 ADD(7, "ADD", "ADD"),
102
103 /**
104 * The '<em><b>SUB</b></em>' literal object.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @see #SUB_VALUE
108 * @generated
109 * @ordered
110 */
111 SUB(8, "SUB", "SUB"),
112
113 /**
114 * The '<em><b>MUL</b></em>' literal object.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #MUL_VALUE
118 * @generated
119 * @ordered
120 */
121 MUL(9, "MUL", "MUL"),
122
123 /**
124 * The '<em><b>DIV</b></em>' literal object.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see #DIV_VALUE
128 * @generated
129 * @ordered
130 */
131 DIV(10, "DIV", "DIV"),
132
133 /**
134 * The '<em><b>POW</b></em>' literal object.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @see #POW_VALUE
138 * @generated
139 * @ordered
140 */
141 POW(11, "POW", "POW");
142
143 /**
144 * The '<em><b>EQ</b></em>' literal value.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see #EQ
148 * @model
149 * @generated
150 * @ordered
151 */
152 public static final int EQ_VALUE = 0;
153
154 /**
155 * The '<em><b>NOT EQ</b></em>' literal value.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #NOT_EQ
159 * @model
160 * @generated
161 * @ordered
162 */
163 public static final int NOT_EQ_VALUE = 1;
164
165 /**
166 * The '<em><b>LESS</b></em>' literal value.
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @see #LESS
170 * @model
171 * @generated
172 * @ordered
173 */
174 public static final int LESS_VALUE = 2;
175
176 /**
177 * The '<em><b>LESS EQ</b></em>' literal value.
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @see #LESS_EQ
181 * @model
182 * @generated
183 * @ordered
184 */
185 public static final int LESS_EQ_VALUE = 3;
186
187 /**
188 * The '<em><b>GREATER</b></em>' literal value.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see #GREATER
192 * @model
193 * @generated
194 * @ordered
195 */
196 public static final int GREATER_VALUE = 4;
197
198 /**
199 * The '<em><b>GREATER EQ</b></em>' literal value.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @see #GREATER_EQ
203 * @model
204 * @generated
205 * @ordered
206 */
207 public static final int GREATER_EQ_VALUE = 5;
208
209 /**
210 * The '<em><b>IN</b></em>' literal value.
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @see #IN
214 * @model
215 * @generated
216 * @ordered
217 */
218 public static final int IN_VALUE = 6;
219
220 /**
221 * The '<em><b>ADD</b></em>' literal value.
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @see #ADD
225 * @model
226 * @generated
227 * @ordered
228 */
229 public static final int ADD_VALUE = 7;
230
231 /**
232 * The '<em><b>SUB</b></em>' literal value.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @see #SUB
236 * @model
237 * @generated
238 * @ordered
239 */
240 public static final int SUB_VALUE = 8;
241
242 /**
243 * The '<em><b>MUL</b></em>' literal value.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @see #MUL
247 * @model
248 * @generated
249 * @ordered
250 */
251 public static final int MUL_VALUE = 9;
252
253 /**
254 * The '<em><b>DIV</b></em>' literal value.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @see #DIV
258 * @model
259 * @generated
260 * @ordered
261 */
262 public static final int DIV_VALUE = 10;
263
264 /**
265 * The '<em><b>POW</b></em>' literal value.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @see #POW
269 * @model
270 * @generated
271 * @ordered
272 */
273 public static final int POW_VALUE = 11;
274
275 /**
276 * An array of all the '<em><b>Binary Operator</b></em>' enumerators.
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private static final BinaryOperator[] VALUES_ARRAY =
282 new BinaryOperator[]
283 {
284 EQ,
285 NOT_EQ,
286 LESS,
287 LESS_EQ,
288 GREATER,
289 GREATER_EQ,
290 IN,
291 ADD,
292 SUB,
293 MUL,
294 DIV,
295 POW,
296 };
297
298 /**
299 * A public read-only list of all the '<em><b>Binary Operator</b></em>' enumerators.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public static final List<BinaryOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
305
306 /**
307 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified literal value.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @param literal the literal.
311 * @return the matching enumerator or <code>null</code>.
312 * @generated
313 */
314 public static BinaryOperator get(String literal)
315 {
316 for (int i = 0; i < VALUES_ARRAY.length; ++i)
317 {
318 BinaryOperator result = VALUES_ARRAY[i];
319 if (result.toString().equals(literal))
320 {
321 return result;
322 }
323 }
324 return null;
325 }
326
327 /**
328 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified name.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @param name the name.
332 * @return the matching enumerator or <code>null</code>.
333 * @generated
334 */
335 public static BinaryOperator getByName(String name)
336 {
337 for (int i = 0; i < VALUES_ARRAY.length; ++i)
338 {
339 BinaryOperator result = VALUES_ARRAY[i];
340 if (result.getName().equals(name))
341 {
342 return result;
343 }
344 }
345 return null;
346 }
347
348 /**
349 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified integer value.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @param value the integer value.
353 * @return the matching enumerator or <code>null</code>.
354 * @generated
355 */
356 public static BinaryOperator get(int value)
357 {
358 switch (value)
359 {
360 case EQ_VALUE: return EQ;
361 case NOT_EQ_VALUE: return NOT_EQ;
362 case LESS_VALUE: return LESS;
363 case LESS_EQ_VALUE: return LESS_EQ;
364 case GREATER_VALUE: return GREATER;
365 case GREATER_EQ_VALUE: return GREATER_EQ;
366 case IN_VALUE: return IN;
367 case ADD_VALUE: return ADD;
368 case SUB_VALUE: return SUB;
369 case MUL_VALUE: return MUL;
370 case DIV_VALUE: return DIV;
371 case POW_VALUE: return POW;
372 }
373 return null;
374 }
375
376 /**
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 */
381 private final int value;
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 private final String name;
389
390 /**
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 */
395 private final String literal;
396
397 /**
398 * Only this class can construct instances.
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private BinaryOperator(int value, String name, String literal)
404 {
405 this.value = value;
406 this.name = name;
407 this.literal = literal;
408 }
409
410 /**
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 */
415 @Override
416 public int getValue()
417 {
418 return value;
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 @Override
427 public String getName()
428 {
429 return name;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public String getLiteral()
439 {
440 return literal;
441 }
442
443 /**
444 * Returns the literal value of the enumerator, which is its string representation.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 return literal;
453 }
454
455} //BinaryOperator
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
deleted file mode 100644
index 8e81e1a2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity()
21 * @model
22 * @generated
23 */
24public interface BoundedMultiplicity extends Multiplicity
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
deleted file mode 100644
index 1e76e86a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition()
21 * @model
22 * @generated
23 */
24public interface BoundedScopeDefinition extends ScopeDefinition
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
deleted file mode 100644
index 70f7d15e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
+++ /dev/null
@@ -1,116 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Call</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall()
23 * @model
24 * @generated
25 */
26public interface Call extends Expression
27{
28 /**
29 * Returns the value of the '<em><b>Functor</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Functor</em>' containment reference.
33 * @see #setFunctor(Reference)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor()
35 * @model containment="true"
36 * @generated
37 */
38 Reference getFunctor();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Functor</em>' containment reference.
45 * @see #getFunctor()
46 * @generated
47 */
48 void setFunctor(Reference value);
49
50 /**
51 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Transitive Closure</em>' attribute.
55 * @see #setTransitiveClosure(boolean)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure()
57 * @model
58 * @generated
59 */
60 boolean isTransitiveClosure();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
67 * @see #isTransitiveClosure()
68 * @generated
69 */
70 void setTransitiveClosure(boolean value);
71
72 /**
73 * Returns the value of the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Reflexive Transitive Closure</em>' attribute.
77 * @see #setReflexiveTransitiveClosure(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure()
79 * @model
80 * @generated
81 */
82 boolean isReflexiveTransitiveClosure();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Reflexive Transitive Closure</em>' attribute.
89 * @see #isReflexiveTransitiveClosure()
90 * @generated
91 */
92 void setReflexiveTransitiveClosure(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Argument List</em>' containment reference.
99 * @see #setArgumentList(ArgumentList)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
101 * @model containment="true"
102 * @generated
103 */
104 ArgumentList getArgumentList();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Argument List</em>' containment reference.
111 * @see #getArgumentList()
112 * @generated
113 */
114 void setArgumentList(ArgumentList value);
115
116} // Call
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
deleted file mode 100644
index 970d1de2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Case</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase()
21 * @model
22 * @generated
23 */
24public interface Case extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Condition</em>' containment reference.
31 * @see #setCondition(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getCondition();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Condition</em>' containment reference.
43 * @see #getCondition()
44 * @generated
45 */
46 void setCondition(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // Case
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
deleted file mode 100644
index 9db15bfe..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Class Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition()
24 * @model
25 * @generated
26 */
27public interface ClassDefinition extends Statement
28{
29 /**
30 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Abstract</em>' attribute.
34 * @see #setAbstract(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Abstract</em>' attribute.
46 * @see #isAbstract()
47 * @generated
48 */
49 void setAbstract(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Name</b></em>' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Name</em>' attribute.
56 * @see #setName(String)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name()
58 * @model
59 * @generated
60 */
61 String getName();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Name</em>' attribute.
68 * @see #getName()
69 * @generated
70 */
71 void setName(String value);
72
73 /**
74 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Superclasses</em>' reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses()
80 * @model
81 * @generated
82 */
83 EList<NamedElement> getSuperclasses();
84
85 /**
86 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Members</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members()
92 * @model containment="true"
93 * @generated
94 */
95 EList<MemberDefinition> getMembers();
96
97} // ClassDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
deleted file mode 100644
index 43e9341a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Comparison</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison()
22 * @model
23 * @generated
24 */
25public interface Comparison extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // Comparison
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
deleted file mode 100644
index 9f1967c0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Conjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction()
21 * @model
22 * @generated
23 */
24public interface Conjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Conjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
deleted file mode 100644
index f4b95a1e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Count</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount()
20 * @model
21 * @generated
22 */
23public interface Count extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // Count
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
deleted file mode 100644
index c088f8d7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Default Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition()
21 * @model
22 * @generated
23 */
24public interface DefaultDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Head</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Head</em>' containment reference.
31 * @see #setHead(Call)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Head()
33 * @model containment="true"
34 * @generated
35 */
36 Call getHead();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Head</em>' containment reference.
43 * @see #getHead()
44 * @generated
45 */
46 void setHead(Call value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // DefaultDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
deleted file mode 100644
index 724fc04a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Disjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction()
21 * @model
22 * @generated
23 */
24public interface Disjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Disjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
deleted file mode 100644
index 33e88fc4..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity()
20 * @model
21 * @generated
22 */
23public interface ExactMultiplicity extends Multiplicity
24{
25 /**
26 * Returns the value of the '<em><b>Multiplicity</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Multiplicity</em>' attribute.
30 * @see #setMultiplicity(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity()
32 * @model
33 * @generated
34 */
35 int getMultiplicity();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Multiplicity</em>' attribute.
42 * @see #getMultiplicity()
43 * @generated
44 */
45 void setMultiplicity(int value);
46
47} // ExactMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
deleted file mode 100644
index 50eb6a00..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ExactScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Exact Scope</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Exact Scope</em>' attribute.
30 * @see #setExactScope(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope()
32 * @model
33 * @generated
34 */
35 int getExactScope();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Exact Scope</em>' attribute.
42 * @see #getExactScope()
43 * @generated
44 */
45 void setExactScope(int value);
46
47} // ExactScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
deleted file mode 100644
index 518693a1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Expression Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument()
20 * @model
21 * @generated
22 */
23public interface ExpressionArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // ExpressionArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
deleted file mode 100644
index 086c4b27..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Metric Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition()
21 * @model
22 * @generated
23 */
24public interface ExternMetricDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Type</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
33 * @see #setType(MetricType)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Type()
35 * @model
36 * @generated
37 */
38 MetricType getType();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Type</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
46 * @see #getType()
47 * @generated
48 */
49 void setType(MetricType value);
50
51 /**
52 * Returns the value of the '<em><b>Head</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Head</em>' containment reference.
56 * @see #setHead(Call)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Head()
58 * @model containment="true"
59 * @generated
60 */
61 Call getHead();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Head</em>' containment reference.
68 * @see #getHead()
69 * @generated
70 */
71 void setHead(Call value);
72
73} // ExternMetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
deleted file mode 100644
index 56e6b645..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition()
20 * @model
21 * @generated
22 */
23public interface ExternPredicateDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Head</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Head</em>' containment reference.
30 * @see #setHead(Call)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Head()
32 * @model containment="true"
33 * @generated
34 */
35 Call getHead();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Head</em>' containment reference.
42 * @see #getHead()
43 * @generated
44 */
45 void setHead(Call value);
46
47} // ExternPredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
deleted file mode 100644
index f08a8420..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
+++ /dev/null
@@ -1,93 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>If Else</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse()
22 * @model
23 * @generated
24 */
25public interface IfElse extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Condition</em>' containment reference.
32 * @see #setCondition(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getCondition();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Condition</em>' containment reference.
44 * @see #getCondition()
45 * @generated
46 */
47 void setCondition(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Then</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Then</em>' containment reference.
54 * @see #setThen(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getThen();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Then</em>' containment reference.
66 * @see #getThen()
67 * @generated
68 */
69 void setThen(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Else</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Else</em>' containment reference.
76 * @see #setElse(Expression)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else()
78 * @model containment="true"
79 * @generated
80 */
81 Expression getElse();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Else</em>' containment reference.
88 * @see #getElse()
89 * @generated
90 */
91 void setElse(Expression value);
92
93} // IfElse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
deleted file mode 100644
index 3431ef8b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Interval</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval()
21 * @model
22 * @generated
23 */
24public interface Interval extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' containment reference.
31 * @see #setLowerBound(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' containment reference.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' containment reference.
53 * @see #setUpperBound(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' containment reference.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(Expression value);
69
70} // Interval
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
deleted file mode 100644
index b3eb1523..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
+++ /dev/null
@@ -1,50 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Logic Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral()
20 * @model
21 * @generated
22 */
23public interface LogicLiteral extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
32 * @see #setValue(LogicValue)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value()
34 * @model
35 * @generated
36 */
37 LogicValue getValue();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
45 * @see #getValue()
46 * @generated
47 */
48 void setValue(LogicValue value);
49
50} // LogicLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
deleted file mode 100644
index 61be81f7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
+++ /dev/null
@@ -1,271 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Logic Value</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicValue()
18 * @model
19 * @generated
20 */
21public enum LogicValue implements Enumerator
22{
23 /**
24 * The '<em><b>TRUE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #TRUE_VALUE
28 * @generated
29 * @ordered
30 */
31 TRUE(0, "TRUE", "true"),
32
33 /**
34 * The '<em><b>FALSE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #FALSE_VALUE
38 * @generated
39 * @ordered
40 */
41 FALSE(1, "FALSE", "false"),
42
43 /**
44 * The '<em><b>UNKNOWN</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #UNKNOWN_VALUE
48 * @generated
49 * @ordered
50 */
51 UNKNOWN(2, "UNKNOWN", "unknown"),
52
53 /**
54 * The '<em><b>ERROR</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #ERROR_VALUE
58 * @generated
59 * @ordered
60 */
61 ERROR(3, "ERROR", "error");
62
63 /**
64 * The '<em><b>TRUE</b></em>' literal value.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #TRUE
68 * @model literal="true"
69 * @generated
70 * @ordered
71 */
72 public static final int TRUE_VALUE = 0;
73
74 /**
75 * The '<em><b>FALSE</b></em>' literal value.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #FALSE
79 * @model literal="false"
80 * @generated
81 * @ordered
82 */
83 public static final int FALSE_VALUE = 1;
84
85 /**
86 * The '<em><b>UNKNOWN</b></em>' literal value.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #UNKNOWN
90 * @model literal="unknown"
91 * @generated
92 * @ordered
93 */
94 public static final int UNKNOWN_VALUE = 2;
95
96 /**
97 * The '<em><b>ERROR</b></em>' literal value.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #ERROR
101 * @model literal="error"
102 * @generated
103 * @ordered
104 */
105 public static final int ERROR_VALUE = 3;
106
107 /**
108 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private static final LogicValue[] VALUES_ARRAY =
114 new LogicValue[]
115 {
116 TRUE,
117 FALSE,
118 UNKNOWN,
119 ERROR,
120 };
121
122 /**
123 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
129
130 /**
131 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param literal the literal.
135 * @return the matching enumerator or <code>null</code>.
136 * @generated
137 */
138 public static LogicValue get(String literal)
139 {
140 for (int i = 0; i < VALUES_ARRAY.length; ++i)
141 {
142 LogicValue result = VALUES_ARRAY[i];
143 if (result.toString().equals(literal))
144 {
145 return result;
146 }
147 }
148 return null;
149 }
150
151 /**
152 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @param name the name.
156 * @return the matching enumerator or <code>null</code>.
157 * @generated
158 */
159 public static LogicValue getByName(String name)
160 {
161 for (int i = 0; i < VALUES_ARRAY.length; ++i)
162 {
163 LogicValue result = VALUES_ARRAY[i];
164 if (result.getName().equals(name))
165 {
166 return result;
167 }
168 }
169 return null;
170 }
171
172 /**
173 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @param value the integer value.
177 * @return the matching enumerator or <code>null</code>.
178 * @generated
179 */
180 public static LogicValue get(int value)
181 {
182 switch (value)
183 {
184 case TRUE_VALUE: return TRUE;
185 case FALSE_VALUE: return FALSE;
186 case UNKNOWN_VALUE: return UNKNOWN;
187 case ERROR_VALUE: return ERROR;
188 }
189 return null;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private final int value;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private final String name;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private final String literal;
212
213 /**
214 * Only this class can construct instances.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 private LogicValue(int value, String name, String literal)
220 {
221 this.value = value;
222 this.name = name;
223 this.literal = literal;
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public int getValue()
233 {
234 return value;
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public String getName()
244 {
245 return name;
246 }
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 @Override
254 public String getLiteral()
255 {
256 return literal;
257 }
258
259 /**
260 * Returns the literal value of the enumerator, which is its string representation.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public String toString()
267 {
268 return literal;
269 }
270
271} //LogicValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
deleted file mode 100644
index 57edcfda..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface LowerBoundedScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Lower Bound</em>' attribute.
30 * @see #setLowerBound(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Lower Bound</em>' attribute.
42 * @see #getLowerBound()
43 * @generated
44 */
45 void setLowerBound(int value);
46
47} // LowerBoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
deleted file mode 100644
index 3b413c11..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
+++ /dev/null
@@ -1,140 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Member Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition()
25 * @model
26 * @generated
27 */
28public interface MemberDefinition extends EObject
29{
30 /**
31 * Returns the value of the '<em><b>Containment</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Containment</em>' attribute.
35 * @see #setContainment(boolean)
36 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Containment</em>' attribute.
47 * @see #isContainment()
48 * @generated
49 */
50 void setContainment(boolean value);
51
52 /**
53 * Returns the value of the '<em><b>Type</b></em>' reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Type</em>' reference.
57 * @see #setType(NamedElement)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type()
59 * @model
60 * @generated
61 */
62 NamedElement getType();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}' reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Type</em>' reference.
69 * @see #getType()
70 * @generated
71 */
72 void setType(NamedElement value);
73
74 /**
75 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Multiplicity</em>' containment reference.
79 * @see #setMultiplicity(Multiplicity)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 Multiplicity getMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
91 * @see #getMultiplicity()
92 * @generated
93 */
94 void setMultiplicity(Multiplicity value);
95
96 /**
97 * Returns the value of the '<em><b>Name</b></em>' attribute.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Name</em>' attribute.
101 * @see #setName(String)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name()
103 * @model
104 * @generated
105 */
106 String getName();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Name</em>' attribute.
113 * @see #getName()
114 * @generated
115 */
116 void setName(String value);
117
118 /**
119 * Returns the value of the '<em><b>Opposite</b></em>' reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Opposite</em>' reference.
123 * @see #setOpposite(NamedElement)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite()
125 * @model
126 * @generated
127 */
128 NamedElement getOpposite();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}' reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Opposite</em>' reference.
135 * @see #getOpposite()
136 * @generated
137 */
138 void setOpposite(NamedElement value);
139
140} // MemberDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
deleted file mode 100644
index a35ab60c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Metric Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition()
22 * @model
23 * @generated
24 */
25public interface MetricDefinition extends Statement
26{
27 /**
28 * Returns the value of the '<em><b>Head</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Head</em>' containment reference.
32 * @see #setHead(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getHead();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Head</em>' containment reference.
44 * @see #getHead()
45 * @generated
46 */
47 void setHead(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Body</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Body</em>' containment reference.
54 * @see #setBody(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Body()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getBody();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Body</em>' containment reference.
66 * @see #getBody()
67 * @generated
68 */
69 void setBody(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Type</b></em>' attribute.
73 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Type</em>' attribute.
77 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
78 * @see #setType(MetricType)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type()
80 * @model
81 * @generated
82 */
83 MetricType getType();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Type</em>' attribute.
90 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
91 * @see #getType()
92 * @generated
93 */
94 void setType(MetricType value);
95
96} // MetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
deleted file mode 100644
index 0aa6a805..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
+++ /dev/null
@@ -1,225 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Metric Type</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricType()
18 * @model
19 * @generated
20 */
21public enum MetricType implements Enumerator
22{
23 /**
24 * The '<em><b>INT</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #INT_VALUE
28 * @generated
29 * @ordered
30 */
31 INT(0, "INT", "int"),
32
33 /**
34 * The '<em><b>REAL</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #REAL_VALUE
38 * @generated
39 * @ordered
40 */
41 REAL(1, "REAL", "real");
42
43 /**
44 * The '<em><b>INT</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #INT
48 * @model literal="int"
49 * @generated
50 * @ordered
51 */
52 public static final int INT_VALUE = 0;
53
54 /**
55 * The '<em><b>REAL</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #REAL
59 * @model literal="real"
60 * @generated
61 * @ordered
62 */
63 public static final int REAL_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Metric Type</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final MetricType[] VALUES_ARRAY =
72 new MetricType[]
73 {
74 INT,
75 REAL,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Metric Type</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<MetricType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Metric Type</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static MetricType get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 MetricType result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Metric Type</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static MetricType getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 MetricType result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Metric Type</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static MetricType get(int value)
137 {
138 switch (value)
139 {
140 case INT_VALUE: return INT;
141 case REAL_VALUE: return REAL;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private MetricType(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //MetricType
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
deleted file mode 100644
index 0372da14..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
+++ /dev/null
@@ -1,48 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Named Element</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement()
21 * @model
22 * @generated
23 */
24public interface NamedElement extends EObject
25{
26 /**
27 * Returns the value of the '<em><b>Name</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Name</em>' attribute.
31 * @see #setName(String)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name()
33 * @model
34 * @generated
35 */
36 String getName();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Name</em>' attribute.
43 * @see #getName()
44 * @generated
45 */
46 void setName(String value);
47
48} // NamedElement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
deleted file mode 100644
index 9e30d508..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
+++ /dev/null
@@ -1,48 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.math.BigDecimal;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Numeric Literal</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral()
21 * @model
22 * @generated
23 */
24public interface NumericLiteral extends Literal
25{
26 /**
27 * Returns the value of the '<em><b>Value</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute.
31 * @see #setValue(BigDecimal)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value()
33 * @model
34 * @generated
35 */
36 BigDecimal getValue();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Value</em>' attribute.
43 * @see #getValue()
44 * @generated
45 */
46 void setValue(BigDecimal value);
47
48} // NumericLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
deleted file mode 100644
index 417a389c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Objective Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition()
21 * @model
22 * @generated
23 */
24public interface ObjectiveDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Kind</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Kind</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
33 * @see #setKind(ObjectiveKind)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind()
35 * @model
36 * @generated
37 */
38 ObjectiveKind getKind();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Kind</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
46 * @see #getKind()
47 * @generated
48 */
49 void setKind(ObjectiveKind value);
50
51 /**
52 * Returns the value of the '<em><b>Objective</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objective</em>' containment reference.
56 * @see #setObjective(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getObjective();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Objective</em>' containment reference.
68 * @see #getObjective()
69 * @generated
70 */
71 void setObjective(Expression value);
72
73} // ObjectiveDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
deleted file mode 100644
index d3a4f626..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
+++ /dev/null
@@ -1,225 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Objective Kind</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveKind()
18 * @model
19 * @generated
20 */
21public enum ObjectiveKind implements Enumerator
22{
23 /**
24 * The '<em><b>MINIMIZE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #MINIMIZE_VALUE
28 * @generated
29 * @ordered
30 */
31 MINIMIZE(0, "MINIMIZE", "minimize"),
32
33 /**
34 * The '<em><b>MAXIMIZE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #MAXIMIZE_VALUE
38 * @generated
39 * @ordered
40 */
41 MAXIMIZE(1, "MAXIMIZE", "maximize");
42
43 /**
44 * The '<em><b>MINIMIZE</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINIMIZE
48 * @model literal="minimize"
49 * @generated
50 * @ordered
51 */
52 public static final int MINIMIZE_VALUE = 0;
53
54 /**
55 * The '<em><b>MAXIMIZE</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #MAXIMIZE
59 * @model literal="maximize"
60 * @generated
61 * @ordered
62 */
63 public static final int MAXIMIZE_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Objective Kind</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final ObjectiveKind[] VALUES_ARRAY =
72 new ObjectiveKind[]
73 {
74 MINIMIZE,
75 MAXIMIZE,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Objective Kind</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<ObjectiveKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static ObjectiveKind get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 ObjectiveKind result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static ObjectiveKind getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 ObjectiveKind result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static ObjectiveKind get(int value)
137 {
138 switch (value)
139 {
140 case MINIMIZE_VALUE: return MINIMIZE;
141 case MAXIMIZE_VALUE: return MAXIMIZE;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private ObjectiveKind(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //ObjectiveKind
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
deleted file mode 100644
index 256cb5ac..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
+++ /dev/null
@@ -1,116 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition()
23 * @model
24 * @generated
25 */
26public interface PredicateDefinition extends Statement
27{
28 /**
29 * Returns the value of the '<em><b>Head</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Head</em>' containment reference.
33 * @see #setHead(Expression)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head()
35 * @model containment="true"
36 * @generated
37 */
38 Expression getHead();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Head</em>' containment reference.
45 * @see #getHead()
46 * @generated
47 */
48 void setHead(Expression value);
49
50 /**
51 * Returns the value of the '<em><b>Body</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Body</em>' containment reference.
55 * @see #setBody(Expression)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body()
57 * @model containment="true"
58 * @generated
59 */
60 Expression getBody();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Body</em>' containment reference.
67 * @see #getBody()
68 * @generated
69 */
70 void setBody(Expression value);
71
72 /**
73 * Returns the value of the '<em><b>Functional</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Functional</em>' attribute.
77 * @see #setFunctional(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional()
79 * @model
80 * @generated
81 */
82 boolean isFunctional();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Functional</em>' attribute.
89 * @see #isFunctional()
90 * @generated
91 */
92 void setFunctional(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Error</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Error</em>' attribute.
99 * @see #setError(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error()
101 * @model
102 * @generated
103 */
104 boolean isError();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Error</em>' attribute.
111 * @see #isError()
112 * @generated
113 */
114 void setError(boolean value);
115
116} // PredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
deleted file mode 100644
index 6adb6a9d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reference</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference()
20 * @model
21 * @generated
22 */
23public interface Reference extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Referred</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Referred</em>' reference.
30 * @see #setReferred(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred()
32 * @model
33 * @generated
34 */
35 NamedElement getReferred();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Referred</em>' reference.
42 * @see #getReferred()
43 * @generated
44 */
45 void setReferred(NamedElement value);
46
47} // Reference
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
deleted file mode 100644
index 42fb6513..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ScopeDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // ScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
deleted file mode 100644
index f6e293b9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ /dev/null
@@ -1,458 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EFactory;
7
8/**
9 * <!-- begin-user-doc -->
10 * The <b>Factory</b> for the model.
11 * It provides a create method for each non-abstract class of the model.
12 * <!-- end-user-doc -->
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
14 * @generated
15 */
16public interface SolverLanguageFactory extends EFactory
17{
18 /**
19 * The singleton instance of the factory.
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init();
25
26 /**
27 * Returns a new object of class '<em>Problem</em>'.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return a new object of class '<em>Problem</em>'.
31 * @generated
32 */
33 Problem createProblem();
34
35 /**
36 * Returns a new object of class '<em>Statement</em>'.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @return a new object of class '<em>Statement</em>'.
40 * @generated
41 */
42 Statement createStatement();
43
44 /**
45 * Returns a new object of class '<em>Predicate Definition</em>'.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>Predicate Definition</em>'.
49 * @generated
50 */
51 PredicateDefinition createPredicateDefinition();
52
53 /**
54 * Returns a new object of class '<em>Unnamed Error Prediate Definition</em>'.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>Unnamed Error Prediate Definition</em>'.
58 * @generated
59 */
60 UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
61
62 /**
63 * Returns a new object of class '<em>Default Definition</em>'.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>Default Definition</em>'.
67 * @generated
68 */
69 DefaultDefinition createDefaultDefinition();
70
71 /**
72 * Returns a new object of class '<em>Extern Predicate Definition</em>'.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>Extern Predicate Definition</em>'.
76 * @generated
77 */
78 ExternPredicateDefinition createExternPredicateDefinition();
79
80 /**
81 * Returns a new object of class '<em>Metric Definition</em>'.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>Metric Definition</em>'.
85 * @generated
86 */
87 MetricDefinition createMetricDefinition();
88
89 /**
90 * Returns a new object of class '<em>Extern Metric Definition</em>'.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>Extern Metric Definition</em>'.
94 * @generated
95 */
96 ExternMetricDefinition createExternMetricDefinition();
97
98 /**
99 * Returns a new object of class '<em>Expression</em>'.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>Expression</em>'.
103 * @generated
104 */
105 Expression createExpression();
106
107 /**
108 * Returns a new object of class '<em>If Else</em>'.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>If Else</em>'.
112 * @generated
113 */
114 IfElse createIfElse();
115
116 /**
117 * Returns a new object of class '<em>Case</em>'.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>Case</em>'.
121 * @generated
122 */
123 Case createCase();
124
125 /**
126 * Returns a new object of class '<em>Count</em>'.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>Count</em>'.
130 * @generated
131 */
132 Count createCount();
133
134 /**
135 * Returns a new object of class '<em>Aggregation</em>'.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>Aggregation</em>'.
139 * @generated
140 */
141 Aggregation createAggregation();
142
143 /**
144 * Returns a new object of class '<em>Call</em>'.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>Call</em>'.
148 * @generated
149 */
150 Call createCall();
151
152 /**
153 * Returns a new object of class '<em>Argument List</em>'.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>Argument List</em>'.
157 * @generated
158 */
159 ArgumentList createArgumentList();
160
161 /**
162 * Returns a new object of class '<em>Argument</em>'.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>Argument</em>'.
166 * @generated
167 */
168 Argument createArgument();
169
170 /**
171 * Returns a new object of class '<em>Expression Argument</em>'.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>Expression Argument</em>'.
175 * @generated
176 */
177 ExpressionArgument createExpressionArgument();
178
179 /**
180 * Returns a new object of class '<em>Star Argument</em>'.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>Star Argument</em>'.
184 * @generated
185 */
186 StarArgument createStarArgument();
187
188 /**
189 * Returns a new object of class '<em>Typed Argument</em>'.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>Typed Argument</em>'.
193 * @generated
194 */
195 TypedArgument createTypedArgument();
196
197 /**
198 * Returns a new object of class '<em>Typed Star Argument</em>'.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>Typed Star Argument</em>'.
202 * @generated
203 */
204 TypedStarArgument createTypedStarArgument();
205
206 /**
207 * Returns a new object of class '<em>Reference</em>'.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>Reference</em>'.
211 * @generated
212 */
213 Reference createReference();
214
215 /**
216 * Returns a new object of class '<em>Interval</em>'.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>Interval</em>'.
220 * @generated
221 */
222 Interval createInterval();
223
224 /**
225 * Returns a new object of class '<em>Literal</em>'.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @return a new object of class '<em>Literal</em>'.
229 * @generated
230 */
231 Literal createLiteral();
232
233 /**
234 * Returns a new object of class '<em>Logic Literal</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>Logic Literal</em>'.
238 * @generated
239 */
240 LogicLiteral createLogicLiteral();
241
242 /**
243 * Returns a new object of class '<em>Numeric Literal</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>Numeric Literal</em>'.
247 * @generated
248 */
249 NumericLiteral createNumericLiteral();
250
251 /**
252 * Returns a new object of class '<em>Infinity Literal</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>Infinity Literal</em>'.
256 * @generated
257 */
258 InfinityLiteral createInfinityLiteral();
259
260 /**
261 * Returns a new object of class '<em>Empty Interval Literal</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Empty Interval Literal</em>'.
265 * @generated
266 */
267 EmptyIntervalLiteral createEmptyIntervalLiteral();
268
269 /**
270 * Returns a new object of class '<em>String Literal</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>String Literal</em>'.
274 * @generated
275 */
276 StringLiteral createStringLiteral();
277
278 /**
279 * Returns a new object of class '<em>Class Definition</em>'.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Class Definition</em>'.
283 * @generated
284 */
285 ClassDefinition createClassDefinition();
286
287 /**
288 * Returns a new object of class '<em>Member Definition</em>'.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @return a new object of class '<em>Member Definition</em>'.
292 * @generated
293 */
294 MemberDefinition createMemberDefinition();
295
296 /**
297 * Returns a new object of class '<em>Multiplicity</em>'.
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @return a new object of class '<em>Multiplicity</em>'.
301 * @generated
302 */
303 Multiplicity createMultiplicity();
304
305 /**
306 * Returns a new object of class '<em>Many Multiplicity</em>'.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @return a new object of class '<em>Many Multiplicity</em>'.
310 * @generated
311 */
312 ManyMultiplicity createManyMultiplicity();
313
314 /**
315 * Returns a new object of class '<em>Exact Multiplicity</em>'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return a new object of class '<em>Exact Multiplicity</em>'.
319 * @generated
320 */
321 ExactMultiplicity createExactMultiplicity();
322
323 /**
324 * Returns a new object of class '<em>Bounded Multiplicity</em>'.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @return a new object of class '<em>Bounded Multiplicity</em>'.
328 * @generated
329 */
330 BoundedMultiplicity createBoundedMultiplicity();
331
332 /**
333 * Returns a new object of class '<em>Scope Definition</em>'.
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @return a new object of class '<em>Scope Definition</em>'.
337 * @generated
338 */
339 ScopeDefinition createScopeDefinition();
340
341 /**
342 * Returns a new object of class '<em>Exact Scope Definition</em>'.
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @return a new object of class '<em>Exact Scope Definition</em>'.
346 * @generated
347 */
348 ExactScopeDefinition createExactScopeDefinition();
349
350 /**
351 * Returns a new object of class '<em>Bounded Scope Definition</em>'.
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @return a new object of class '<em>Bounded Scope Definition</em>'.
355 * @generated
356 */
357 BoundedScopeDefinition createBoundedScopeDefinition();
358
359 /**
360 * Returns a new object of class '<em>Lower Bounded Scope Definition</em>'.
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @return a new object of class '<em>Lower Bounded Scope Definition</em>'.
364 * @generated
365 */
366 LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
367
368 /**
369 * Returns a new object of class '<em>Objective Definition</em>'.
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @return a new object of class '<em>Objective Definition</em>'.
373 * @generated
374 */
375 ObjectiveDefinition createObjectiveDefinition();
376
377 /**
378 * Returns a new object of class '<em>Named Element</em>'.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @return a new object of class '<em>Named Element</em>'.
382 * @generated
383 */
384 NamedElement createNamedElement();
385
386 /**
387 * Returns a new object of class '<em>Assertion</em>'.
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @return a new object of class '<em>Assertion</em>'.
391 * @generated
392 */
393 Assertion createAssertion();
394
395 /**
396 * Returns a new object of class '<em>Disjunction</em>'.
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @return a new object of class '<em>Disjunction</em>'.
400 * @generated
401 */
402 Disjunction createDisjunction();
403
404 /**
405 * Returns a new object of class '<em>Switch</em>'.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @return a new object of class '<em>Switch</em>'.
409 * @generated
410 */
411 Switch createSwitch();
412
413 /**
414 * Returns a new object of class '<em>Conjunction</em>'.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @return a new object of class '<em>Conjunction</em>'.
418 * @generated
419 */
420 Conjunction createConjunction();
421
422 /**
423 * Returns a new object of class '<em>Comparison</em>'.
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @return a new object of class '<em>Comparison</em>'.
427 * @generated
428 */
429 Comparison createComparison();
430
431 /**
432 * Returns a new object of class '<em>Binary Expression</em>'.
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @return a new object of class '<em>Binary Expression</em>'.
436 * @generated
437 */
438 BinaryExpression createBinaryExpression();
439
440 /**
441 * Returns a new object of class '<em>Unary Expression</em>'.
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @return a new object of class '<em>Unary Expression</em>'.
445 * @generated
446 */
447 UnaryExpression createUnaryExpression();
448
449 /**
450 * Returns the package supported by this factory.
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @return the package supported by this factory.
454 * @generated
455 */
456 SolverLanguagePackage getSolverLanguagePackage();
457
458} //SolverLanguageFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
deleted file mode 100644
index ac9279c3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ /dev/null
@@ -1,4143 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Package</b> for the model.
15 * It contains accessors for the meta objects to represent
16 * <ul>
17 * <li>each class,</li>
18 * <li>each feature of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface SolverLanguagePackage extends EPackage
28{
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "solverLanguage";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "solverLanguage";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
66 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
67 * @generated
68 */
69 int PROBLEM = 0;
70
71 /**
72 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int PROBLEM__STATEMENTS = 0;
79
80 /**
81 * The number of structural features of the '<em>Problem</em>' class.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int PROBLEM_FEATURE_COUNT = 1;
88
89 /**
90 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
94 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
95 * @generated
96 */
97 int STATEMENT = 1;
98
99 /**
100 * The number of structural features of the '<em>Statement</em>' class.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 * @ordered
105 */
106 int STATEMENT_FEATURE_COUNT = 0;
107
108 /**
109 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
113 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
114 * @generated
115 */
116 int PREDICATE_DEFINITION = 2;
117
118 /**
119 * The feature id for the '<em><b>Head</b></em>' containment reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 * @ordered
124 */
125 int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
126
127 /**
128 * The feature id for the '<em><b>Body</b></em>' containment reference.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 * @ordered
133 */
134 int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
135
136 /**
137 * The feature id for the '<em><b>Functional</b></em>' attribute.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 * @ordered
142 */
143 int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2;
144
145 /**
146 * The feature id for the '<em><b>Error</b></em>' attribute.
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 * @ordered
151 */
152 int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3;
153
154 /**
155 * The number of structural features of the '<em>Predicate Definition</em>' class.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 * @ordered
160 */
161 int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
162
163 /**
164 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
168 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
169 * @generated
170 */
171 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
172
173 /**
174 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 * @ordered
179 */
180 int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0;
181
182 /**
183 * The feature id for the '<em><b>Body</b></em>' containment reference.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 * @ordered
188 */
189 int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
190
191 /**
192 * The number of structural features of the '<em>Unnamed Error Prediate Definition</em>' class.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 * @ordered
197 */
198 int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
199
200 /**
201 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
205 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
206 * @generated
207 */
208 int DEFAULT_DEFINITION = 4;
209
210 /**
211 * The feature id for the '<em><b>Head</b></em>' containment reference.
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 * @ordered
216 */
217 int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
218
219 /**
220 * The feature id for the '<em><b>Range</b></em>' containment reference.
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 * @ordered
225 */
226 int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1;
227
228 /**
229 * The number of structural features of the '<em>Default Definition</em>' class.
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 * @ordered
234 */
235 int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
236
237 /**
238 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
242 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
243 * @generated
244 */
245 int EXTERN_PREDICATE_DEFINITION = 5;
246
247 /**
248 * The feature id for the '<em><b>Head</b></em>' containment reference.
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 * @ordered
253 */
254 int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
255
256 /**
257 * The number of structural features of the '<em>Extern Predicate Definition</em>' class.
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 * @ordered
262 */
263 int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
264
265 /**
266 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
270 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
271 * @generated
272 */
273 int METRIC_DEFINITION = 6;
274
275 /**
276 * The feature id for the '<em><b>Head</b></em>' containment reference.
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 * @ordered
281 */
282 int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
283
284 /**
285 * The feature id for the '<em><b>Body</b></em>' containment reference.
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 * @ordered
290 */
291 int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
292
293 /**
294 * The feature id for the '<em><b>Type</b></em>' attribute.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 * @ordered
299 */
300 int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2;
301
302 /**
303 * The number of structural features of the '<em>Metric Definition</em>' class.
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 * @ordered
308 */
309 int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
310
311 /**
312 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
317 * @generated
318 */
319 int EXTERN_METRIC_DEFINITION = 7;
320
321 /**
322 * The feature id for the '<em><b>Type</b></em>' attribute.
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 * @ordered
327 */
328 int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
329
330 /**
331 * The feature id for the '<em><b>Head</b></em>' containment reference.
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 * @ordered
336 */
337 int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1;
338
339 /**
340 * The number of structural features of the '<em>Extern Metric Definition</em>' class.
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 * @ordered
345 */
346 int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
347
348 /**
349 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
353 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
354 * @generated
355 */
356 int EXPRESSION = 8;
357
358 /**
359 * The number of structural features of the '<em>Expression</em>' class.
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 * @ordered
364 */
365 int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
366
367 /**
368 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
373 * @generated
374 */
375 int IF_ELSE = 9;
376
377 /**
378 * The feature id for the '<em><b>Condition</b></em>' containment reference.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @generated
382 * @ordered
383 */
384 int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
385
386 /**
387 * The feature id for the '<em><b>Then</b></em>' containment reference.
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 * @ordered
392 */
393 int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1;
394
395 /**
396 * The feature id for the '<em><b>Else</b></em>' containment reference.
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 * @ordered
401 */
402 int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2;
403
404 /**
405 * The number of structural features of the '<em>If Else</em>' class.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 * @ordered
410 */
411 int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
412
413 /**
414 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
418 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
419 * @generated
420 */
421 int CASE = 10;
422
423 /**
424 * The feature id for the '<em><b>Condition</b></em>' containment reference.
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 * @ordered
429 */
430 int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
431
432 /**
433 * The feature id for the '<em><b>Body</b></em>' containment reference.
434 * <!-- begin-user-doc -->
435 * <!-- end-user-doc -->
436 * @generated
437 * @ordered
438 */
439 int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1;
440
441 /**
442 * The number of structural features of the '<em>Case</em>' class.
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 * @ordered
447 */
448 int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
449
450 /**
451 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
455 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
456 * @generated
457 */
458 int COUNT = 11;
459
460 /**
461 * The feature id for the '<em><b>Body</b></em>' containment reference.
462 * <!-- begin-user-doc -->
463 * <!-- end-user-doc -->
464 * @generated
465 * @ordered
466 */
467 int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0;
468
469 /**
470 * The number of structural features of the '<em>Count</em>' class.
471 * <!-- begin-user-doc -->
472 * <!-- end-user-doc -->
473 * @generated
474 * @ordered
475 */
476 int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
477
478 /**
479 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
483 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
484 * @generated
485 */
486 int AGGREGATION = 12;
487
488 /**
489 * The feature id for the '<em><b>Op</b></em>' attribute.
490 * <!-- begin-user-doc -->
491 * <!-- end-user-doc -->
492 * @generated
493 * @ordered
494 */
495 int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0;
496
497 /**
498 * The feature id for the '<em><b>Body</b></em>' containment reference.
499 * <!-- begin-user-doc -->
500 * <!-- end-user-doc -->
501 * @generated
502 * @ordered
503 */
504 int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1;
505
506 /**
507 * The feature id for the '<em><b>Condition</b></em>' containment reference.
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @generated
511 * @ordered
512 */
513 int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2;
514
515 /**
516 * The number of structural features of the '<em>Aggregation</em>' class.
517 * <!-- begin-user-doc -->
518 * <!-- end-user-doc -->
519 * @generated
520 * @ordered
521 */
522 int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
523
524 /**
525 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
529 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
530 * @generated
531 */
532 int CALL = 13;
533
534 /**
535 * The feature id for the '<em><b>Functor</b></em>' containment reference.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 * @ordered
540 */
541 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
542
543 /**
544 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @generated
548 * @ordered
549 */
550 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1;
551
552 /**
553 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 * @ordered
558 */
559 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
560
561 /**
562 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
563 * <!-- begin-user-doc -->
564 * <!-- end-user-doc -->
565 * @generated
566 * @ordered
567 */
568 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3;
569
570 /**
571 * The number of structural features of the '<em>Call</em>' class.
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 * @ordered
576 */
577 int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
578
579 /**
580 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
581 * <!-- begin-user-doc -->
582 * <!-- end-user-doc -->
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
584 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
585 * @generated
586 */
587 int ARGUMENT_LIST = 14;
588
589 /**
590 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
591 * <!-- begin-user-doc -->
592 * <!-- end-user-doc -->
593 * @generated
594 * @ordered
595 */
596 int ARGUMENT_LIST__ARGUMENTS = 0;
597
598 /**
599 * The number of structural features of the '<em>Argument List</em>' class.
600 * <!-- begin-user-doc -->
601 * <!-- end-user-doc -->
602 * @generated
603 * @ordered
604 */
605 int ARGUMENT_LIST_FEATURE_COUNT = 1;
606
607 /**
608 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
609 * <!-- begin-user-doc -->
610 * <!-- end-user-doc -->
611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
613 * @generated
614 */
615 int ARGUMENT = 15;
616
617 /**
618 * The number of structural features of the '<em>Argument</em>' class.
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 * @ordered
623 */
624 int ARGUMENT_FEATURE_COUNT = 0;
625
626 /**
627 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
631 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
632 * @generated
633 */
634 int EXPRESSION_ARGUMENT = 16;
635
636 /**
637 * The feature id for the '<em><b>Body</b></em>' containment reference.
638 * <!-- begin-user-doc -->
639 * <!-- end-user-doc -->
640 * @generated
641 * @ordered
642 */
643 int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0;
644
645 /**
646 * The number of structural features of the '<em>Expression Argument</em>' class.
647 * <!-- begin-user-doc -->
648 * <!-- end-user-doc -->
649 * @generated
650 * @ordered
651 */
652 int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
653
654 /**
655 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
660 * @generated
661 */
662 int STAR_ARGUMENT = 17;
663
664 /**
665 * The number of structural features of the '<em>Star Argument</em>' class.
666 * <!-- begin-user-doc -->
667 * <!-- end-user-doc -->
668 * @generated
669 * @ordered
670 */
671 int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0;
672
673 /**
674 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
678 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
679 * @generated
680 */
681 int TYPED_ARGUMENT = 18;
682
683 /**
684 * The feature id for the '<em><b>Type</b></em>' reference.
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 * @ordered
689 */
690 int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
691
692 /**
693 * The feature id for the '<em><b>Variable</b></em>' reference.
694 * <!-- begin-user-doc -->
695 * <!-- end-user-doc -->
696 * @generated
697 * @ordered
698 */
699 int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
700
701 /**
702 * The number of structural features of the '<em>Typed Argument</em>' class.
703 * <!-- begin-user-doc -->
704 * <!-- end-user-doc -->
705 * @generated
706 * @ordered
707 */
708 int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
709
710 /**
711 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
712 * <!-- begin-user-doc -->
713 * <!-- end-user-doc -->
714 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
715 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
716 * @generated
717 */
718 int TYPED_STAR_ARGUMENT = 19;
719
720 /**
721 * The feature id for the '<em><b>Type</b></em>' reference.
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 * @ordered
726 */
727 int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
728
729 /**
730 * The number of structural features of the '<em>Typed Star Argument</em>' class.
731 * <!-- begin-user-doc -->
732 * <!-- end-user-doc -->
733 * @generated
734 * @ordered
735 */
736 int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
737
738 /**
739 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
744 * @generated
745 */
746 int REFERENCE = 20;
747
748 /**
749 * The feature id for the '<em><b>Referred</b></em>' reference.
750 * <!-- begin-user-doc -->
751 * <!-- end-user-doc -->
752 * @generated
753 * @ordered
754 */
755 int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0;
756
757 /**
758 * The number of structural features of the '<em>Reference</em>' class.
759 * <!-- begin-user-doc -->
760 * <!-- end-user-doc -->
761 * @generated
762 * @ordered
763 */
764 int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
765
766 /**
767 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
768 * <!-- begin-user-doc -->
769 * <!-- end-user-doc -->
770 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
771 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
772 * @generated
773 */
774 int INTERVAL = 21;
775
776 /**
777 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
778 * <!-- begin-user-doc -->
779 * <!-- end-user-doc -->
780 * @generated
781 * @ordered
782 */
783 int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0;
784
785 /**
786 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
787 * <!-- begin-user-doc -->
788 * <!-- end-user-doc -->
789 * @generated
790 * @ordered
791 */
792 int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1;
793
794 /**
795 * The number of structural features of the '<em>Interval</em>' class.
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @generated
799 * @ordered
800 */
801 int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
802
803 /**
804 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
808 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
809 * @generated
810 */
811 int LITERAL = 22;
812
813 /**
814 * The number of structural features of the '<em>Literal</em>' class.
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 * @ordered
819 */
820 int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
821
822 /**
823 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
824 * <!-- begin-user-doc -->
825 * <!-- end-user-doc -->
826 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
827 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
828 * @generated
829 */
830 int LOGIC_LITERAL = 23;
831
832 /**
833 * The feature id for the '<em><b>Value</b></em>' attribute.
834 * <!-- begin-user-doc -->
835 * <!-- end-user-doc -->
836 * @generated
837 * @ordered
838 */
839 int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
840
841 /**
842 * The number of structural features of the '<em>Logic Literal</em>' class.
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 * @ordered
847 */
848 int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
849
850 /**
851 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
852 * <!-- begin-user-doc -->
853 * <!-- end-user-doc -->
854 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
855 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
856 * @generated
857 */
858 int NUMERIC_LITERAL = 24;
859
860 /**
861 * The feature id for the '<em><b>Value</b></em>' attribute.
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 * @ordered
866 */
867 int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
868
869 /**
870 * The number of structural features of the '<em>Numeric Literal</em>' class.
871 * <!-- begin-user-doc -->
872 * <!-- end-user-doc -->
873 * @generated
874 * @ordered
875 */
876 int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
877
878 /**
879 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
883 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
884 * @generated
885 */
886 int INFINITY_LITERAL = 25;
887
888 /**
889 * The number of structural features of the '<em>Infinity Literal</em>' class.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @generated
893 * @ordered
894 */
895 int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
896
897 /**
898 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
899 * <!-- begin-user-doc -->
900 * <!-- end-user-doc -->
901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
902 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
903 * @generated
904 */
905 int EMPTY_INTERVAL_LITERAL = 26;
906
907 /**
908 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 * @ordered
913 */
914 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
915
916 /**
917 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
921 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
922 * @generated
923 */
924 int STRING_LITERAL = 27;
925
926 /**
927 * The feature id for the '<em><b>Value</b></em>' attribute.
928 * <!-- begin-user-doc -->
929 * <!-- end-user-doc -->
930 * @generated
931 * @ordered
932 */
933 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
934
935 /**
936 * The number of structural features of the '<em>String Literal</em>' class.
937 * <!-- begin-user-doc -->
938 * <!-- end-user-doc -->
939 * @generated
940 * @ordered
941 */
942 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
943
944 /**
945 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
946 * <!-- begin-user-doc -->
947 * <!-- end-user-doc -->
948 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
949 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
950 * @generated
951 */
952 int CLASS_DEFINITION = 28;
953
954 /**
955 * The feature id for the '<em><b>Abstract</b></em>' attribute.
956 * <!-- begin-user-doc -->
957 * <!-- end-user-doc -->
958 * @generated
959 * @ordered
960 */
961 int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0;
962
963 /**
964 * The feature id for the '<em><b>Name</b></em>' attribute.
965 * <!-- begin-user-doc -->
966 * <!-- end-user-doc -->
967 * @generated
968 * @ordered
969 */
970 int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
971
972 /**
973 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
974 * <!-- begin-user-doc -->
975 * <!-- end-user-doc -->
976 * @generated
977 * @ordered
978 */
979 int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2;
980
981 /**
982 * The feature id for the '<em><b>Members</b></em>' containment reference list.
983 * <!-- begin-user-doc -->
984 * <!-- end-user-doc -->
985 * @generated
986 * @ordered
987 */
988 int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3;
989
990 /**
991 * The number of structural features of the '<em>Class Definition</em>' class.
992 * <!-- begin-user-doc -->
993 * <!-- end-user-doc -->
994 * @generated
995 * @ordered
996 */
997 int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
998
999 /**
1000 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
1001 * <!-- begin-user-doc -->
1002 * <!-- end-user-doc -->
1003 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
1004 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1005 * @generated
1006 */
1007 int MEMBER_DEFINITION = 29;
1008
1009 /**
1010 * The feature id for the '<em><b>Containment</b></em>' attribute.
1011 * <!-- begin-user-doc -->
1012 * <!-- end-user-doc -->
1013 * @generated
1014 * @ordered
1015 */
1016 int MEMBER_DEFINITION__CONTAINMENT = 0;
1017
1018 /**
1019 * The feature id for the '<em><b>Type</b></em>' reference.
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 * @ordered
1024 */
1025 int MEMBER_DEFINITION__TYPE = 1;
1026
1027 /**
1028 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @generated
1032 * @ordered
1033 */
1034 int MEMBER_DEFINITION__MULTIPLICITY = 2;
1035
1036 /**
1037 * The feature id for the '<em><b>Name</b></em>' attribute.
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @generated
1041 * @ordered
1042 */
1043 int MEMBER_DEFINITION__NAME = 3;
1044
1045 /**
1046 * The feature id for the '<em><b>Opposite</b></em>' reference.
1047 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc -->
1049 * @generated
1050 * @ordered
1051 */
1052 int MEMBER_DEFINITION__OPPOSITE = 4;
1053
1054 /**
1055 * The number of structural features of the '<em>Member Definition</em>' class.
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @generated
1059 * @ordered
1060 */
1061 int MEMBER_DEFINITION_FEATURE_COUNT = 5;
1062
1063 /**
1064 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
1065 * <!-- begin-user-doc -->
1066 * <!-- end-user-doc -->
1067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
1068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1069 * @generated
1070 */
1071 int MULTIPLICITY = 30;
1072
1073 /**
1074 * The number of structural features of the '<em>Multiplicity</em>' class.
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 * @ordered
1079 */
1080 int MULTIPLICITY_FEATURE_COUNT = 0;
1081
1082 /**
1083 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
1087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1088 * @generated
1089 */
1090 int MANY_MULTIPLICITY = 31;
1091
1092 /**
1093 * The number of structural features of the '<em>Many Multiplicity</em>' class.
1094 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc -->
1096 * @generated
1097 * @ordered
1098 */
1099 int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1100
1101 /**
1102 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1103 * <!-- begin-user-doc -->
1104 * <!-- end-user-doc -->
1105 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
1106 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1107 * @generated
1108 */
1109 int EXACT_MULTIPLICITY = 32;
1110
1111 /**
1112 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
1113 * <!-- begin-user-doc -->
1114 * <!-- end-user-doc -->
1115 * @generated
1116 * @ordered
1117 */
1118 int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0;
1119
1120 /**
1121 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1122 * <!-- begin-user-doc -->
1123 * <!-- end-user-doc -->
1124 * @generated
1125 * @ordered
1126 */
1127 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1128
1129 /**
1130 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
1134 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1135 * @generated
1136 */
1137 int BOUNDED_MULTIPLICITY = 33;
1138
1139 /**
1140 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1141 * <!-- begin-user-doc -->
1142 * <!-- end-user-doc -->
1143 * @generated
1144 * @ordered
1145 */
1146 int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1147
1148 /**
1149 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1150 * <!-- begin-user-doc -->
1151 * <!-- end-user-doc -->
1152 * @generated
1153 * @ordered
1154 */
1155 int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1156
1157 /**
1158 * The number of structural features of the '<em>Bounded Multiplicity</em>' class.
1159 * <!-- begin-user-doc -->
1160 * <!-- end-user-doc -->
1161 * @generated
1162 * @ordered
1163 */
1164 int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1165
1166 /**
1167 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
1168 * <!-- begin-user-doc -->
1169 * <!-- end-user-doc -->
1170 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
1171 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1172 * @generated
1173 */
1174 int SCOPE_DEFINITION = 34;
1175
1176 /**
1177 * The feature id for the '<em><b>Type</b></em>' reference.
1178 * <!-- begin-user-doc -->
1179 * <!-- end-user-doc -->
1180 * @generated
1181 * @ordered
1182 */
1183 int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
1184
1185 /**
1186 * The number of structural features of the '<em>Scope Definition</em>' class.
1187 * <!-- begin-user-doc -->
1188 * <!-- end-user-doc -->
1189 * @generated
1190 * @ordered
1191 */
1192 int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
1193
1194 /**
1195 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
1196 * <!-- begin-user-doc -->
1197 * <!-- end-user-doc -->
1198 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
1199 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1200 * @generated
1201 */
1202 int EXACT_SCOPE_DEFINITION = 35;
1203
1204 /**
1205 * The feature id for the '<em><b>Type</b></em>' reference.
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 * @ordered
1210 */
1211 int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1212
1213 /**
1214 * The feature id for the '<em><b>Exact Scope</b></em>' attribute.
1215 * <!-- begin-user-doc -->
1216 * <!-- end-user-doc -->
1217 * @generated
1218 * @ordered
1219 */
1220 int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1221
1222 /**
1223 * The number of structural features of the '<em>Exact Scope Definition</em>' class.
1224 * <!-- begin-user-doc -->
1225 * <!-- end-user-doc -->
1226 * @generated
1227 * @ordered
1228 */
1229 int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1230
1231 /**
1232 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
1233 * <!-- begin-user-doc -->
1234 * <!-- end-user-doc -->
1235 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
1236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
1237 * @generated
1238 */
1239 int BOUNDED_SCOPE_DEFINITION = 36;
1240
1241 /**
1242 * The feature id for the '<em><b>Type</b></em>' reference.
1243 * <!-- begin-user-doc -->
1244 * <!-- end-user-doc -->
1245 * @generated
1246 * @ordered
1247 */
1248 int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1249
1250 /**
1251 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1252 * <!-- begin-user-doc -->
1253 * <!-- end-user-doc -->
1254 * @generated
1255 * @ordered
1256 */
1257 int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1258
1259 /**
1260 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @generated
1264 * @ordered
1265 */
1266 int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1267
1268 /**
1269 * The number of structural features of the '<em>Bounded Scope Definition</em>' class.
1270 * <!-- begin-user-doc -->
1271 * <!-- end-user-doc -->
1272 * @generated
1273 * @ordered
1274 */
1275 int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2;
1276
1277 /**
1278 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
1279 * <!-- begin-user-doc -->
1280 * <!-- end-user-doc -->
1281 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
1282 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
1283 * @generated
1284 */
1285 int LOWER_BOUNDED_SCOPE_DEFINITION = 37;
1286
1287 /**
1288 * The feature id for the '<em><b>Type</b></em>' reference.
1289 * <!-- begin-user-doc -->
1290 * <!-- end-user-doc -->
1291 * @generated
1292 * @ordered
1293 */
1294 int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1295
1296 /**
1297 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1298 * <!-- begin-user-doc -->
1299 * <!-- end-user-doc -->
1300 * @generated
1301 * @ordered
1302 */
1303 int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1304
1305 /**
1306 * The number of structural features of the '<em>Lower Bounded Scope Definition</em>' class.
1307 * <!-- begin-user-doc -->
1308 * <!-- end-user-doc -->
1309 * @generated
1310 * @ordered
1311 */
1312 int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1313
1314 /**
1315 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
1319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
1320 * @generated
1321 */
1322 int OBJECTIVE_DEFINITION = 38;
1323
1324 /**
1325 * The feature id for the '<em><b>Kind</b></em>' attribute.
1326 * <!-- begin-user-doc -->
1327 * <!-- end-user-doc -->
1328 * @generated
1329 * @ordered
1330 */
1331 int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0;
1332
1333 /**
1334 * The feature id for the '<em><b>Objective</b></em>' containment reference.
1335 * <!-- begin-user-doc -->
1336 * <!-- end-user-doc -->
1337 * @generated
1338 * @ordered
1339 */
1340 int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1;
1341
1342 /**
1343 * The number of structural features of the '<em>Objective Definition</em>' class.
1344 * <!-- begin-user-doc -->
1345 * <!-- end-user-doc -->
1346 * @generated
1347 * @ordered
1348 */
1349 int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1350
1351 /**
1352 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
1353 * <!-- begin-user-doc -->
1354 * <!-- end-user-doc -->
1355 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
1356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
1357 * @generated
1358 */
1359 int NAMED_ELEMENT = 39;
1360
1361 /**
1362 * The feature id for the '<em><b>Name</b></em>' attribute.
1363 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc -->
1365 * @generated
1366 * @ordered
1367 */
1368 int NAMED_ELEMENT__NAME = 0;
1369
1370 /**
1371 * The number of structural features of the '<em>Named Element</em>' class.
1372 * <!-- begin-user-doc -->
1373 * <!-- end-user-doc -->
1374 * @generated
1375 * @ordered
1376 */
1377 int NAMED_ELEMENT_FEATURE_COUNT = 1;
1378
1379 /**
1380 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
1381 * <!-- begin-user-doc -->
1382 * <!-- end-user-doc -->
1383 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
1384 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
1385 * @generated
1386 */
1387 int ASSERTION = 40;
1388
1389 /**
1390 * The feature id for the '<em><b>Body</b></em>' containment reference.
1391 * <!-- begin-user-doc -->
1392 * <!-- end-user-doc -->
1393 * @generated
1394 * @ordered
1395 */
1396 int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0;
1397
1398 /**
1399 * The feature id for the '<em><b>Range</b></em>' containment reference.
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @generated
1403 * @ordered
1404 */
1405 int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1;
1406
1407 /**
1408 * The number of structural features of the '<em>Assertion</em>' class.
1409 * <!-- begin-user-doc -->
1410 * <!-- end-user-doc -->
1411 * @generated
1412 * @ordered
1413 */
1414 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1415
1416 /**
1417 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
1418 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc -->
1420 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
1421 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
1422 * @generated
1423 */
1424 int DISJUNCTION = 41;
1425
1426 /**
1427 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 * @ordered
1432 */
1433 int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1434
1435 /**
1436 * The number of structural features of the '<em>Disjunction</em>' class.
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 * @ordered
1441 */
1442 int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1443
1444 /**
1445 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
1446 * <!-- begin-user-doc -->
1447 * <!-- end-user-doc -->
1448 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
1449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
1450 * @generated
1451 */
1452 int SWITCH = 42;
1453
1454 /**
1455 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
1456 * <!-- begin-user-doc -->
1457 * <!-- end-user-doc -->
1458 * @generated
1459 * @ordered
1460 */
1461 int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0;
1462
1463 /**
1464 * The number of structural features of the '<em>Switch</em>' class.
1465 * <!-- begin-user-doc -->
1466 * <!-- end-user-doc -->
1467 * @generated
1468 * @ordered
1469 */
1470 int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1471
1472 /**
1473 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
1474 * <!-- begin-user-doc -->
1475 * <!-- end-user-doc -->
1476 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
1477 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
1478 * @generated
1479 */
1480 int CONJUNCTION = 43;
1481
1482 /**
1483 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1484 * <!-- begin-user-doc -->
1485 * <!-- end-user-doc -->
1486 * @generated
1487 * @ordered
1488 */
1489 int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1490
1491 /**
1492 * The number of structural features of the '<em>Conjunction</em>' class.
1493 * <!-- begin-user-doc -->
1494 * <!-- end-user-doc -->
1495 * @generated
1496 * @ordered
1497 */
1498 int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1499
1500 /**
1501 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
1502 * <!-- begin-user-doc -->
1503 * <!-- end-user-doc -->
1504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
1505 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
1506 * @generated
1507 */
1508 int COMPARISON = 44;
1509
1510 /**
1511 * The feature id for the '<em><b>Left</b></em>' containment reference.
1512 * <!-- begin-user-doc -->
1513 * <!-- end-user-doc -->
1514 * @generated
1515 * @ordered
1516 */
1517 int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1518
1519 /**
1520 * The feature id for the '<em><b>Op</b></em>' attribute.
1521 * <!-- begin-user-doc -->
1522 * <!-- end-user-doc -->
1523 * @generated
1524 * @ordered
1525 */
1526 int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1;
1527
1528 /**
1529 * The feature id for the '<em><b>Right</b></em>' containment reference.
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 * @ordered
1534 */
1535 int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1536
1537 /**
1538 * The number of structural features of the '<em>Comparison</em>' class.
1539 * <!-- begin-user-doc -->
1540 * <!-- end-user-doc -->
1541 * @generated
1542 * @ordered
1543 */
1544 int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1545
1546 /**
1547 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
1548 * <!-- begin-user-doc -->
1549 * <!-- end-user-doc -->
1550 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
1551 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
1552 * @generated
1553 */
1554 int BINARY_EXPRESSION = 45;
1555
1556 /**
1557 * The feature id for the '<em><b>Left</b></em>' containment reference.
1558 * <!-- begin-user-doc -->
1559 * <!-- end-user-doc -->
1560 * @generated
1561 * @ordered
1562 */
1563 int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1564
1565 /**
1566 * The feature id for the '<em><b>Op</b></em>' attribute.
1567 * <!-- begin-user-doc -->
1568 * <!-- end-user-doc -->
1569 * @generated
1570 * @ordered
1571 */
1572 int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1;
1573
1574 /**
1575 * The feature id for the '<em><b>Right</b></em>' containment reference.
1576 * <!-- begin-user-doc -->
1577 * <!-- end-user-doc -->
1578 * @generated
1579 * @ordered
1580 */
1581 int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1582
1583 /**
1584 * The number of structural features of the '<em>Binary Expression</em>' class.
1585 * <!-- begin-user-doc -->
1586 * <!-- end-user-doc -->
1587 * @generated
1588 * @ordered
1589 */
1590 int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1591
1592 /**
1593 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
1594 * <!-- begin-user-doc -->
1595 * <!-- end-user-doc -->
1596 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
1597 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
1598 * @generated
1599 */
1600 int UNARY_EXPRESSION = 46;
1601
1602 /**
1603 * The feature id for the '<em><b>Op</b></em>' attribute.
1604 * <!-- begin-user-doc -->
1605 * <!-- end-user-doc -->
1606 * @generated
1607 * @ordered
1608 */
1609 int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0;
1610
1611 /**
1612 * The feature id for the '<em><b>Body</b></em>' containment reference.
1613 * <!-- begin-user-doc -->
1614 * <!-- end-user-doc -->
1615 * @generated
1616 * @ordered
1617 */
1618 int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
1619
1620 /**
1621 * The number of structural features of the '<em>Unary Expression</em>' class.
1622 * <!-- begin-user-doc -->
1623 * <!-- end-user-doc -->
1624 * @generated
1625 * @ordered
1626 */
1627 int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
1628
1629 /**
1630 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
1631 * <!-- begin-user-doc -->
1632 * <!-- end-user-doc -->
1633 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
1634 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
1635 * @generated
1636 */
1637 int METRIC_TYPE = 47;
1638
1639 /**
1640 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
1641 * <!-- begin-user-doc -->
1642 * <!-- end-user-doc -->
1643 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
1644 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
1645 * @generated
1646 */
1647 int BINARY_OPERATOR = 48;
1648
1649 /**
1650 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
1651 * <!-- begin-user-doc -->
1652 * <!-- end-user-doc -->
1653 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
1654 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
1655 * @generated
1656 */
1657 int UNARY_OP = 49;
1658
1659 /**
1660 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
1661 * <!-- begin-user-doc -->
1662 * <!-- end-user-doc -->
1663 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
1664 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
1665 * @generated
1666 */
1667 int AGGREGATION_OP = 50;
1668
1669 /**
1670 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
1671 * <!-- begin-user-doc -->
1672 * <!-- end-user-doc -->
1673 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
1674 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
1675 * @generated
1676 */
1677 int LOGIC_VALUE = 51;
1678
1679 /**
1680 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
1681 * <!-- begin-user-doc -->
1682 * <!-- end-user-doc -->
1683 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
1684 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
1685 * @generated
1686 */
1687 int OBJECTIVE_KIND = 52;
1688
1689
1690 /**
1691 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
1692 * <!-- begin-user-doc -->
1693 * <!-- end-user-doc -->
1694 * @return the meta object for class '<em>Problem</em>'.
1695 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
1696 * @generated
1697 */
1698 EClass getProblem();
1699
1700 /**
1701 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}'.
1702 * <!-- begin-user-doc -->
1703 * <!-- end-user-doc -->
1704 * @return the meta object for the containment reference list '<em>Statements</em>'.
1705 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements()
1706 * @see #getProblem()
1707 * @generated
1708 */
1709 EReference getProblem_Statements();
1710
1711 /**
1712 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
1713 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc -->
1715 * @return the meta object for class '<em>Statement</em>'.
1716 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
1717 * @generated
1718 */
1719 EClass getStatement();
1720
1721 /**
1722 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
1723 * <!-- begin-user-doc -->
1724 * <!-- end-user-doc -->
1725 * @return the meta object for class '<em>Predicate Definition</em>'.
1726 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
1727 * @generated
1728 */
1729 EClass getPredicateDefinition();
1730
1731 /**
1732 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}'.
1733 * <!-- begin-user-doc -->
1734 * <!-- end-user-doc -->
1735 * @return the meta object for the containment reference '<em>Head</em>'.
1736 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead()
1737 * @see #getPredicateDefinition()
1738 * @generated
1739 */
1740 EReference getPredicateDefinition_Head();
1741
1742 /**
1743 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}'.
1744 * <!-- begin-user-doc -->
1745 * <!-- end-user-doc -->
1746 * @return the meta object for the containment reference '<em>Body</em>'.
1747 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody()
1748 * @see #getPredicateDefinition()
1749 * @generated
1750 */
1751 EReference getPredicateDefinition_Body();
1752
1753 /**
1754 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}'.
1755 * <!-- begin-user-doc -->
1756 * <!-- end-user-doc -->
1757 * @return the meta object for the attribute '<em>Functional</em>'.
1758 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional()
1759 * @see #getPredicateDefinition()
1760 * @generated
1761 */
1762 EAttribute getPredicateDefinition_Functional();
1763
1764 /**
1765 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}'.
1766 * <!-- begin-user-doc -->
1767 * <!-- end-user-doc -->
1768 * @return the meta object for the attribute '<em>Error</em>'.
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError()
1770 * @see #getPredicateDefinition()
1771 * @generated
1772 */
1773 EAttribute getPredicateDefinition_Error();
1774
1775 /**
1776 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
1777 * <!-- begin-user-doc -->
1778 * <!-- end-user-doc -->
1779 * @return the meta object for class '<em>Unnamed Error Prediate Definition</em>'.
1780 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
1781 * @generated
1782 */
1783 EClass getUnnamedErrorPrediateDefinition();
1784
1785 /**
1786 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}'.
1787 * <!-- begin-user-doc -->
1788 * <!-- end-user-doc -->
1789 * @return the meta object for the containment reference '<em>Argument List</em>'.
1790 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList()
1791 * @see #getUnnamedErrorPrediateDefinition()
1792 * @generated
1793 */
1794 EReference getUnnamedErrorPrediateDefinition_ArgumentList();
1795
1796 /**
1797 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}'.
1798 * <!-- begin-user-doc -->
1799 * <!-- end-user-doc -->
1800 * @return the meta object for the containment reference '<em>Body</em>'.
1801 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody()
1802 * @see #getUnnamedErrorPrediateDefinition()
1803 * @generated
1804 */
1805 EReference getUnnamedErrorPrediateDefinition_Body();
1806
1807 /**
1808 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
1809 * <!-- begin-user-doc -->
1810 * <!-- end-user-doc -->
1811 * @return the meta object for class '<em>Default Definition</em>'.
1812 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
1813 * @generated
1814 */
1815 EClass getDefaultDefinition();
1816
1817 /**
1818 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}'.
1819 * <!-- begin-user-doc -->
1820 * <!-- end-user-doc -->
1821 * @return the meta object for the containment reference '<em>Head</em>'.
1822 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead()
1823 * @see #getDefaultDefinition()
1824 * @generated
1825 */
1826 EReference getDefaultDefinition_Head();
1827
1828 /**
1829 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}'.
1830 * <!-- begin-user-doc -->
1831 * <!-- end-user-doc -->
1832 * @return the meta object for the containment reference '<em>Range</em>'.
1833 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange()
1834 * @see #getDefaultDefinition()
1835 * @generated
1836 */
1837 EReference getDefaultDefinition_Range();
1838
1839 /**
1840 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
1841 * <!-- begin-user-doc -->
1842 * <!-- end-user-doc -->
1843 * @return the meta object for class '<em>Extern Predicate Definition</em>'.
1844 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
1845 * @generated
1846 */
1847 EClass getExternPredicateDefinition();
1848
1849 /**
1850 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}'.
1851 * <!-- begin-user-doc -->
1852 * <!-- end-user-doc -->
1853 * @return the meta object for the containment reference '<em>Head</em>'.
1854 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead()
1855 * @see #getExternPredicateDefinition()
1856 * @generated
1857 */
1858 EReference getExternPredicateDefinition_Head();
1859
1860 /**
1861 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
1862 * <!-- begin-user-doc -->
1863 * <!-- end-user-doc -->
1864 * @return the meta object for class '<em>Metric Definition</em>'.
1865 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
1866 * @generated
1867 */
1868 EClass getMetricDefinition();
1869
1870 /**
1871 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}'.
1872 * <!-- begin-user-doc -->
1873 * <!-- end-user-doc -->
1874 * @return the meta object for the containment reference '<em>Head</em>'.
1875 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead()
1876 * @see #getMetricDefinition()
1877 * @generated
1878 */
1879 EReference getMetricDefinition_Head();
1880
1881 /**
1882 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}'.
1883 * <!-- begin-user-doc -->
1884 * <!-- end-user-doc -->
1885 * @return the meta object for the containment reference '<em>Body</em>'.
1886 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody()
1887 * @see #getMetricDefinition()
1888 * @generated
1889 */
1890 EReference getMetricDefinition_Body();
1891
1892 /**
1893 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}'.
1894 * <!-- begin-user-doc -->
1895 * <!-- end-user-doc -->
1896 * @return the meta object for the attribute '<em>Type</em>'.
1897 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType()
1898 * @see #getMetricDefinition()
1899 * @generated
1900 */
1901 EAttribute getMetricDefinition_Type();
1902
1903 /**
1904 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
1905 * <!-- begin-user-doc -->
1906 * <!-- end-user-doc -->
1907 * @return the meta object for class '<em>Extern Metric Definition</em>'.
1908 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
1909 * @generated
1910 */
1911 EClass getExternMetricDefinition();
1912
1913 /**
1914 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}'.
1915 * <!-- begin-user-doc -->
1916 * <!-- end-user-doc -->
1917 * @return the meta object for the attribute '<em>Type</em>'.
1918 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType()
1919 * @see #getExternMetricDefinition()
1920 * @generated
1921 */
1922 EAttribute getExternMetricDefinition_Type();
1923
1924 /**
1925 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}'.
1926 * <!-- begin-user-doc -->
1927 * <!-- end-user-doc -->
1928 * @return the meta object for the containment reference '<em>Head</em>'.
1929 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead()
1930 * @see #getExternMetricDefinition()
1931 * @generated
1932 */
1933 EReference getExternMetricDefinition_Head();
1934
1935 /**
1936 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
1937 * <!-- begin-user-doc -->
1938 * <!-- end-user-doc -->
1939 * @return the meta object for class '<em>Expression</em>'.
1940 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
1941 * @generated
1942 */
1943 EClass getExpression();
1944
1945 /**
1946 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
1947 * <!-- begin-user-doc -->
1948 * <!-- end-user-doc -->
1949 * @return the meta object for class '<em>If Else</em>'.
1950 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
1951 * @generated
1952 */
1953 EClass getIfElse();
1954
1955 /**
1956 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}'.
1957 * <!-- begin-user-doc -->
1958 * <!-- end-user-doc -->
1959 * @return the meta object for the containment reference '<em>Condition</em>'.
1960 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition()
1961 * @see #getIfElse()
1962 * @generated
1963 */
1964 EReference getIfElse_Condition();
1965
1966 /**
1967 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}'.
1968 * <!-- begin-user-doc -->
1969 * <!-- end-user-doc -->
1970 * @return the meta object for the containment reference '<em>Then</em>'.
1971 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen()
1972 * @see #getIfElse()
1973 * @generated
1974 */
1975 EReference getIfElse_Then();
1976
1977 /**
1978 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}'.
1979 * <!-- begin-user-doc -->
1980 * <!-- end-user-doc -->
1981 * @return the meta object for the containment reference '<em>Else</em>'.
1982 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse()
1983 * @see #getIfElse()
1984 * @generated
1985 */
1986 EReference getIfElse_Else();
1987
1988 /**
1989 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
1990 * <!-- begin-user-doc -->
1991 * <!-- end-user-doc -->
1992 * @return the meta object for class '<em>Case</em>'.
1993 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
1994 * @generated
1995 */
1996 EClass getCase();
1997
1998 /**
1999 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}'.
2000 * <!-- begin-user-doc -->
2001 * <!-- end-user-doc -->
2002 * @return the meta object for the containment reference '<em>Condition</em>'.
2003 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition()
2004 * @see #getCase()
2005 * @generated
2006 */
2007 EReference getCase_Condition();
2008
2009 /**
2010 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}'.
2011 * <!-- begin-user-doc -->
2012 * <!-- end-user-doc -->
2013 * @return the meta object for the containment reference '<em>Body</em>'.
2014 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody()
2015 * @see #getCase()
2016 * @generated
2017 */
2018 EReference getCase_Body();
2019
2020 /**
2021 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
2022 * <!-- begin-user-doc -->
2023 * <!-- end-user-doc -->
2024 * @return the meta object for class '<em>Count</em>'.
2025 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
2026 * @generated
2027 */
2028 EClass getCount();
2029
2030 /**
2031 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}'.
2032 * <!-- begin-user-doc -->
2033 * <!-- end-user-doc -->
2034 * @return the meta object for the containment reference '<em>Body</em>'.
2035 * @see org.eclipse.viatra.solver.language.solverLanguage.Count#getBody()
2036 * @see #getCount()
2037 * @generated
2038 */
2039 EReference getCount_Body();
2040
2041 /**
2042 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
2043 * <!-- begin-user-doc -->
2044 * <!-- end-user-doc -->
2045 * @return the meta object for class '<em>Aggregation</em>'.
2046 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
2047 * @generated
2048 */
2049 EClass getAggregation();
2050
2051 /**
2052 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}'.
2053 * <!-- begin-user-doc -->
2054 * <!-- end-user-doc -->
2055 * @return the meta object for the attribute '<em>Op</em>'.
2056 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp()
2057 * @see #getAggregation()
2058 * @generated
2059 */
2060 EAttribute getAggregation_Op();
2061
2062 /**
2063 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}'.
2064 * <!-- begin-user-doc -->
2065 * <!-- end-user-doc -->
2066 * @return the meta object for the containment reference '<em>Body</em>'.
2067 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody()
2068 * @see #getAggregation()
2069 * @generated
2070 */
2071 EReference getAggregation_Body();
2072
2073 /**
2074 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}'.
2075 * <!-- begin-user-doc -->
2076 * <!-- end-user-doc -->
2077 * @return the meta object for the containment reference '<em>Condition</em>'.
2078 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition()
2079 * @see #getAggregation()
2080 * @generated
2081 */
2082 EReference getAggregation_Condition();
2083
2084 /**
2085 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
2086 * <!-- begin-user-doc -->
2087 * <!-- end-user-doc -->
2088 * @return the meta object for class '<em>Call</em>'.
2089 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
2090 * @generated
2091 */
2092 EClass getCall();
2093
2094 /**
2095 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}'.
2096 * <!-- begin-user-doc -->
2097 * <!-- end-user-doc -->
2098 * @return the meta object for the containment reference '<em>Functor</em>'.
2099 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor()
2100 * @see #getCall()
2101 * @generated
2102 */
2103 EReference getCall_Functor();
2104
2105 /**
2106 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
2107 * <!-- begin-user-doc -->
2108 * <!-- end-user-doc -->
2109 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
2110 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure()
2111 * @see #getCall()
2112 * @generated
2113 */
2114 EAttribute getCall_TransitiveClosure();
2115
2116 /**
2117 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}'.
2118 * <!-- begin-user-doc -->
2119 * <!-- end-user-doc -->
2120 * @return the meta object for the attribute '<em>Reflexive Transitive Closure</em>'.
2121 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure()
2122 * @see #getCall()
2123 * @generated
2124 */
2125 EAttribute getCall_ReflexiveTransitiveClosure();
2126
2127 /**
2128 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
2129 * <!-- begin-user-doc -->
2130 * <!-- end-user-doc -->
2131 * @return the meta object for the containment reference '<em>Argument List</em>'.
2132 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
2133 * @see #getCall()
2134 * @generated
2135 */
2136 EReference getCall_ArgumentList();
2137
2138 /**
2139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
2140 * <!-- begin-user-doc -->
2141 * <!-- end-user-doc -->
2142 * @return the meta object for class '<em>Argument List</em>'.
2143 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
2144 * @generated
2145 */
2146 EClass getArgumentList();
2147
2148 /**
2149 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}'.
2150 * <!-- begin-user-doc -->
2151 * <!-- end-user-doc -->
2152 * @return the meta object for the containment reference list '<em>Arguments</em>'.
2153 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments()
2154 * @see #getArgumentList()
2155 * @generated
2156 */
2157 EReference getArgumentList_Arguments();
2158
2159 /**
2160 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
2161 * <!-- begin-user-doc -->
2162 * <!-- end-user-doc -->
2163 * @return the meta object for class '<em>Argument</em>'.
2164 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
2165 * @generated
2166 */
2167 EClass getArgument();
2168
2169 /**
2170 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
2171 * <!-- begin-user-doc -->
2172 * <!-- end-user-doc -->
2173 * @return the meta object for class '<em>Expression Argument</em>'.
2174 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
2175 * @generated
2176 */
2177 EClass getExpressionArgument();
2178
2179 /**
2180 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}'.
2181 * <!-- begin-user-doc -->
2182 * <!-- end-user-doc -->
2183 * @return the meta object for the containment reference '<em>Body</em>'.
2184 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody()
2185 * @see #getExpressionArgument()
2186 * @generated
2187 */
2188 EReference getExpressionArgument_Body();
2189
2190 /**
2191 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
2192 * <!-- begin-user-doc -->
2193 * <!-- end-user-doc -->
2194 * @return the meta object for class '<em>Star Argument</em>'.
2195 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
2196 * @generated
2197 */
2198 EClass getStarArgument();
2199
2200 /**
2201 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
2202 * <!-- begin-user-doc -->
2203 * <!-- end-user-doc -->
2204 * @return the meta object for class '<em>Typed Argument</em>'.
2205 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
2206 * @generated
2207 */
2208 EClass getTypedArgument();
2209
2210 /**
2211 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}'.
2212 * <!-- begin-user-doc -->
2213 * <!-- end-user-doc -->
2214 * @return the meta object for the reference '<em>Type</em>'.
2215 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType()
2216 * @see #getTypedArgument()
2217 * @generated
2218 */
2219 EReference getTypedArgument_Type();
2220
2221 /**
2222 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}'.
2223 * <!-- begin-user-doc -->
2224 * <!-- end-user-doc -->
2225 * @return the meta object for the reference '<em>Variable</em>'.
2226 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable()
2227 * @see #getTypedArgument()
2228 * @generated
2229 */
2230 EReference getTypedArgument_Variable();
2231
2232 /**
2233 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
2234 * <!-- begin-user-doc -->
2235 * <!-- end-user-doc -->
2236 * @return the meta object for class '<em>Typed Star Argument</em>'.
2237 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
2238 * @generated
2239 */
2240 EClass getTypedStarArgument();
2241
2242 /**
2243 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}'.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @return the meta object for the reference '<em>Type</em>'.
2247 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType()
2248 * @see #getTypedStarArgument()
2249 * @generated
2250 */
2251 EReference getTypedStarArgument_Type();
2252
2253 /**
2254 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
2255 * <!-- begin-user-doc -->
2256 * <!-- end-user-doc -->
2257 * @return the meta object for class '<em>Reference</em>'.
2258 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
2259 * @generated
2260 */
2261 EClass getReference();
2262
2263 /**
2264 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}'.
2265 * <!-- begin-user-doc -->
2266 * <!-- end-user-doc -->
2267 * @return the meta object for the reference '<em>Referred</em>'.
2268 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred()
2269 * @see #getReference()
2270 * @generated
2271 */
2272 EReference getReference_Referred();
2273
2274 /**
2275 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
2276 * <!-- begin-user-doc -->
2277 * <!-- end-user-doc -->
2278 * @return the meta object for class '<em>Interval</em>'.
2279 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
2280 * @generated
2281 */
2282 EClass getInterval();
2283
2284 /**
2285 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}'.
2286 * <!-- begin-user-doc -->
2287 * <!-- end-user-doc -->
2288 * @return the meta object for the containment reference '<em>Lower Bound</em>'.
2289 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound()
2290 * @see #getInterval()
2291 * @generated
2292 */
2293 EReference getInterval_LowerBound();
2294
2295 /**
2296 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}'.
2297 * <!-- begin-user-doc -->
2298 * <!-- end-user-doc -->
2299 * @return the meta object for the containment reference '<em>Upper Bound</em>'.
2300 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound()
2301 * @see #getInterval()
2302 * @generated
2303 */
2304 EReference getInterval_UpperBound();
2305
2306 /**
2307 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
2308 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc -->
2310 * @return the meta object for class '<em>Literal</em>'.
2311 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
2312 * @generated
2313 */
2314 EClass getLiteral();
2315
2316 /**
2317 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
2318 * <!-- begin-user-doc -->
2319 * <!-- end-user-doc -->
2320 * @return the meta object for class '<em>Logic Literal</em>'.
2321 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
2322 * @generated
2323 */
2324 EClass getLogicLiteral();
2325
2326 /**
2327 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}'.
2328 * <!-- begin-user-doc -->
2329 * <!-- end-user-doc -->
2330 * @return the meta object for the attribute '<em>Value</em>'.
2331 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue()
2332 * @see #getLogicLiteral()
2333 * @generated
2334 */
2335 EAttribute getLogicLiteral_Value();
2336
2337 /**
2338 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
2339 * <!-- begin-user-doc -->
2340 * <!-- end-user-doc -->
2341 * @return the meta object for class '<em>Numeric Literal</em>'.
2342 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
2343 * @generated
2344 */
2345 EClass getNumericLiteral();
2346
2347 /**
2348 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}'.
2349 * <!-- begin-user-doc -->
2350 * <!-- end-user-doc -->
2351 * @return the meta object for the attribute '<em>Value</em>'.
2352 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue()
2353 * @see #getNumericLiteral()
2354 * @generated
2355 */
2356 EAttribute getNumericLiteral_Value();
2357
2358 /**
2359 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
2360 * <!-- begin-user-doc -->
2361 * <!-- end-user-doc -->
2362 * @return the meta object for class '<em>Infinity Literal</em>'.
2363 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
2364 * @generated
2365 */
2366 EClass getInfinityLiteral();
2367
2368 /**
2369 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
2370 * <!-- begin-user-doc -->
2371 * <!-- end-user-doc -->
2372 * @return the meta object for class '<em>Empty Interval Literal</em>'.
2373 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
2374 * @generated
2375 */
2376 EClass getEmptyIntervalLiteral();
2377
2378 /**
2379 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
2380 * <!-- begin-user-doc -->
2381 * <!-- end-user-doc -->
2382 * @return the meta object for class '<em>String Literal</em>'.
2383 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
2384 * @generated
2385 */
2386 EClass getStringLiteral();
2387
2388 /**
2389 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}'.
2390 * <!-- begin-user-doc -->
2391 * <!-- end-user-doc -->
2392 * @return the meta object for the attribute '<em>Value</em>'.
2393 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue()
2394 * @see #getStringLiteral()
2395 * @generated
2396 */
2397 EAttribute getStringLiteral_Value();
2398
2399 /**
2400 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
2401 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc -->
2403 * @return the meta object for class '<em>Class Definition</em>'.
2404 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
2405 * @generated
2406 */
2407 EClass getClassDefinition();
2408
2409 /**
2410 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}'.
2411 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc -->
2413 * @return the meta object for the attribute '<em>Abstract</em>'.
2414 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract()
2415 * @see #getClassDefinition()
2416 * @generated
2417 */
2418 EAttribute getClassDefinition_Abstract();
2419
2420 /**
2421 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}'.
2422 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc -->
2424 * @return the meta object for the attribute '<em>Name</em>'.
2425 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName()
2426 * @see #getClassDefinition()
2427 * @generated
2428 */
2429 EAttribute getClassDefinition_Name();
2430
2431 /**
2432 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}'.
2433 * <!-- begin-user-doc -->
2434 * <!-- end-user-doc -->
2435 * @return the meta object for the reference list '<em>Superclasses</em>'.
2436 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses()
2437 * @see #getClassDefinition()
2438 * @generated
2439 */
2440 EReference getClassDefinition_Superclasses();
2441
2442 /**
2443 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}'.
2444 * <!-- begin-user-doc -->
2445 * <!-- end-user-doc -->
2446 * @return the meta object for the containment reference list '<em>Members</em>'.
2447 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers()
2448 * @see #getClassDefinition()
2449 * @generated
2450 */
2451 EReference getClassDefinition_Members();
2452
2453 /**
2454 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
2455 * <!-- begin-user-doc -->
2456 * <!-- end-user-doc -->
2457 * @return the meta object for class '<em>Member Definition</em>'.
2458 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
2459 * @generated
2460 */
2461 EClass getMemberDefinition();
2462
2463 /**
2464 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}'.
2465 * <!-- begin-user-doc -->
2466 * <!-- end-user-doc -->
2467 * @return the meta object for the attribute '<em>Containment</em>'.
2468 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment()
2469 * @see #getMemberDefinition()
2470 * @generated
2471 */
2472 EAttribute getMemberDefinition_Containment();
2473
2474 /**
2475 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}'.
2476 * <!-- begin-user-doc -->
2477 * <!-- end-user-doc -->
2478 * @return the meta object for the reference '<em>Type</em>'.
2479 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType()
2480 * @see #getMemberDefinition()
2481 * @generated
2482 */
2483 EReference getMemberDefinition_Type();
2484
2485 /**
2486 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}'.
2487 * <!-- begin-user-doc -->
2488 * <!-- end-user-doc -->
2489 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
2490 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity()
2491 * @see #getMemberDefinition()
2492 * @generated
2493 */
2494 EReference getMemberDefinition_Multiplicity();
2495
2496 /**
2497 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}'.
2498 * <!-- begin-user-doc -->
2499 * <!-- end-user-doc -->
2500 * @return the meta object for the attribute '<em>Name</em>'.
2501 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName()
2502 * @see #getMemberDefinition()
2503 * @generated
2504 */
2505 EAttribute getMemberDefinition_Name();
2506
2507 /**
2508 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}'.
2509 * <!-- begin-user-doc -->
2510 * <!-- end-user-doc -->
2511 * @return the meta object for the reference '<em>Opposite</em>'.
2512 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite()
2513 * @see #getMemberDefinition()
2514 * @generated
2515 */
2516 EReference getMemberDefinition_Opposite();
2517
2518 /**
2519 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
2520 * <!-- begin-user-doc -->
2521 * <!-- end-user-doc -->
2522 * @return the meta object for class '<em>Multiplicity</em>'.
2523 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
2524 * @generated
2525 */
2526 EClass getMultiplicity();
2527
2528 /**
2529 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
2530 * <!-- begin-user-doc -->
2531 * <!-- end-user-doc -->
2532 * @return the meta object for class '<em>Many Multiplicity</em>'.
2533 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
2534 * @generated
2535 */
2536 EClass getManyMultiplicity();
2537
2538 /**
2539 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
2540 * <!-- begin-user-doc -->
2541 * <!-- end-user-doc -->
2542 * @return the meta object for class '<em>Exact Multiplicity</em>'.
2543 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
2544 * @generated
2545 */
2546 EClass getExactMultiplicity();
2547
2548 /**
2549 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}'.
2550 * <!-- begin-user-doc -->
2551 * <!-- end-user-doc -->
2552 * @return the meta object for the attribute '<em>Multiplicity</em>'.
2553 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity()
2554 * @see #getExactMultiplicity()
2555 * @generated
2556 */
2557 EAttribute getExactMultiplicity_Multiplicity();
2558
2559 /**
2560 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
2561 * <!-- begin-user-doc -->
2562 * <!-- end-user-doc -->
2563 * @return the meta object for class '<em>Bounded Multiplicity</em>'.
2564 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
2565 * @generated
2566 */
2567 EClass getBoundedMultiplicity();
2568
2569 /**
2570 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}'.
2571 * <!-- begin-user-doc -->
2572 * <!-- end-user-doc -->
2573 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2574 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound()
2575 * @see #getBoundedMultiplicity()
2576 * @generated
2577 */
2578 EAttribute getBoundedMultiplicity_LowerBound();
2579
2580 /**
2581 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}'.
2582 * <!-- begin-user-doc -->
2583 * <!-- end-user-doc -->
2584 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2585 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound()
2586 * @see #getBoundedMultiplicity()
2587 * @generated
2588 */
2589 EAttribute getBoundedMultiplicity_UpperBound();
2590
2591 /**
2592 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
2593 * <!-- begin-user-doc -->
2594 * <!-- end-user-doc -->
2595 * @return the meta object for class '<em>Scope Definition</em>'.
2596 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
2597 * @generated
2598 */
2599 EClass getScopeDefinition();
2600
2601 /**
2602 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}'.
2603 * <!-- begin-user-doc -->
2604 * <!-- end-user-doc -->
2605 * @return the meta object for the reference '<em>Type</em>'.
2606 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType()
2607 * @see #getScopeDefinition()
2608 * @generated
2609 */
2610 EReference getScopeDefinition_Type();
2611
2612 /**
2613 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
2614 * <!-- begin-user-doc -->
2615 * <!-- end-user-doc -->
2616 * @return the meta object for class '<em>Exact Scope Definition</em>'.
2617 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
2618 * @generated
2619 */
2620 EClass getExactScopeDefinition();
2621
2622 /**
2623 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}'.
2624 * <!-- begin-user-doc -->
2625 * <!-- end-user-doc -->
2626 * @return the meta object for the attribute '<em>Exact Scope</em>'.
2627 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope()
2628 * @see #getExactScopeDefinition()
2629 * @generated
2630 */
2631 EAttribute getExactScopeDefinition_ExactScope();
2632
2633 /**
2634 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
2635 * <!-- begin-user-doc -->
2636 * <!-- end-user-doc -->
2637 * @return the meta object for class '<em>Bounded Scope Definition</em>'.
2638 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
2639 * @generated
2640 */
2641 EClass getBoundedScopeDefinition();
2642
2643 /**
2644 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2645 * <!-- begin-user-doc -->
2646 * <!-- end-user-doc -->
2647 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2648 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound()
2649 * @see #getBoundedScopeDefinition()
2650 * @generated
2651 */
2652 EAttribute getBoundedScopeDefinition_LowerBound();
2653
2654 /**
2655 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}'.
2656 * <!-- begin-user-doc -->
2657 * <!-- end-user-doc -->
2658 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2659 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound()
2660 * @see #getBoundedScopeDefinition()
2661 * @generated
2662 */
2663 EAttribute getBoundedScopeDefinition_UpperBound();
2664
2665 /**
2666 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
2667 * <!-- begin-user-doc -->
2668 * <!-- end-user-doc -->
2669 * @return the meta object for class '<em>Lower Bounded Scope Definition</em>'.
2670 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
2671 * @generated
2672 */
2673 EClass getLowerBoundedScopeDefinition();
2674
2675 /**
2676 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2677 * <!-- begin-user-doc -->
2678 * <!-- end-user-doc -->
2679 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2680 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound()
2681 * @see #getLowerBoundedScopeDefinition()
2682 * @generated
2683 */
2684 EAttribute getLowerBoundedScopeDefinition_LowerBound();
2685
2686 /**
2687 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
2688 * <!-- begin-user-doc -->
2689 * <!-- end-user-doc -->
2690 * @return the meta object for class '<em>Objective Definition</em>'.
2691 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
2692 * @generated
2693 */
2694 EClass getObjectiveDefinition();
2695
2696 /**
2697 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}'.
2698 * <!-- begin-user-doc -->
2699 * <!-- end-user-doc -->
2700 * @return the meta object for the attribute '<em>Kind</em>'.
2701 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind()
2702 * @see #getObjectiveDefinition()
2703 * @generated
2704 */
2705 EAttribute getObjectiveDefinition_Kind();
2706
2707 /**
2708 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}'.
2709 * <!-- begin-user-doc -->
2710 * <!-- end-user-doc -->
2711 * @return the meta object for the containment reference '<em>Objective</em>'.
2712 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective()
2713 * @see #getObjectiveDefinition()
2714 * @generated
2715 */
2716 EReference getObjectiveDefinition_Objective();
2717
2718 /**
2719 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
2720 * <!-- begin-user-doc -->
2721 * <!-- end-user-doc -->
2722 * @return the meta object for class '<em>Named Element</em>'.
2723 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
2724 * @generated
2725 */
2726 EClass getNamedElement();
2727
2728 /**
2729 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}'.
2730 * <!-- begin-user-doc -->
2731 * <!-- end-user-doc -->
2732 * @return the meta object for the attribute '<em>Name</em>'.
2733 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName()
2734 * @see #getNamedElement()
2735 * @generated
2736 */
2737 EAttribute getNamedElement_Name();
2738
2739 /**
2740 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
2741 * <!-- begin-user-doc -->
2742 * <!-- end-user-doc -->
2743 * @return the meta object for class '<em>Assertion</em>'.
2744 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
2745 * @generated
2746 */
2747 EClass getAssertion();
2748
2749 /**
2750 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}'.
2751 * <!-- begin-user-doc -->
2752 * <!-- end-user-doc -->
2753 * @return the meta object for the containment reference '<em>Body</em>'.
2754 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody()
2755 * @see #getAssertion()
2756 * @generated
2757 */
2758 EReference getAssertion_Body();
2759
2760 /**
2761 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}'.
2762 * <!-- begin-user-doc -->
2763 * <!-- end-user-doc -->
2764 * @return the meta object for the containment reference '<em>Range</em>'.
2765 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange()
2766 * @see #getAssertion()
2767 * @generated
2768 */
2769 EReference getAssertion_Range();
2770
2771 /**
2772 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
2773 * <!-- begin-user-doc -->
2774 * <!-- end-user-doc -->
2775 * @return the meta object for class '<em>Disjunction</em>'.
2776 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
2777 * @generated
2778 */
2779 EClass getDisjunction();
2780
2781 /**
2782 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}'.
2783 * <!-- begin-user-doc -->
2784 * <!-- end-user-doc -->
2785 * @return the meta object for the containment reference list '<em>Children</em>'.
2786 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren()
2787 * @see #getDisjunction()
2788 * @generated
2789 */
2790 EReference getDisjunction_Children();
2791
2792 /**
2793 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
2794 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc -->
2796 * @return the meta object for class '<em>Switch</em>'.
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
2798 * @generated
2799 */
2800 EClass getSwitch();
2801
2802 /**
2803 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}'.
2804 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc -->
2806 * @return the meta object for the containment reference list '<em>Cases</em>'.
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases()
2808 * @see #getSwitch()
2809 * @generated
2810 */
2811 EReference getSwitch_Cases();
2812
2813 /**
2814 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
2815 * <!-- begin-user-doc -->
2816 * <!-- end-user-doc -->
2817 * @return the meta object for class '<em>Conjunction</em>'.
2818 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
2819 * @generated
2820 */
2821 EClass getConjunction();
2822
2823 /**
2824 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}'.
2825 * <!-- begin-user-doc -->
2826 * <!-- end-user-doc -->
2827 * @return the meta object for the containment reference list '<em>Children</em>'.
2828 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren()
2829 * @see #getConjunction()
2830 * @generated
2831 */
2832 EReference getConjunction_Children();
2833
2834 /**
2835 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
2836 * <!-- begin-user-doc -->
2837 * <!-- end-user-doc -->
2838 * @return the meta object for class '<em>Comparison</em>'.
2839 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
2840 * @generated
2841 */
2842 EClass getComparison();
2843
2844 /**
2845 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}'.
2846 * <!-- begin-user-doc -->
2847 * <!-- end-user-doc -->
2848 * @return the meta object for the containment reference '<em>Left</em>'.
2849 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft()
2850 * @see #getComparison()
2851 * @generated
2852 */
2853 EReference getComparison_Left();
2854
2855 /**
2856 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}'.
2857 * <!-- begin-user-doc -->
2858 * <!-- end-user-doc -->
2859 * @return the meta object for the attribute '<em>Op</em>'.
2860 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp()
2861 * @see #getComparison()
2862 * @generated
2863 */
2864 EAttribute getComparison_Op();
2865
2866 /**
2867 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}'.
2868 * <!-- begin-user-doc -->
2869 * <!-- end-user-doc -->
2870 * @return the meta object for the containment reference '<em>Right</em>'.
2871 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight()
2872 * @see #getComparison()
2873 * @generated
2874 */
2875 EReference getComparison_Right();
2876
2877 /**
2878 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
2879 * <!-- begin-user-doc -->
2880 * <!-- end-user-doc -->
2881 * @return the meta object for class '<em>Binary Expression</em>'.
2882 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
2883 * @generated
2884 */
2885 EClass getBinaryExpression();
2886
2887 /**
2888 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}'.
2889 * <!-- begin-user-doc -->
2890 * <!-- end-user-doc -->
2891 * @return the meta object for the containment reference '<em>Left</em>'.
2892 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft()
2893 * @see #getBinaryExpression()
2894 * @generated
2895 */
2896 EReference getBinaryExpression_Left();
2897
2898 /**
2899 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}'.
2900 * <!-- begin-user-doc -->
2901 * <!-- end-user-doc -->
2902 * @return the meta object for the attribute '<em>Op</em>'.
2903 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp()
2904 * @see #getBinaryExpression()
2905 * @generated
2906 */
2907 EAttribute getBinaryExpression_Op();
2908
2909 /**
2910 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}'.
2911 * <!-- begin-user-doc -->
2912 * <!-- end-user-doc -->
2913 * @return the meta object for the containment reference '<em>Right</em>'.
2914 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight()
2915 * @see #getBinaryExpression()
2916 * @generated
2917 */
2918 EReference getBinaryExpression_Right();
2919
2920 /**
2921 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
2922 * <!-- begin-user-doc -->
2923 * <!-- end-user-doc -->
2924 * @return the meta object for class '<em>Unary Expression</em>'.
2925 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
2926 * @generated
2927 */
2928 EClass getUnaryExpression();
2929
2930 /**
2931 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}'.
2932 * <!-- begin-user-doc -->
2933 * <!-- end-user-doc -->
2934 * @return the meta object for the attribute '<em>Op</em>'.
2935 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp()
2936 * @see #getUnaryExpression()
2937 * @generated
2938 */
2939 EAttribute getUnaryExpression_Op();
2940
2941 /**
2942 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}'.
2943 * <!-- begin-user-doc -->
2944 * <!-- end-user-doc -->
2945 * @return the meta object for the containment reference '<em>Body</em>'.
2946 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody()
2947 * @see #getUnaryExpression()
2948 * @generated
2949 */
2950 EReference getUnaryExpression_Body();
2951
2952 /**
2953 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}'.
2954 * <!-- begin-user-doc -->
2955 * <!-- end-user-doc -->
2956 * @return the meta object for enum '<em>Metric Type</em>'.
2957 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2958 * @generated
2959 */
2960 EEnum getMetricType();
2961
2962 /**
2963 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}'.
2964 * <!-- begin-user-doc -->
2965 * <!-- end-user-doc -->
2966 * @return the meta object for enum '<em>Binary Operator</em>'.
2967 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2968 * @generated
2969 */
2970 EEnum getBinaryOperator();
2971
2972 /**
2973 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}'.
2974 * <!-- begin-user-doc -->
2975 * <!-- end-user-doc -->
2976 * @return the meta object for enum '<em>Unary Op</em>'.
2977 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2978 * @generated
2979 */
2980 EEnum getUnaryOp();
2981
2982 /**
2983 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}'.
2984 * <!-- begin-user-doc -->
2985 * <!-- end-user-doc -->
2986 * @return the meta object for enum '<em>Aggregation Op</em>'.
2987 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2988 * @generated
2989 */
2990 EEnum getAggregationOp();
2991
2992 /**
2993 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}'.
2994 * <!-- begin-user-doc -->
2995 * <!-- end-user-doc -->
2996 * @return the meta object for enum '<em>Logic Value</em>'.
2997 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2998 * @generated
2999 */
3000 EEnum getLogicValue();
3001
3002 /**
3003 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}'.
3004 * <!-- begin-user-doc -->
3005 * <!-- end-user-doc -->
3006 * @return the meta object for enum '<em>Objective Kind</em>'.
3007 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
3008 * @generated
3009 */
3010 EEnum getObjectiveKind();
3011
3012 /**
3013 * Returns the factory that creates the instances of the model.
3014 * <!-- begin-user-doc -->
3015 * <!-- end-user-doc -->
3016 * @return the factory that creates the instances of the model.
3017 * @generated
3018 */
3019 SolverLanguageFactory getSolverLanguageFactory();
3020
3021 /**
3022 * <!-- begin-user-doc -->
3023 * Defines literals for the meta objects that represent
3024 * <ul>
3025 * <li>each class,</li>
3026 * <li>each feature of each class,</li>
3027 * <li>each enum,</li>
3028 * <li>and each data type</li>
3029 * </ul>
3030 * <!-- end-user-doc -->
3031 * @generated
3032 */
3033 interface Literals
3034 {
3035 /**
3036 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
3037 * <!-- begin-user-doc -->
3038 * <!-- end-user-doc -->
3039 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
3040 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
3041 * @generated
3042 */
3043 EClass PROBLEM = eINSTANCE.getProblem();
3044
3045 /**
3046 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
3047 * <!-- begin-user-doc -->
3048 * <!-- end-user-doc -->
3049 * @generated
3050 */
3051 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
3052
3053 /**
3054 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
3055 * <!-- begin-user-doc -->
3056 * <!-- end-user-doc -->
3057 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
3058 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
3059 * @generated
3060 */
3061 EClass STATEMENT = eINSTANCE.getStatement();
3062
3063 /**
3064 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
3065 * <!-- begin-user-doc -->
3066 * <!-- end-user-doc -->
3067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
3068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
3069 * @generated
3070 */
3071 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
3072
3073 /**
3074 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3075 * <!-- begin-user-doc -->
3076 * <!-- end-user-doc -->
3077 * @generated
3078 */
3079 EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head();
3080
3081 /**
3082 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3083 * <!-- begin-user-doc -->
3084 * <!-- end-user-doc -->
3085 * @generated
3086 */
3087 EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body();
3088
3089 /**
3090 * The meta object literal for the '<em><b>Functional</b></em>' attribute feature.
3091 * <!-- begin-user-doc -->
3092 * <!-- end-user-doc -->
3093 * @generated
3094 */
3095 EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional();
3096
3097 /**
3098 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
3099 * <!-- begin-user-doc -->
3100 * <!-- end-user-doc -->
3101 * @generated
3102 */
3103 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
3104
3105 /**
3106 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
3107 * <!-- begin-user-doc -->
3108 * <!-- end-user-doc -->
3109 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
3110 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
3111 * @generated
3112 */
3113 EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition();
3114
3115 /**
3116 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3117 * <!-- begin-user-doc -->
3118 * <!-- end-user-doc -->
3119 * @generated
3120 */
3121 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList();
3122
3123 /**
3124 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3125 * <!-- begin-user-doc -->
3126 * <!-- end-user-doc -->
3127 * @generated
3128 */
3129 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body();
3130
3131 /**
3132 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
3133 * <!-- begin-user-doc -->
3134 * <!-- end-user-doc -->
3135 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
3136 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
3137 * @generated
3138 */
3139 EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition();
3140
3141 /**
3142 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3143 * <!-- begin-user-doc -->
3144 * <!-- end-user-doc -->
3145 * @generated
3146 */
3147 EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head();
3148
3149 /**
3150 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3151 * <!-- begin-user-doc -->
3152 * <!-- end-user-doc -->
3153 * @generated
3154 */
3155 EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range();
3156
3157 /**
3158 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
3159 * <!-- begin-user-doc -->
3160 * <!-- end-user-doc -->
3161 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
3162 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
3163 * @generated
3164 */
3165 EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition();
3166
3167 /**
3168 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3169 * <!-- begin-user-doc -->
3170 * <!-- end-user-doc -->
3171 * @generated
3172 */
3173 EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head();
3174
3175 /**
3176 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
3177 * <!-- begin-user-doc -->
3178 * <!-- end-user-doc -->
3179 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
3180 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
3181 * @generated
3182 */
3183 EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition();
3184
3185 /**
3186 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3187 * <!-- begin-user-doc -->
3188 * <!-- end-user-doc -->
3189 * @generated
3190 */
3191 EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head();
3192
3193 /**
3194 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3195 * <!-- begin-user-doc -->
3196 * <!-- end-user-doc -->
3197 * @generated
3198 */
3199 EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body();
3200
3201 /**
3202 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
3203 * <!-- begin-user-doc -->
3204 * <!-- end-user-doc -->
3205 * @generated
3206 */
3207 EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type();
3208
3209 /**
3210 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
3211 * <!-- begin-user-doc -->
3212 * <!-- end-user-doc -->
3213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
3214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
3215 * @generated
3216 */
3217 EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition();
3218
3219 /**
3220 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
3221 * <!-- begin-user-doc -->
3222 * <!-- end-user-doc -->
3223 * @generated
3224 */
3225 EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type();
3226
3227 /**
3228 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3229 * <!-- begin-user-doc -->
3230 * <!-- end-user-doc -->
3231 * @generated
3232 */
3233 EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head();
3234
3235 /**
3236 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
3237 * <!-- begin-user-doc -->
3238 * <!-- end-user-doc -->
3239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
3240 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
3241 * @generated
3242 */
3243 EClass EXPRESSION = eINSTANCE.getExpression();
3244
3245 /**
3246 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
3247 * <!-- begin-user-doc -->
3248 * <!-- end-user-doc -->
3249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
3250 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
3251 * @generated
3252 */
3253 EClass IF_ELSE = eINSTANCE.getIfElse();
3254
3255 /**
3256 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3257 * <!-- begin-user-doc -->
3258 * <!-- end-user-doc -->
3259 * @generated
3260 */
3261 EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition();
3262
3263 /**
3264 * The meta object literal for the '<em><b>Then</b></em>' containment reference feature.
3265 * <!-- begin-user-doc -->
3266 * <!-- end-user-doc -->
3267 * @generated
3268 */
3269 EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then();
3270
3271 /**
3272 * The meta object literal for the '<em><b>Else</b></em>' containment reference feature.
3273 * <!-- begin-user-doc -->
3274 * <!-- end-user-doc -->
3275 * @generated
3276 */
3277 EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else();
3278
3279 /**
3280 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
3281 * <!-- begin-user-doc -->
3282 * <!-- end-user-doc -->
3283 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
3284 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
3285 * @generated
3286 */
3287 EClass CASE = eINSTANCE.getCase();
3288
3289 /**
3290 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3291 * <!-- begin-user-doc -->
3292 * <!-- end-user-doc -->
3293 * @generated
3294 */
3295 EReference CASE__CONDITION = eINSTANCE.getCase_Condition();
3296
3297 /**
3298 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3299 * <!-- begin-user-doc -->
3300 * <!-- end-user-doc -->
3301 * @generated
3302 */
3303 EReference CASE__BODY = eINSTANCE.getCase_Body();
3304
3305 /**
3306 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
3307 * <!-- begin-user-doc -->
3308 * <!-- end-user-doc -->
3309 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
3310 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
3311 * @generated
3312 */
3313 EClass COUNT = eINSTANCE.getCount();
3314
3315 /**
3316 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3317 * <!-- begin-user-doc -->
3318 * <!-- end-user-doc -->
3319 * @generated
3320 */
3321 EReference COUNT__BODY = eINSTANCE.getCount_Body();
3322
3323 /**
3324 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
3325 * <!-- begin-user-doc -->
3326 * <!-- end-user-doc -->
3327 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
3328 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
3329 * @generated
3330 */
3331 EClass AGGREGATION = eINSTANCE.getAggregation();
3332
3333 /**
3334 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3335 * <!-- begin-user-doc -->
3336 * <!-- end-user-doc -->
3337 * @generated
3338 */
3339 EAttribute AGGREGATION__OP = eINSTANCE.getAggregation_Op();
3340
3341 /**
3342 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3343 * <!-- begin-user-doc -->
3344 * <!-- end-user-doc -->
3345 * @generated
3346 */
3347 EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body();
3348
3349 /**
3350 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3351 * <!-- begin-user-doc -->
3352 * <!-- end-user-doc -->
3353 * @generated
3354 */
3355 EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition();
3356
3357 /**
3358 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
3359 * <!-- begin-user-doc -->
3360 * <!-- end-user-doc -->
3361 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
3362 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
3363 * @generated
3364 */
3365 EClass CALL = eINSTANCE.getCall();
3366
3367 /**
3368 * The meta object literal for the '<em><b>Functor</b></em>' containment reference feature.
3369 * <!-- begin-user-doc -->
3370 * <!-- end-user-doc -->
3371 * @generated
3372 */
3373 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
3374
3375 /**
3376 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
3377 * <!-- begin-user-doc -->
3378 * <!-- end-user-doc -->
3379 * @generated
3380 */
3381 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
3382
3383 /**
3384 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
3385 * <!-- begin-user-doc -->
3386 * <!-- end-user-doc -->
3387 * @generated
3388 */
3389 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
3390
3391 /**
3392 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3393 * <!-- begin-user-doc -->
3394 * <!-- end-user-doc -->
3395 * @generated
3396 */
3397 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
3398
3399 /**
3400 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
3401 * <!-- begin-user-doc -->
3402 * <!-- end-user-doc -->
3403 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
3404 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
3405 * @generated
3406 */
3407 EClass ARGUMENT_LIST = eINSTANCE.getArgumentList();
3408
3409 /**
3410 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
3411 * <!-- begin-user-doc -->
3412 * <!-- end-user-doc -->
3413 * @generated
3414 */
3415 EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments();
3416
3417 /**
3418 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
3419 * <!-- begin-user-doc -->
3420 * <!-- end-user-doc -->
3421 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
3422 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
3423 * @generated
3424 */
3425 EClass ARGUMENT = eINSTANCE.getArgument();
3426
3427 /**
3428 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
3429 * <!-- begin-user-doc -->
3430 * <!-- end-user-doc -->
3431 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
3432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
3433 * @generated
3434 */
3435 EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument();
3436
3437 /**
3438 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3439 * <!-- begin-user-doc -->
3440 * <!-- end-user-doc -->
3441 * @generated
3442 */
3443 EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body();
3444
3445 /**
3446 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
3447 * <!-- begin-user-doc -->
3448 * <!-- end-user-doc -->
3449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
3450 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
3451 * @generated
3452 */
3453 EClass STAR_ARGUMENT = eINSTANCE.getStarArgument();
3454
3455 /**
3456 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
3457 * <!-- begin-user-doc -->
3458 * <!-- end-user-doc -->
3459 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
3460 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
3461 * @generated
3462 */
3463 EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument();
3464
3465 /**
3466 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3467 * <!-- begin-user-doc -->
3468 * <!-- end-user-doc -->
3469 * @generated
3470 */
3471 EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type();
3472
3473 /**
3474 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
3475 * <!-- begin-user-doc -->
3476 * <!-- end-user-doc -->
3477 * @generated
3478 */
3479 EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable();
3480
3481 /**
3482 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
3483 * <!-- begin-user-doc -->
3484 * <!-- end-user-doc -->
3485 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
3486 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
3487 * @generated
3488 */
3489 EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument();
3490
3491 /**
3492 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3493 * <!-- begin-user-doc -->
3494 * <!-- end-user-doc -->
3495 * @generated
3496 */
3497 EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type();
3498
3499 /**
3500 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
3501 * <!-- begin-user-doc -->
3502 * <!-- end-user-doc -->
3503 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
3504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
3505 * @generated
3506 */
3507 EClass REFERENCE = eINSTANCE.getReference();
3508
3509 /**
3510 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
3511 * <!-- begin-user-doc -->
3512 * <!-- end-user-doc -->
3513 * @generated
3514 */
3515 EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred();
3516
3517 /**
3518 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
3519 * <!-- begin-user-doc -->
3520 * <!-- end-user-doc -->
3521 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
3522 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
3523 * @generated
3524 */
3525 EClass INTERVAL = eINSTANCE.getInterval();
3526
3527 /**
3528 * The meta object literal for the '<em><b>Lower Bound</b></em>' containment reference feature.
3529 * <!-- begin-user-doc -->
3530 * <!-- end-user-doc -->
3531 * @generated
3532 */
3533 EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound();
3534
3535 /**
3536 * The meta object literal for the '<em><b>Upper Bound</b></em>' containment reference feature.
3537 * <!-- begin-user-doc -->
3538 * <!-- end-user-doc -->
3539 * @generated
3540 */
3541 EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound();
3542
3543 /**
3544 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
3545 * <!-- begin-user-doc -->
3546 * <!-- end-user-doc -->
3547 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
3548 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
3549 * @generated
3550 */
3551 EClass LITERAL = eINSTANCE.getLiteral();
3552
3553 /**
3554 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
3555 * <!-- begin-user-doc -->
3556 * <!-- end-user-doc -->
3557 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
3558 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
3559 * @generated
3560 */
3561 EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral();
3562
3563 /**
3564 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3565 * <!-- begin-user-doc -->
3566 * <!-- end-user-doc -->
3567 * @generated
3568 */
3569 EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value();
3570
3571 /**
3572 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
3573 * <!-- begin-user-doc -->
3574 * <!-- end-user-doc -->
3575 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
3576 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
3577 * @generated
3578 */
3579 EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral();
3580
3581 /**
3582 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3583 * <!-- begin-user-doc -->
3584 * <!-- end-user-doc -->
3585 * @generated
3586 */
3587 EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value();
3588
3589 /**
3590 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
3591 * <!-- begin-user-doc -->
3592 * <!-- end-user-doc -->
3593 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
3594 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
3595 * @generated
3596 */
3597 EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral();
3598
3599 /**
3600 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
3601 * <!-- begin-user-doc -->
3602 * <!-- end-user-doc -->
3603 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
3604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
3605 * @generated
3606 */
3607 EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral();
3608
3609 /**
3610 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
3611 * <!-- begin-user-doc -->
3612 * <!-- end-user-doc -->
3613 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
3614 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
3615 * @generated
3616 */
3617 EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
3618
3619 /**
3620 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3621 * <!-- begin-user-doc -->
3622 * <!-- end-user-doc -->
3623 * @generated
3624 */
3625 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
3626
3627 /**
3628 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
3629 * <!-- begin-user-doc -->
3630 * <!-- end-user-doc -->
3631 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
3632 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
3633 * @generated
3634 */
3635 EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition();
3636
3637 /**
3638 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
3639 * <!-- begin-user-doc -->
3640 * <!-- end-user-doc -->
3641 * @generated
3642 */
3643 EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract();
3644
3645 /**
3646 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3647 * <!-- begin-user-doc -->
3648 * <!-- end-user-doc -->
3649 * @generated
3650 */
3651 EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name();
3652
3653 /**
3654 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
3655 * <!-- begin-user-doc -->
3656 * <!-- end-user-doc -->
3657 * @generated
3658 */
3659 EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses();
3660
3661 /**
3662 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
3663 * <!-- begin-user-doc -->
3664 * <!-- end-user-doc -->
3665 * @generated
3666 */
3667 EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members();
3668
3669 /**
3670 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
3671 * <!-- begin-user-doc -->
3672 * <!-- end-user-doc -->
3673 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
3674 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
3675 * @generated
3676 */
3677 EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition();
3678
3679 /**
3680 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
3681 * <!-- begin-user-doc -->
3682 * <!-- end-user-doc -->
3683 * @generated
3684 */
3685 EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment();
3686
3687 /**
3688 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3689 * <!-- begin-user-doc -->
3690 * <!-- end-user-doc -->
3691 * @generated
3692 */
3693 EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type();
3694
3695 /**
3696 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
3697 * <!-- begin-user-doc -->
3698 * <!-- end-user-doc -->
3699 * @generated
3700 */
3701 EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity();
3702
3703 /**
3704 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3705 * <!-- begin-user-doc -->
3706 * <!-- end-user-doc -->
3707 * @generated
3708 */
3709 EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name();
3710
3711 /**
3712 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
3713 * <!-- begin-user-doc -->
3714 * <!-- end-user-doc -->
3715 * @generated
3716 */
3717 EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite();
3718
3719 /**
3720 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
3721 * <!-- begin-user-doc -->
3722 * <!-- end-user-doc -->
3723 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
3724 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
3725 * @generated
3726 */
3727 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
3728
3729 /**
3730 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
3731 * <!-- begin-user-doc -->
3732 * <!-- end-user-doc -->
3733 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
3734 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
3735 * @generated
3736 */
3737 EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity();
3738
3739 /**
3740 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
3741 * <!-- begin-user-doc -->
3742 * <!-- end-user-doc -->
3743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
3744 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
3745 * @generated
3746 */
3747 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
3748
3749 /**
3750 * The meta object literal for the '<em><b>Multiplicity</b></em>' attribute feature.
3751 * <!-- begin-user-doc -->
3752 * <!-- end-user-doc -->
3753 * @generated
3754 */
3755 EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity();
3756
3757 /**
3758 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
3759 * <!-- begin-user-doc -->
3760 * <!-- end-user-doc -->
3761 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
3762 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
3763 * @generated
3764 */
3765 EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity();
3766
3767 /**
3768 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3769 * <!-- begin-user-doc -->
3770 * <!-- end-user-doc -->
3771 * @generated
3772 */
3773 EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound();
3774
3775 /**
3776 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3777 * <!-- begin-user-doc -->
3778 * <!-- end-user-doc -->
3779 * @generated
3780 */
3781 EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound();
3782
3783 /**
3784 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
3785 * <!-- begin-user-doc -->
3786 * <!-- end-user-doc -->
3787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
3788 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
3789 * @generated
3790 */
3791 EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition();
3792
3793 /**
3794 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3795 * <!-- begin-user-doc -->
3796 * <!-- end-user-doc -->
3797 * @generated
3798 */
3799 EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type();
3800
3801 /**
3802 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
3803 * <!-- begin-user-doc -->
3804 * <!-- end-user-doc -->
3805 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
3806 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
3807 * @generated
3808 */
3809 EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition();
3810
3811 /**
3812 * The meta object literal for the '<em><b>Exact Scope</b></em>' attribute feature.
3813 * <!-- begin-user-doc -->
3814 * <!-- end-user-doc -->
3815 * @generated
3816 */
3817 EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope();
3818
3819 /**
3820 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
3821 * <!-- begin-user-doc -->
3822 * <!-- end-user-doc -->
3823 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
3824 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
3825 * @generated
3826 */
3827 EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition();
3828
3829 /**
3830 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3831 * <!-- begin-user-doc -->
3832 * <!-- end-user-doc -->
3833 * @generated
3834 */
3835 EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound();
3836
3837 /**
3838 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3839 * <!-- begin-user-doc -->
3840 * <!-- end-user-doc -->
3841 * @generated
3842 */
3843 EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound();
3844
3845 /**
3846 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
3847 * <!-- begin-user-doc -->
3848 * <!-- end-user-doc -->
3849 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
3850 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
3851 * @generated
3852 */
3853 EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition();
3854
3855 /**
3856 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3857 * <!-- begin-user-doc -->
3858 * <!-- end-user-doc -->
3859 * @generated
3860 */
3861 EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound();
3862
3863 /**
3864 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
3865 * <!-- begin-user-doc -->
3866 * <!-- end-user-doc -->
3867 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
3868 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
3869 * @generated
3870 */
3871 EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition();
3872
3873 /**
3874 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
3875 * <!-- begin-user-doc -->
3876 * <!-- end-user-doc -->
3877 * @generated
3878 */
3879 EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind();
3880
3881 /**
3882 * The meta object literal for the '<em><b>Objective</b></em>' containment reference feature.
3883 * <!-- begin-user-doc -->
3884 * <!-- end-user-doc -->
3885 * @generated
3886 */
3887 EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective();
3888
3889 /**
3890 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
3891 * <!-- begin-user-doc -->
3892 * <!-- end-user-doc -->
3893 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
3894 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
3895 * @generated
3896 */
3897 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
3898
3899 /**
3900 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3901 * <!-- begin-user-doc -->
3902 * <!-- end-user-doc -->
3903 * @generated
3904 */
3905 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
3906
3907 /**
3908 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
3909 * <!-- begin-user-doc -->
3910 * <!-- end-user-doc -->
3911 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
3912 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
3913 * @generated
3914 */
3915 EClass ASSERTION = eINSTANCE.getAssertion();
3916
3917 /**
3918 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3919 * <!-- begin-user-doc -->
3920 * <!-- end-user-doc -->
3921 * @generated
3922 */
3923 EReference ASSERTION__BODY = eINSTANCE.getAssertion_Body();
3924
3925 /**
3926 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3927 * <!-- begin-user-doc -->
3928 * <!-- end-user-doc -->
3929 * @generated
3930 */
3931 EReference ASSERTION__RANGE = eINSTANCE.getAssertion_Range();
3932
3933 /**
3934 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
3935 * <!-- begin-user-doc -->
3936 * <!-- end-user-doc -->
3937 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
3938 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
3939 * @generated
3940 */
3941 EClass DISJUNCTION = eINSTANCE.getDisjunction();
3942
3943 /**
3944 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3945 * <!-- begin-user-doc -->
3946 * <!-- end-user-doc -->
3947 * @generated
3948 */
3949 EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children();
3950
3951 /**
3952 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
3953 * <!-- begin-user-doc -->
3954 * <!-- end-user-doc -->
3955 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
3956 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
3957 * @generated
3958 */
3959 EClass SWITCH = eINSTANCE.getSwitch();
3960
3961 /**
3962 * The meta object literal for the '<em><b>Cases</b></em>' containment reference list feature.
3963 * <!-- begin-user-doc -->
3964 * <!-- end-user-doc -->
3965 * @generated
3966 */
3967 EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases();
3968
3969 /**
3970 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
3971 * <!-- begin-user-doc -->
3972 * <!-- end-user-doc -->
3973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
3974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
3975 * @generated
3976 */
3977 EClass CONJUNCTION = eINSTANCE.getConjunction();
3978
3979 /**
3980 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3981 * <!-- begin-user-doc -->
3982 * <!-- end-user-doc -->
3983 * @generated
3984 */
3985 EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children();
3986
3987 /**
3988 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
3989 * <!-- begin-user-doc -->
3990 * <!-- end-user-doc -->
3991 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
3992 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
3993 * @generated
3994 */
3995 EClass COMPARISON = eINSTANCE.getComparison();
3996
3997 /**
3998 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3999 * <!-- begin-user-doc -->
4000 * <!-- end-user-doc -->
4001 * @generated
4002 */
4003 EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
4004
4005 /**
4006 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4007 * <!-- begin-user-doc -->
4008 * <!-- end-user-doc -->
4009 * @generated
4010 */
4011 EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op();
4012
4013 /**
4014 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
4015 * <!-- begin-user-doc -->
4016 * <!-- end-user-doc -->
4017 * @generated
4018 */
4019 EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
4020
4021 /**
4022 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
4023 * <!-- begin-user-doc -->
4024 * <!-- end-user-doc -->
4025 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
4026 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
4027 * @generated
4028 */
4029 EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression();
4030
4031 /**
4032 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
4033 * <!-- begin-user-doc -->
4034 * <!-- end-user-doc -->
4035 * @generated
4036 */
4037 EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left();
4038
4039 /**
4040 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4041 * <!-- begin-user-doc -->
4042 * <!-- end-user-doc -->
4043 * @generated
4044 */
4045 EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op();
4046
4047 /**
4048 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
4049 * <!-- begin-user-doc -->
4050 * <!-- end-user-doc -->
4051 * @generated
4052 */
4053 EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right();
4054
4055 /**
4056 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
4057 * <!-- begin-user-doc -->
4058 * <!-- end-user-doc -->
4059 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
4060 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
4061 * @generated
4062 */
4063 EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
4064
4065 /**
4066 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4067 * <!-- begin-user-doc -->
4068 * <!-- end-user-doc -->
4069 * @generated
4070 */
4071 EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
4072
4073 /**
4074 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4075 * <!-- begin-user-doc -->
4076 * <!-- end-user-doc -->
4077 * @generated
4078 */
4079 EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body();
4080
4081 /**
4082 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
4083 * <!-- begin-user-doc -->
4084 * <!-- end-user-doc -->
4085 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
4086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
4087 * @generated
4088 */
4089 EEnum METRIC_TYPE = eINSTANCE.getMetricType();
4090
4091 /**
4092 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
4093 * <!-- begin-user-doc -->
4094 * <!-- end-user-doc -->
4095 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
4096 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
4097 * @generated
4098 */
4099 EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator();
4100
4101 /**
4102 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
4103 * <!-- begin-user-doc -->
4104 * <!-- end-user-doc -->
4105 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
4106 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
4107 * @generated
4108 */
4109 EEnum UNARY_OP = eINSTANCE.getUnaryOp();
4110
4111 /**
4112 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
4113 * <!-- begin-user-doc -->
4114 * <!-- end-user-doc -->
4115 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
4116 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
4117 * @generated
4118 */
4119 EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp();
4120
4121 /**
4122 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
4123 * <!-- begin-user-doc -->
4124 * <!-- end-user-doc -->
4125 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
4126 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
4127 * @generated
4128 */
4129 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
4130
4131 /**
4132 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
4133 * <!-- begin-user-doc -->
4134 * <!-- end-user-doc -->
4135 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
4136 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
4137 * @generated
4138 */
4139 EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind();
4140
4141 }
4142
4143} //SolverLanguagePackage
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
deleted file mode 100644
index dc4d6487..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral()
20 * @model
21 * @generated
22 */
23public interface StringLiteral extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value()
32 * @model
33 * @generated
34 */
35 String getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(String value);
46
47} // StringLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
deleted file mode 100644
index 92504b5d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Switch</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch()
21 * @model
22 * @generated
23 */
24public interface Switch extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Cases</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Cases</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Case> getCases();
37
38} // Switch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
deleted file mode 100644
index f903338a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument()
21 * @model
22 * @generated
23 */
24public interface TypedArgument extends Argument
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Type</em>' reference.
31 * @see #setType(NamedElement)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Type()
33 * @model
34 * @generated
35 */
36 NamedElement getType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Type</em>' reference.
43 * @see #getType()
44 * @generated
45 */
46 void setType(NamedElement value);
47
48 /**
49 * Returns the value of the '<em><b>Variable</b></em>' reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Variable</em>' reference.
53 * @see #setVariable(NamedElement)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable()
55 * @model
56 * @generated
57 */
58 NamedElement getVariable();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}' reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Variable</em>' reference.
65 * @see #getVariable()
66 * @generated
67 */
68 void setVariable(NamedElement value);
69
70} // TypedArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
deleted file mode 100644
index 2b8bc002..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Star Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument()
20 * @model
21 * @generated
22 */
23public interface TypedStarArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // TypedStarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
deleted file mode 100644
index 5c2356cd..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unary Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression()
21 * @model
22 * @generated
23 */
24public interface UnaryExpression extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Op</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Op</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
33 * @see #setOp(UnaryOp)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op()
35 * @model
36 * @generated
37 */
38 UnaryOp getOp();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Op</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
46 * @see #getOp()
47 * @generated
48 */
49 void setOp(UnaryOp value);
50
51 /**
52 * Returns the value of the '<em><b>Body</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Body</em>' containment reference.
56 * @see #setBody(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Body()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getBody();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Body</em>' containment reference.
68 * @see #getBody()
69 * @generated
70 */
71 void setBody(Expression value);
72
73} // UnaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
deleted file mode 100644
index e426f4f1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
+++ /dev/null
@@ -1,317 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Unary Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOp()
18 * @model
19 * @generated
20 */
21public enum UnaryOp implements Enumerator
22{
23 /**
24 * The '<em><b>NEG</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #NEG_VALUE
28 * @generated
29 * @ordered
30 */
31 NEG(0, "NEG", "!"),
32
33 /**
34 * The '<em><b>PLUS</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #PLUS_VALUE
38 * @generated
39 * @ordered
40 */
41 PLUS(1, "PLUS", "+"),
42
43 /**
44 * The '<em><b>MINUS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINUS_VALUE
48 * @generated
49 * @ordered
50 */
51 MINUS(2, "MINUS", "-"),
52
53 /**
54 * The '<em><b>MAY</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #MAY_VALUE
58 * @generated
59 * @ordered
60 */
61 MAY(3, "MAY", "may"),
62
63 /**
64 * The '<em><b>MUST</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MUST_VALUE
68 * @generated
69 * @ordered
70 */
71 MUST(4, "MUST", "must"),
72
73 /**
74 * The '<em><b>CURRENT</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #CURRENT_VALUE
78 * @generated
79 * @ordered
80 */
81 CURRENT(5, "CURRENT", "current");
82
83 /**
84 * The '<em><b>NEG</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #NEG
88 * @model literal="!"
89 * @generated
90 * @ordered
91 */
92 public static final int NEG_VALUE = 0;
93
94 /**
95 * The '<em><b>PLUS</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #PLUS
99 * @model literal="+"
100 * @generated
101 * @ordered
102 */
103 public static final int PLUS_VALUE = 1;
104
105 /**
106 * The '<em><b>MINUS</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #MINUS
110 * @model literal="-"
111 * @generated
112 * @ordered
113 */
114 public static final int MINUS_VALUE = 2;
115
116 /**
117 * The '<em><b>MAY</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #MAY
121 * @model literal="may"
122 * @generated
123 * @ordered
124 */
125 public static final int MAY_VALUE = 3;
126
127 /**
128 * The '<em><b>MUST</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MUST
132 * @model literal="must"
133 * @generated
134 * @ordered
135 */
136 public static final int MUST_VALUE = 4;
137
138 /**
139 * The '<em><b>CURRENT</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #CURRENT
143 * @model literal="current"
144 * @generated
145 * @ordered
146 */
147 public static final int CURRENT_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Unary Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final UnaryOp[] VALUES_ARRAY =
156 new UnaryOp[]
157 {
158 NEG,
159 PLUS,
160 MINUS,
161 MAY,
162 MUST,
163 CURRENT,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Unary Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<UnaryOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Unary Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static UnaryOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 UnaryOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Unary Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static UnaryOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 UnaryOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Unary Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static UnaryOp get(int value)
225 {
226 switch (value)
227 {
228 case NEG_VALUE: return NEG;
229 case PLUS_VALUE: return PLUS;
230 case MINUS_VALUE: return MINUS;
231 case MAY_VALUE: return MAY;
232 case MUST_VALUE: return MUST;
233 case CURRENT_VALUE: return CURRENT;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private UnaryOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //UnaryOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
deleted file mode 100644
index 54621550..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unnamed Error Prediate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition()
21 * @model
22 * @generated
23 */
24public interface UnnamedErrorPrediateDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Argument List</em>' containment reference.
31 * @see #setArgumentList(ArgumentList)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList()
33 * @model containment="true"
34 * @generated
35 */
36 ArgumentList getArgumentList();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Argument List</em>' containment reference.
43 * @see #getArgumentList()
44 * @generated
45 */
46 void setArgumentList(ArgumentList value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // UnnamedErrorPrediateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
deleted file mode 100644
index 542f3c40..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Aggregation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition <em>Condition</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class AggregationImpl extends ExpressionImpl implements Aggregation
35{
36 /**
37 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getOp()
41 * @generated
42 * @ordered
43 */
44 protected static final AggregationOp OP_EDEFAULT = AggregationOp.ONLY;
45
46 /**
47 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected AggregationOp op = OP_EDEFAULT;
55
56 /**
57 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getBody()
61 * @generated
62 * @ordered
63 */
64 protected Expression body;
65
66 /**
67 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getCondition()
71 * @generated
72 * @ordered
73 */
74 protected Expression condition;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected AggregationImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.AGGREGATION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public AggregationOp getOp()
104 {
105 return op;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public void setOp(AggregationOp newOp)
115 {
116 AggregationOp oldOp = op;
117 op = newOp == null ? OP_EDEFAULT : newOp;
118 if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Expression getBody()
129 {
130 return body;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
139 {
140 Expression oldBody = body;
141 body = newBody;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setBody(Expression newBody)
157 {
158 if (newBody != body)
159 {
160 NotificationChain msgs = null;
161 if (body != null)
162 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
163 if (newBody != null)
164 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
165 msgs = basicSetBody(newBody, msgs);
166 if (msgs != null) msgs.dispatch();
167 }
168 else if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getCondition()
179 {
180 return condition;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
189 {
190 Expression oldCondition = condition;
191 condition = newCondition;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setCondition(Expression newCondition)
207 {
208 if (newCondition != condition)
209 {
210 NotificationChain msgs = null;
211 if (condition != null)
212 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
213 if (newCondition != null)
214 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
215 msgs = basicSetCondition(newCondition, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.AGGREGATION__BODY:
233 return basicSetBody(null, msgs);
234 case SolverLanguagePackage.AGGREGATION__CONDITION:
235 return basicSetCondition(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.AGGREGATION__OP:
251 return getOp();
252 case SolverLanguagePackage.AGGREGATION__BODY:
253 return getBody();
254 case SolverLanguagePackage.AGGREGATION__CONDITION:
255 return getCondition();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.AGGREGATION__OP:
271 setOp((AggregationOp)newValue);
272 return;
273 case SolverLanguagePackage.AGGREGATION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.AGGREGATION__CONDITION:
277 setCondition((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.AGGREGATION__OP:
294 setOp(OP_EDEFAULT);
295 return;
296 case SolverLanguagePackage.AGGREGATION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.AGGREGATION__CONDITION:
300 setCondition((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.AGGREGATION__OP:
317 return op != OP_EDEFAULT;
318 case SolverLanguagePackage.AGGREGATION__BODY:
319 return body != null;
320 case SolverLanguagePackage.AGGREGATION__CONDITION:
321 return condition != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //AggregationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
deleted file mode 100644
index 8c16fb4f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Argument;
21import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Argument List</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments <em>Arguments</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList
38{
39 /**
40 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getArguments()
44 * @generated
45 * @ordered
46 */
47 protected EList<Argument> arguments;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ArgumentListImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Argument> getArguments()
77 {
78 if (arguments == null)
79 {
80 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
81 }
82 return arguments;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
96 return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
112 return getArguments();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
129 getArguments().clear();
130 getArguments().addAll((Collection<? extends Argument>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
147 getArguments().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
164 return arguments != null && !arguments.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
deleted file mode 100644
index 8165b62e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Assertion</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getRange <em>Range</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class AssertionImpl extends StatementImpl implements Assertion
33{
34 /**
35 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getBody()
39 * @generated
40 * @ordered
41 */
42 protected Expression body;
43
44 /**
45 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRange()
49 * @generated
50 * @ordered
51 */
52 protected Expression range;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected AssertionImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.ASSERTION;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getBody()
82 {
83 return body;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
92 {
93 Expression oldBody = body;
94 body = newBody;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, oldBody, newBody);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setBody(Expression newBody)
110 {
111 if (newBody != body)
112 {
113 NotificationChain msgs = null;
114 if (body != null)
115 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
116 if (newBody != null)
117 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
118 msgs = basicSetBody(newBody, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, newBody, newBody));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getRange()
132 {
133 return range;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
142 {
143 Expression oldRange = range;
144 range = newRange;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, oldRange, newRange);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setRange(Expression newRange)
160 {
161 if (newRange != range)
162 {
163 NotificationChain msgs = null;
164 if (range != null)
165 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
166 if (newRange != null)
167 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
168 msgs = basicSetRange(newRange, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, newRange, newRange));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.ASSERTION__BODY:
186 return basicSetBody(null, msgs);
187 case SolverLanguagePackage.ASSERTION__RANGE:
188 return basicSetRange(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.ASSERTION__BODY:
204 return getBody();
205 case SolverLanguagePackage.ASSERTION__RANGE:
206 return getRange();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.ASSERTION__BODY:
222 setBody((Expression)newValue);
223 return;
224 case SolverLanguagePackage.ASSERTION__RANGE:
225 setRange((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.ASSERTION__BODY:
242 setBody((Expression)null);
243 return;
244 case SolverLanguagePackage.ASSERTION__RANGE:
245 setRange((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.ASSERTION__BODY:
262 return body != null;
263 case SolverLanguagePackage.ASSERTION__RANGE:
264 return range != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //AssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
deleted file mode 100644
index adc94c4a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Binary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected BinaryExpressionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.BINARY_EXPRESSION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
253 return getOp();
254 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
317 return left != null;
318 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //BinaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
deleted file mode 100644
index 45a105e0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Multiplicity</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedMultiplicityImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
deleted file mode 100644
index 36bf4f96..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements BoundedScopeDefinition
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedScopeDefinitionImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
deleted file mode 100644
index 01712ad3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
+++ /dev/null
@@ -1,401 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Call;
16import org.eclipse.viatra.solver.language.solverLanguage.Reference;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Call</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor <em>Functor</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class CallImpl extends ExpressionImpl implements Call
36{
37 /**
38 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getFunctor()
42 * @generated
43 * @ordered
44 */
45 protected Reference functor;
46
47 /**
48 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #isTransitiveClosure()
52 * @generated
53 * @ordered
54 */
55 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
56
57 /**
58 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #isTransitiveClosure()
62 * @generated
63 * @ordered
64 */
65 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
66
67 /**
68 * The default value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #isReflexiveTransitiveClosure()
72 * @generated
73 * @ordered
74 */
75 protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
76
77 /**
78 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #isReflexiveTransitiveClosure()
82 * @generated
83 * @ordered
84 */
85 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
86
87 /**
88 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #getArgumentList()
92 * @generated
93 * @ordered
94 */
95 protected ArgumentList argumentList;
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 protected CallImpl()
103 {
104 super();
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @Override
113 protected EClass eStaticClass()
114 {
115 return SolverLanguagePackage.Literals.CALL;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Reference getFunctor()
125 {
126 return functor;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs)
135 {
136 Reference oldFunctor = functor;
137 functor = newFunctor;
138 if (eNotificationRequired())
139 {
140 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor);
141 if (msgs == null) msgs = notification; else msgs.add(notification);
142 }
143 return msgs;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void setFunctor(Reference newFunctor)
153 {
154 if (newFunctor != functor)
155 {
156 NotificationChain msgs = null;
157 if (functor != null)
158 msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
159 if (newFunctor != null)
160 msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
161 msgs = basicSetFunctor(newFunctor, msgs);
162 if (msgs != null) msgs.dispatch();
163 }
164 else if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor));
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean isTransitiveClosure()
175 {
176 return transitiveClosure;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public void setTransitiveClosure(boolean newTransitiveClosure)
186 {
187 boolean oldTransitiveClosure = transitiveClosure;
188 transitiveClosure = newTransitiveClosure;
189 if (eNotificationRequired())
190 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public boolean isReflexiveTransitiveClosure()
200 {
201 return reflexiveTransitiveClosure;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure)
211 {
212 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
213 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
214 if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public ArgumentList getArgumentList()
225 {
226 return argumentList;
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
235 {
236 ArgumentList oldArgumentList = argumentList;
237 argumentList = newArgumentList;
238 if (eNotificationRequired())
239 {
240 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
241 if (msgs == null) msgs = notification; else msgs.add(notification);
242 }
243 return msgs;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public void setArgumentList(ArgumentList newArgumentList)
253 {
254 if (newArgumentList != argumentList)
255 {
256 NotificationChain msgs = null;
257 if (argumentList != null)
258 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
259 if (newArgumentList != null)
260 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
261 msgs = basicSetArgumentList(newArgumentList, msgs);
262 if (msgs != null) msgs.dispatch();
263 }
264 else if (eNotificationRequired())
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
275 {
276 switch (featureID)
277 {
278 case SolverLanguagePackage.CALL__FUNCTOR:
279 return basicSetFunctor(null, msgs);
280 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
281 return basicSetArgumentList(null, msgs);
282 }
283 return super.eInverseRemove(otherEnd, featureID, msgs);
284 }
285
286 /**
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @generated
290 */
291 @Override
292 public Object eGet(int featureID, boolean resolve, boolean coreType)
293 {
294 switch (featureID)
295 {
296 case SolverLanguagePackage.CALL__FUNCTOR:
297 return getFunctor();
298 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
299 return isTransitiveClosure();
300 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
301 return isReflexiveTransitiveClosure();
302 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
303 return getArgumentList();
304 }
305 return super.eGet(featureID, resolve, coreType);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public void eSet(int featureID, Object newValue)
315 {
316 switch (featureID)
317 {
318 case SolverLanguagePackage.CALL__FUNCTOR:
319 setFunctor((Reference)newValue);
320 return;
321 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
322 setTransitiveClosure((Boolean)newValue);
323 return;
324 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
325 setReflexiveTransitiveClosure((Boolean)newValue);
326 return;
327 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
328 setArgumentList((ArgumentList)newValue);
329 return;
330 }
331 super.eSet(featureID, newValue);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void eUnset(int featureID)
341 {
342 switch (featureID)
343 {
344 case SolverLanguagePackage.CALL__FUNCTOR:
345 setFunctor((Reference)null);
346 return;
347 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
348 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
349 return;
350 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
351 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
352 return;
353 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
354 setArgumentList((ArgumentList)null);
355 return;
356 }
357 super.eUnset(featureID);
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 @Override
366 public boolean eIsSet(int featureID)
367 {
368 switch (featureID)
369 {
370 case SolverLanguagePackage.CALL__FUNCTOR:
371 return functor != null;
372 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
373 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
374 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
375 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
377 return argumentList != null;
378 }
379 return super.eIsSet(featureID);
380 }
381
382 /**
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 */
387 @Override
388 public String toString()
389 {
390 if (eIsProxy()) return super.toString();
391
392 StringBuilder result = new StringBuilder(super.toString());
393 result.append(" (transitiveClosure: ");
394 result.append(transitiveClosure);
395 result.append(", reflexiveTransitiveClosure: ");
396 result.append(reflexiveTransitiveClosure);
397 result.append(')');
398 return result.toString();
399 }
400
401} //CallImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
deleted file mode 100644
index 47245831..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Case;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Case</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody <em>Body</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CaseImpl extends ExpressionImpl implements Case
33{
34 /**
35 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getCondition()
39 * @generated
40 * @ordered
41 */
42 protected Expression condition;
43
44 /**
45 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getBody()
49 * @generated
50 * @ordered
51 */
52 protected Expression body;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected CaseImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.CASE;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getCondition()
82 {
83 return condition;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
92 {
93 Expression oldCondition = condition;
94 condition = newCondition;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setCondition(Expression newCondition)
110 {
111 if (newCondition != condition)
112 {
113 NotificationChain msgs = null;
114 if (condition != null)
115 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
116 if (newCondition != null)
117 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
118 msgs = basicSetCondition(newCondition, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getBody()
132 {
133 return body;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
142 {
143 Expression oldBody = body;
144 body = newBody;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setBody(Expression newBody)
160 {
161 if (newBody != body)
162 {
163 NotificationChain msgs = null;
164 if (body != null)
165 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
166 if (newBody != null)
167 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
168 msgs = basicSetBody(newBody, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.CASE__CONDITION:
186 return basicSetCondition(null, msgs);
187 case SolverLanguagePackage.CASE__BODY:
188 return basicSetBody(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.CASE__CONDITION:
204 return getCondition();
205 case SolverLanguagePackage.CASE__BODY:
206 return getBody();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.CASE__CONDITION:
222 setCondition((Expression)newValue);
223 return;
224 case SolverLanguagePackage.CASE__BODY:
225 setBody((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.CASE__CONDITION:
242 setCondition((Expression)null);
243 return;
244 case SolverLanguagePackage.CASE__BODY:
245 setBody((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.CASE__CONDITION:
262 return condition != null;
263 case SolverLanguagePackage.CASE__BODY:
264 return body != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //CaseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
deleted file mode 100644
index f0a81764..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
+++ /dev/null
@@ -1,340 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.EObjectResolvingEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Class Definition</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract <em>Abstract</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName <em>Name</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses <em>Superclasses</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers <em>Members</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition
44{
45 /**
46 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isAbstract()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean ABSTRACT_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isAbstract()
60 * @generated
61 * @ordered
62 */
63 protected boolean abstract_ = ABSTRACT_EDEFAULT;
64
65 /**
66 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getName()
70 * @generated
71 * @ordered
72 */
73 protected static final String NAME_EDEFAULT = null;
74
75 /**
76 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getName()
80 * @generated
81 * @ordered
82 */
83 protected String name = NAME_EDEFAULT;
84
85 /**
86 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getSuperclasses()
90 * @generated
91 * @ordered
92 */
93 protected EList<NamedElement> superclasses;
94
95 /**
96 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getMembers()
100 * @generated
101 * @ordered
102 */
103 protected EList<MemberDefinition> members;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 protected ClassDefinitionImpl()
111 {
112 super();
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 protected EClass eStaticClass()
122 {
123 return SolverLanguagePackage.Literals.CLASS_DEFINITION;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public boolean isAbstract()
133 {
134 return abstract_;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void setAbstract(boolean newAbstract)
144 {
145 boolean oldAbstract = abstract_;
146 abstract_ = newAbstract;
147 if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public String getName()
158 {
159 return name;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setName(String newName)
169 {
170 String oldName = name;
171 name = newName;
172 if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public EList<NamedElement> getSuperclasses()
183 {
184 if (superclasses == null)
185 {
186 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES);
187 }
188 return superclasses;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public EList<MemberDefinition> getMembers()
198 {
199 if (members == null)
200 {
201 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS);
202 }
203 return members;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
217 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
218 }
219 return super.eInverseRemove(otherEnd, featureID, msgs);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Object eGet(int featureID, boolean resolve, boolean coreType)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
233 return isAbstract();
234 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
235 return getName();
236 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
237 return getSuperclasses();
238 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
239 return getMembers();
240 }
241 return super.eGet(featureID, resolve, coreType);
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @SuppressWarnings("unchecked")
250 @Override
251 public void eSet(int featureID, Object newValue)
252 {
253 switch (featureID)
254 {
255 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
256 setAbstract((Boolean)newValue);
257 return;
258 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
259 setName((String)newValue);
260 return;
261 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
262 getSuperclasses().clear();
263 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
264 return;
265 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
266 getMembers().clear();
267 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
268 return;
269 }
270 super.eSet(featureID, newValue);
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public void eUnset(int featureID)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
284 setAbstract(ABSTRACT_EDEFAULT);
285 return;
286 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
287 setName(NAME_EDEFAULT);
288 return;
289 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
290 getSuperclasses().clear();
291 return;
292 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
293 getMembers().clear();
294 return;
295 }
296 super.eUnset(featureID);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public boolean eIsSet(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
310 return abstract_ != ABSTRACT_EDEFAULT;
311 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
312 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
313 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
314 return superclasses != null && !superclasses.isEmpty();
315 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
316 return members != null && !members.isEmpty();
317 }
318 return super.eIsSet(featureID);
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 @Override
327 public String toString()
328 {
329 if (eIsProxy()) return super.toString();
330
331 StringBuilder result = new StringBuilder(super.toString());
332 result.append(" (abstract: ");
333 result.append(abstract_);
334 result.append(", name: ");
335 result.append(name);
336 result.append(')');
337 return result.toString();
338 }
339
340} //ClassDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
deleted file mode 100644
index 9e62d7ef..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
15import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Comparison</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ComparisonImpl extends ExpressionImpl implements Comparison
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected ComparisonImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.COMPARISON;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.COMPARISON__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.COMPARISON__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.COMPARISON__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.COMPARISON__OP:
253 return getOp();
254 case SolverLanguagePackage.COMPARISON__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.COMPARISON__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.COMPARISON__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.COMPARISON__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.COMPARISON__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.COMPARISON__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.COMPARISON__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.COMPARISON__LEFT:
317 return left != null;
318 case SolverLanguagePackage.COMPARISON__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.COMPARISON__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //ComparisonImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
deleted file mode 100644
index 6a1e995a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Conjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class ConjunctionImpl extends ExpressionImpl implements Conjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ConjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.CONJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //ConjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
deleted file mode 100644
index 1609245f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Count;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Count</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class CountImpl extends ExpressionImpl implements Count
32{
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected CountImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.COUNT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Expression getBody()
71 {
72 return body;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 {
82 Expression oldBody = body;
83 body = newBody;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setBody(Expression newBody)
99 {
100 if (newBody != body)
101 {
102 NotificationChain msgs = null;
103 if (body != null)
104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
105 if (newBody != null)
106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, newBody, newBody));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.COUNT__BODY:
125 return basicSetBody(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.COUNT__BODY:
141 return getBody();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.COUNT__BODY:
157 setBody((Expression)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.COUNT__BODY:
174 setBody((Expression)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.COUNT__BODY:
191 return body != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //CountImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
deleted file mode 100644
index c1eaa71a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Default Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getRange <em>Range</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class DefaultDefinitionImpl extends StatementImpl implements DefaultDefinition
34{
35 /**
36 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getHead()
40 * @generated
41 * @ordered
42 */
43 protected Call head;
44
45 /**
46 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getRange()
50 * @generated
51 * @ordered
52 */
53 protected Expression range;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected DefaultDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.DEFAULT_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public Call getHead()
83 {
84 return head;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
93 {
94 Call oldHead = head;
95 head = newHead;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setHead(Call newHead)
111 {
112 if (newHead != head)
113 {
114 NotificationChain msgs = null;
115 if (head != null)
116 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
117 if (newHead != null)
118 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
119 msgs = basicSetHead(newHead, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getRange()
133 {
134 return range;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
143 {
144 Expression oldRange = range;
145 range = newRange;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setRange(Expression newRange)
161 {
162 if (newRange != range)
163 {
164 NotificationChain msgs = null;
165 if (range != null)
166 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
167 if (newRange != null)
168 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
169 msgs = basicSetRange(newRange, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
187 return basicSetHead(null, msgs);
188 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
189 return basicSetRange(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
205 return getHead();
206 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
207 return getRange();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
223 setHead((Call)newValue);
224 return;
225 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
226 setRange((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
243 setHead((Call)null);
244 return;
245 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
246 setRange((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
263 return head != null;
264 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
265 return range != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //DefaultDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
deleted file mode 100644
index ecdb14d8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Disjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class DisjunctionImpl extends ExpressionImpl implements Disjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected DisjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.DISJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //DisjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
deleted file mode 100644
index 3751de39..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Exact Multiplicity</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl#getMultiplicity <em>Multiplicity</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity
29{
30 /**
31 * The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getMultiplicity()
35 * @generated
36 * @ordered
37 */
38 protected static final int MULTIPLICITY_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getMultiplicity()
45 * @generated
46 * @ordered
47 */
48 protected int multiplicity = MULTIPLICITY_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ExactMultiplicityImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getMultiplicity()
78 {
79 return multiplicity;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setMultiplicity(int newMultiplicity)
89 {
90 int oldMultiplicity = multiplicity;
91 multiplicity = newMultiplicity;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
107 return getMultiplicity();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
123 setMultiplicity((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
140 setMultiplicity(MULTIPLICITY_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
157 return multiplicity != MULTIPLICITY_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (multiplicity: ");
174 result.append(multiplicity);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ExactMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
deleted file mode 100644
index faf51904..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Exact Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope <em>Exact Scope</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition
29{
30 /**
31 * The default value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getExactScope()
35 * @generated
36 * @ordered
37 */
38 protected static final int EXACT_SCOPE_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getExactScope()
45 * @generated
46 * @ordered
47 */
48 protected int exactScope = EXACT_SCOPE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ExactScopeDefinitionImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getExactScope()
78 {
79 return exactScope;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setExactScope(int newExactScope)
89 {
90 int oldExactScope = exactScope;
91 exactScope = newExactScope;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
107 return getExactScope();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
123 setExactScope((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
140 setExactScope(EXACT_SCOPE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
157 return exactScope != EXACT_SCOPE_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (exactScope: ");
174 result.append(exactScope);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ExactScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
deleted file mode 100644
index f83c1cb3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Expression Argument</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument
32{
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected ExpressionArgumentImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Expression getBody()
71 {
72 return body;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 {
82 Expression oldBody = body;
83 body = newBody;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setBody(Expression newBody)
99 {
100 if (newBody != body)
101 {
102 NotificationChain msgs = null;
103 if (body != null)
104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
105 if (newBody != null)
106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
125 return basicSetBody(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
141 return getBody();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
157 setBody((Expression)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
174 setBody((Expression)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
191 return body != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
deleted file mode 100644
index e324c38a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Extern Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getType <em>Type</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getHead <em>Head</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition
34{
35 /**
36 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getType()
40 * @generated
41 * @ordered
42 */
43 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
44
45 /**
46 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getType()
50 * @generated
51 * @ordered
52 */
53 protected MetricType type = TYPE_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getHead()
60 * @generated
61 * @ordered
62 */
63 protected Call head;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ExternMetricDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public MetricType getType()
93 {
94 return type;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setType(MetricType newType)
104 {
105 MetricType oldType = type;
106 type = newType == null ? TYPE_EDEFAULT : newType;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Call getHead()
118 {
119 return head;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
128 {
129 Call oldHead = head;
130 head = newHead;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, oldHead, newHead);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setHead(Call newHead)
146 {
147 if (newHead != head)
148 {
149 NotificationChain msgs = null;
150 if (head != null)
151 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
152 if (newHead != null)
153 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
154 msgs = basicSetHead(newHead, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, newHead, newHead));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
172 return basicSetHead(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
188 return getType();
189 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
190 return getHead();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
206 setType((MetricType)newValue);
207 return;
208 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
209 setHead((Call)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
226 setType(TYPE_EDEFAULT);
227 return;
228 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
229 setHead((Call)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
246 return type != TYPE_EDEFAULT;
247 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
248 return head != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (type: ");
265 result.append(type);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ExternMetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
deleted file mode 100644
index 0605cb0f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Extern Predicate Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition
32{
33 /**
34 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getHead()
38 * @generated
39 * @ordered
40 */
41 protected Call head;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected ExternPredicateDefinitionImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Call getHead()
71 {
72 return head;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
81 {
82 Call oldHead = head;
83 head = newHead;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, oldHead, newHead);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setHead(Call newHead)
99 {
100 if (newHead != head)
101 {
102 NotificationChain msgs = null;
103 if (head != null)
104 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
105 if (newHead != null)
106 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
107 msgs = basicSetHead(newHead, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, newHead, newHead));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
125 return basicSetHead(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
141 return getHead();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
157 setHead((Call)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
174 setHead((Call)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
191 return head != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //ExternPredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
deleted file mode 100644
index 1b873568..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
+++ /dev/null
@@ -1,342 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>If Else</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getThen <em>Then</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse <em>Else</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class IfElseImpl extends ExpressionImpl implements IfElse
34{
35 /**
36 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getCondition()
40 * @generated
41 * @ordered
42 */
43 protected Expression condition;
44
45 /**
46 * The cached value of the '{@link #getThen() <em>Then</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getThen()
50 * @generated
51 * @ordered
52 */
53 protected Expression then;
54
55 /**
56 * The cached value of the '{@link #getElse() <em>Else</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getElse()
60 * @generated
61 * @ordered
62 */
63 protected Expression else_;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected IfElseImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.IF_ELSE;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public Expression getCondition()
93 {
94 return condition;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
103 {
104 Expression oldCondition = condition;
105 condition = newCondition;
106 if (eNotificationRequired())
107 {
108 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition);
109 if (msgs == null) msgs = notification; else msgs.add(notification);
110 }
111 return msgs;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void setCondition(Expression newCondition)
121 {
122 if (newCondition != condition)
123 {
124 NotificationChain msgs = null;
125 if (condition != null)
126 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
127 if (newCondition != null)
128 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
129 msgs = basicSetCondition(newCondition, msgs);
130 if (msgs != null) msgs.dispatch();
131 }
132 else if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition));
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public Expression getThen()
143 {
144 return then;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs)
153 {
154 Expression oldThen = then;
155 then = newThen;
156 if (eNotificationRequired())
157 {
158 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen);
159 if (msgs == null) msgs = notification; else msgs.add(notification);
160 }
161 return msgs;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public void setThen(Expression newThen)
171 {
172 if (newThen != then)
173 {
174 NotificationChain msgs = null;
175 if (then != null)
176 msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
177 if (newThen != null)
178 msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
179 msgs = basicSetThen(newThen, msgs);
180 if (msgs != null) msgs.dispatch();
181 }
182 else if (eNotificationRequired())
183 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen));
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public Expression getElse()
193 {
194 return else_;
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs)
203 {
204 Expression oldElse = else_;
205 else_ = newElse;
206 if (eNotificationRequired())
207 {
208 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse);
209 if (msgs == null) msgs = notification; else msgs.add(notification);
210 }
211 return msgs;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void setElse(Expression newElse)
221 {
222 if (newElse != else_)
223 {
224 NotificationChain msgs = null;
225 if (else_ != null)
226 msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
227 if (newElse != null)
228 msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
229 msgs = basicSetElse(newElse, msgs);
230 if (msgs != null) msgs.dispatch();
231 }
232 else if (eNotificationRequired())
233 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse));
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
243 {
244 switch (featureID)
245 {
246 case SolverLanguagePackage.IF_ELSE__CONDITION:
247 return basicSetCondition(null, msgs);
248 case SolverLanguagePackage.IF_ELSE__THEN:
249 return basicSetThen(null, msgs);
250 case SolverLanguagePackage.IF_ELSE__ELSE:
251 return basicSetElse(null, msgs);
252 }
253 return super.eInverseRemove(otherEnd, featureID, msgs);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Object eGet(int featureID, boolean resolve, boolean coreType)
263 {
264 switch (featureID)
265 {
266 case SolverLanguagePackage.IF_ELSE__CONDITION:
267 return getCondition();
268 case SolverLanguagePackage.IF_ELSE__THEN:
269 return getThen();
270 case SolverLanguagePackage.IF_ELSE__ELSE:
271 return getElse();
272 }
273 return super.eGet(featureID, resolve, coreType);
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void eSet(int featureID, Object newValue)
283 {
284 switch (featureID)
285 {
286 case SolverLanguagePackage.IF_ELSE__CONDITION:
287 setCondition((Expression)newValue);
288 return;
289 case SolverLanguagePackage.IF_ELSE__THEN:
290 setThen((Expression)newValue);
291 return;
292 case SolverLanguagePackage.IF_ELSE__ELSE:
293 setElse((Expression)newValue);
294 return;
295 }
296 super.eSet(featureID, newValue);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public void eUnset(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.IF_ELSE__CONDITION:
310 setCondition((Expression)null);
311 return;
312 case SolverLanguagePackage.IF_ELSE__THEN:
313 setThen((Expression)null);
314 return;
315 case SolverLanguagePackage.IF_ELSE__ELSE:
316 setElse((Expression)null);
317 return;
318 }
319 super.eUnset(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public boolean eIsSet(int featureID)
329 {
330 switch (featureID)
331 {
332 case SolverLanguagePackage.IF_ELSE__CONDITION:
333 return condition != null;
334 case SolverLanguagePackage.IF_ELSE__THEN:
335 return then != null;
336 case SolverLanguagePackage.IF_ELSE__ELSE:
337 return else_ != null;
338 }
339 return super.eIsSet(featureID);
340 }
341
342} //IfElseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
deleted file mode 100644
index e6107ef8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.Interval;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Interval</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound <em>Lower Bound</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound <em>Upper Bound</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class IntervalImpl extends ExpressionImpl implements Interval
33{
34 /**
35 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLowerBound()
39 * @generated
40 * @ordered
41 */
42 protected Expression lowerBound;
43
44 /**
45 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getUpperBound()
49 * @generated
50 * @ordered
51 */
52 protected Expression upperBound;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected IntervalImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.INTERVAL;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getLowerBound()
82 {
83 return lowerBound;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs)
92 {
93 Expression oldLowerBound = lowerBound;
94 lowerBound = newLowerBound;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(Expression newLowerBound)
110 {
111 if (newLowerBound != lowerBound)
112 {
113 NotificationChain msgs = null;
114 if (lowerBound != null)
115 msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
116 if (newLowerBound != null)
117 msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
118 msgs = basicSetLowerBound(newLowerBound, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getUpperBound()
132 {
133 return upperBound;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs)
142 {
143 Expression oldUpperBound = upperBound;
144 upperBound = newUpperBound;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setUpperBound(Expression newUpperBound)
160 {
161 if (newUpperBound != upperBound)
162 {
163 NotificationChain msgs = null;
164 if (upperBound != null)
165 msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
166 if (newUpperBound != null)
167 msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
168 msgs = basicSetUpperBound(newUpperBound, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
186 return basicSetLowerBound(null, msgs);
187 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
188 return basicSetUpperBound(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
204 return getLowerBound();
205 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
206 return getUpperBound();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
222 setLowerBound((Expression)newValue);
223 return;
224 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
225 setUpperBound((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
242 setLowerBound((Expression)null);
243 return;
244 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
245 setUpperBound((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
262 return lowerBound != null;
263 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
264 return upperBound != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //IntervalImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
deleted file mode 100644
index 2bc27a20..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
13import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Logic Literal</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue <em>Value</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral
30{
31 /**
32 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getValue()
36 * @generated
37 * @ordered
38 */
39 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
40
41 /**
42 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getValue()
46 * @generated
47 * @ordered
48 */
49 protected LogicValue value = VALUE_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected LogicLiteralImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public LogicValue getValue()
79 {
80 return value;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public void setValue(LogicValue newValue)
90 {
91 LogicValue oldValue = value;
92 value = newValue == null ? VALUE_EDEFAULT : newValue;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType)
104 {
105 switch (featureID)
106 {
107 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
108 return getValue();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue)
120 {
121 switch (featureID)
122 {
123 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
124 setValue((LogicValue)newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
141 setValue(VALUE_EDEFAULT);
142 return;
143 }
144 super.eUnset(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public boolean eIsSet(int featureID)
154 {
155 switch (featureID)
156 {
157 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
158 return value != VALUE_EDEFAULT;
159 }
160 return super.eIsSet(featureID);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public String toString()
170 {
171 if (eIsProxy()) return super.toString();
172
173 StringBuilder result = new StringBuilder(super.toString());
174 result.append(" (value: ");
175 result.append(value);
176 result.append(')');
177 return result.toString();
178 }
179
180} //LogicLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
deleted file mode 100644
index 5eb671f3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class LowerBoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements LowerBoundedScopeDefinition
29{
30 /**
31 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getLowerBound()
35 * @generated
36 * @ordered
37 */
38 protected static final int LOWER_BOUND_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getLowerBound()
45 * @generated
46 * @ordered
47 */
48 protected int lowerBound = LOWER_BOUND_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected LowerBoundedScopeDefinitionImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getLowerBound()
78 {
79 return lowerBound;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setLowerBound(int newLowerBound)
89 {
90 int oldLowerBound = lowerBound;
91 lowerBound = newLowerBound;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
107 return getLowerBound();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
123 setLowerBound((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
140 setLowerBound(LOWER_BOUND_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
157 return lowerBound != LOWER_BOUND_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (lowerBound: ");
174 result.append(lowerBound);
175 result.append(')');
176 return result.toString();
177 }
178
179} //LowerBoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
deleted file mode 100644
index 69021347..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
+++ /dev/null
@@ -1,463 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
17import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Member Definition</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getType <em>Type</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getMultiplicity <em>Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getName <em>Name</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getOpposite <em>Opposite</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class MemberDefinitionImpl extends MinimalEObjectImpl.Container implements MemberDefinition
38{
39 /**
40 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isContainment()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean CONTAINMENT_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isContainment()
54 * @generated
55 * @ordered
56 */
57 protected boolean containment = CONTAINMENT_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getType()
64 * @generated
65 * @ordered
66 */
67 protected NamedElement type;
68
69 /**
70 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #getMultiplicity()
74 * @generated
75 * @ordered
76 */
77 protected Multiplicity multiplicity;
78
79 /**
80 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getName()
84 * @generated
85 * @ordered
86 */
87 protected static final String NAME_EDEFAULT = null;
88
89 /**
90 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getName()
94 * @generated
95 * @ordered
96 */
97 protected String name = NAME_EDEFAULT;
98
99 /**
100 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @see #getOpposite()
104 * @generated
105 * @ordered
106 */
107 protected NamedElement opposite;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 protected MemberDefinitionImpl()
115 {
116 super();
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 protected EClass eStaticClass()
126 {
127 return SolverLanguagePackage.Literals.MEMBER_DEFINITION;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public boolean isContainment()
137 {
138 return containment;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setContainment(boolean newContainment)
148 {
149 boolean oldContainment = containment;
150 containment = newContainment;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public NamedElement getType()
162 {
163 if (type != null && type.eIsProxy())
164 {
165 InternalEObject oldType = (InternalEObject)type;
166 type = (NamedElement)eResolveProxy(oldType);
167 if (type != oldType)
168 {
169 if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
171 }
172 }
173 return type;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public NamedElement basicGetType()
182 {
183 return type;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setType(NamedElement newType)
193 {
194 NamedElement oldType = type;
195 type = newType;
196 if (eNotificationRequired())
197 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public Multiplicity getMultiplicity()
207 {
208 return multiplicity;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs)
217 {
218 Multiplicity oldMultiplicity = multiplicity;
219 multiplicity = newMultiplicity;
220 if (eNotificationRequired())
221 {
222 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
223 if (msgs == null) msgs = notification; else msgs.add(notification);
224 }
225 return msgs;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setMultiplicity(Multiplicity newMultiplicity)
235 {
236 if (newMultiplicity != multiplicity)
237 {
238 NotificationChain msgs = null;
239 if (multiplicity != null)
240 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
241 if (newMultiplicity != null)
242 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
243 msgs = basicSetMultiplicity(newMultiplicity, msgs);
244 if (msgs != null) msgs.dispatch();
245 }
246 else if (eNotificationRequired())
247 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity));
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public String getName()
257 {
258 return name;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public void setName(String newName)
268 {
269 String oldName = name;
270 name = newName;
271 if (eNotificationRequired())
272 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name));
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public NamedElement getOpposite()
282 {
283 if (opposite != null && opposite.eIsProxy())
284 {
285 InternalEObject oldOpposite = (InternalEObject)opposite;
286 opposite = (NamedElement)eResolveProxy(oldOpposite);
287 if (opposite != oldOpposite)
288 {
289 if (eNotificationRequired())
290 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
291 }
292 }
293 return opposite;
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 public NamedElement basicGetOpposite()
302 {
303 return opposite;
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public void setOpposite(NamedElement newOpposite)
313 {
314 NamedElement oldOpposite = opposite;
315 opposite = newOpposite;
316 if (eNotificationRequired())
317 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 @Override
326 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
327 {
328 switch (featureID)
329 {
330 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
331 return basicSetMultiplicity(null, msgs);
332 }
333 return super.eInverseRemove(otherEnd, featureID, msgs);
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 @Override
342 public Object eGet(int featureID, boolean resolve, boolean coreType)
343 {
344 switch (featureID)
345 {
346 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
347 return isContainment();
348 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
349 if (resolve) return getType();
350 return basicGetType();
351 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
352 return getMultiplicity();
353 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
354 return getName();
355 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
356 if (resolve) return getOpposite();
357 return basicGetOpposite();
358 }
359 return super.eGet(featureID, resolve, coreType);
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 @Override
368 public void eSet(int featureID, Object newValue)
369 {
370 switch (featureID)
371 {
372 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
373 setContainment((Boolean)newValue);
374 return;
375 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
376 setType((NamedElement)newValue);
377 return;
378 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
379 setMultiplicity((Multiplicity)newValue);
380 return;
381 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
382 setName((String)newValue);
383 return;
384 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
385 setOpposite((NamedElement)newValue);
386 return;
387 }
388 super.eSet(featureID, newValue);
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 @Override
397 public void eUnset(int featureID)
398 {
399 switch (featureID)
400 {
401 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
402 setContainment(CONTAINMENT_EDEFAULT);
403 return;
404 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
405 setType((NamedElement)null);
406 return;
407 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
408 setMultiplicity((Multiplicity)null);
409 return;
410 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
411 setName(NAME_EDEFAULT);
412 return;
413 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
414 setOpposite((NamedElement)null);
415 return;
416 }
417 super.eUnset(featureID);
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public boolean eIsSet(int featureID)
427 {
428 switch (featureID)
429 {
430 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
431 return containment != CONTAINMENT_EDEFAULT;
432 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
433 return type != null;
434 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
435 return multiplicity != null;
436 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
437 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
438 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
439 return opposite != null;
440 }
441 return super.eIsSet(featureID);
442 }
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 if (eIsProxy()) return super.toString();
453
454 StringBuilder result = new StringBuilder(super.toString());
455 result.append(" (containment: ");
456 result.append(containment);
457 result.append(", name: ");
458 result.append(name);
459 result.append(')');
460 return result.toString();
461 }
462
463} //MemberDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
deleted file mode 100644
index 8f84d2f1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getType <em>Type</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class MetricDefinitionImpl extends StatementImpl implements MetricDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getType()
61 * @generated
62 * @ordered
63 */
64 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
65
66 /**
67 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getType()
71 * @generated
72 * @ordered
73 */
74 protected MetricType type = TYPE_EDEFAULT;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected MetricDefinitionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.METRIC_DEFINITION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getHead()
104 {
105 return head;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
114 {
115 Expression oldHead = head;
116 head = newHead;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setHead(Expression newHead)
132 {
133 if (newHead != head)
134 {
135 NotificationChain msgs = null;
136 if (head != null)
137 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
138 if (newHead != null)
139 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
140 msgs = basicSetHead(newHead, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public Expression getBody()
154 {
155 return body;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
164 {
165 Expression oldBody = body;
166 body = newBody;
167 if (eNotificationRequired())
168 {
169 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, oldBody, newBody);
170 if (msgs == null) msgs = notification; else msgs.add(notification);
171 }
172 return msgs;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setBody(Expression newBody)
182 {
183 if (newBody != body)
184 {
185 NotificationChain msgs = null;
186 if (body != null)
187 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
188 if (newBody != null)
189 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
190 msgs = basicSetBody(newBody, msgs);
191 if (msgs != null) msgs.dispatch();
192 }
193 else if (eNotificationRequired())
194 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody));
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public MetricType getType()
204 {
205 return type;
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public void setType(MetricType newType)
215 {
216 MetricType oldType = type;
217 type = newType == null ? TYPE_EDEFAULT : newType;
218 if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
233 return basicSetHead(null, msgs);
234 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
235 return basicSetBody(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
251 return getHead();
252 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
253 return getBody();
254 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
255 return getType();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
271 setHead((Expression)newValue);
272 return;
273 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
277 setType((MetricType)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
294 setHead((Expression)null);
295 return;
296 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
300 setType(TYPE_EDEFAULT);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
317 return head != null;
318 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
319 return body != null;
320 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
321 return type != TYPE_EDEFAULT;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (type: ");
338 result.append(type);
339 result.append(')');
340 return result.toString();
341 }
342
343} //MetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
deleted file mode 100644
index a94f9894..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Named Element</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName <em>Name</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement
30{
31 /**
32 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getName()
36 * @generated
37 * @ordered
38 */
39 protected static final String NAME_EDEFAULT = null;
40
41 /**
42 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getName()
46 * @generated
47 * @ordered
48 */
49 protected String name = NAME_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected NamedElementImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return SolverLanguagePackage.Literals.NAMED_ELEMENT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public String getName()
79 {
80 return name;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public void setName(String newName)
90 {
91 String oldName = name;
92 name = newName;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType)
104 {
105 switch (featureID)
106 {
107 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
108 return getName();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue)
120 {
121 switch (featureID)
122 {
123 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
124 setName((String)newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
141 setName(NAME_EDEFAULT);
142 return;
143 }
144 super.eUnset(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public boolean eIsSet(int featureID)
154 {
155 switch (featureID)
156 {
157 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
158 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
159 }
160 return super.eIsSet(featureID);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public String toString()
170 {
171 if (eIsProxy()) return super.toString();
172
173 StringBuilder result = new StringBuilder(super.toString());
174 result.append(" (name: ");
175 result.append(name);
176 result.append(')');
177 return result.toString();
178 }
179
180} //NamedElementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
deleted file mode 100644
index 04622dfb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
+++ /dev/null
@@ -1,181 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.math.BigDecimal;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Numeric Literal</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue <em>Value</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral
31{
32 /**
33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getValue()
37 * @generated
38 * @ordered
39 */
40 protected static final BigDecimal VALUE_EDEFAULT = null;
41
42 /**
43 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getValue()
47 * @generated
48 * @ordered
49 */
50 protected BigDecimal value = VALUE_EDEFAULT;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected NumericLiteralImpl()
58 {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass()
69 {
70 return SolverLanguagePackage.Literals.NUMERIC_LITERAL;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public BigDecimal getValue()
80 {
81 return value;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setValue(BigDecimal newValue)
91 {
92 BigDecimal oldValue = value;
93 value = newValue;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType)
105 {
106 switch (featureID)
107 {
108 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
109 return getValue();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
125 setValue((BigDecimal)newValue);
126 return;
127 }
128 super.eSet(featureID, newValue);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void eUnset(int featureID)
138 {
139 switch (featureID)
140 {
141 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
142 setValue(VALUE_EDEFAULT);
143 return;
144 }
145 super.eUnset(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public boolean eIsSet(int featureID)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
160 }
161 return super.eIsSet(featureID);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public String toString()
171 {
172 if (eIsProxy()) return super.toString();
173
174 StringBuilder result = new StringBuilder(super.toString());
175 result.append(" (value: ");
176 result.append(value);
177 result.append(')');
178 return result.toString();
179 }
180
181} //NumericLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
deleted file mode 100644
index 43b16e31..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Objective Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getKind <em>Kind</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getObjective <em>Objective</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ObjectiveDefinitionImpl extends StatementImpl implements ObjectiveDefinition
34{
35 /**
36 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getKind()
40 * @generated
41 * @ordered
42 */
43 protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE;
44
45 /**
46 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getKind()
50 * @generated
51 * @ordered
52 */
53 protected ObjectiveKind kind = KIND_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getObjective() <em>Objective</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getObjective()
60 * @generated
61 * @ordered
62 */
63 protected Expression objective;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ObjectiveDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public ObjectiveKind getKind()
93 {
94 return kind;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setKind(ObjectiveKind newKind)
104 {
105 ObjectiveKind oldKind = kind;
106 kind = newKind == null ? KIND_EDEFAULT : newKind;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getObjective()
118 {
119 return objective;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs)
128 {
129 Expression oldObjective = objective;
130 objective = newObjective;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setObjective(Expression newObjective)
146 {
147 if (newObjective != objective)
148 {
149 NotificationChain msgs = null;
150 if (objective != null)
151 msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
152 if (newObjective != null)
153 msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
154 msgs = basicSetObjective(newObjective, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
172 return basicSetObjective(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
188 return getKind();
189 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
190 return getObjective();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
206 setKind((ObjectiveKind)newValue);
207 return;
208 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
209 setObjective((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
226 setKind(KIND_EDEFAULT);
227 return;
228 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
229 setObjective((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
246 return kind != KIND_EDEFAULT;
247 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
248 return objective != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (kind: ");
265 result.append(kind);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ObjectiveDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
deleted file mode 100644
index 50130f01..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
+++ /dev/null
@@ -1,400 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Predicate Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getBody <em>Body</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional <em>Functional</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class PredicateDefinitionImpl extends StatementImpl implements PredicateDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isFunctional()
61 * @generated
62 * @ordered
63 */
64 protected static final boolean FUNCTIONAL_EDEFAULT = false;
65
66 /**
67 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #isFunctional()
71 * @generated
72 * @ordered
73 */
74 protected boolean functional = FUNCTIONAL_EDEFAULT;
75
76 /**
77 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #isError()
81 * @generated
82 * @ordered
83 */
84 protected static final boolean ERROR_EDEFAULT = false;
85
86 /**
87 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #isError()
91 * @generated
92 * @ordered
93 */
94 protected boolean error = ERROR_EDEFAULT;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 protected PredicateDefinitionImpl()
102 {
103 super();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 protected EClass eStaticClass()
113 {
114 return SolverLanguagePackage.Literals.PREDICATE_DEFINITION;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getHead()
124 {
125 return head;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
134 {
135 Expression oldHead = head;
136 head = newHead;
137 if (eNotificationRequired())
138 {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, oldHead, newHead);
140 if (msgs == null) msgs = notification; else msgs.add(notification);
141 }
142 return msgs;
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public void setHead(Expression newHead)
152 {
153 if (newHead != head)
154 {
155 NotificationChain msgs = null;
156 if (head != null)
157 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
158 if (newHead != null)
159 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
160 msgs = basicSetHead(newHead, msgs);
161 if (msgs != null) msgs.dispatch();
162 }
163 else if (eNotificationRequired())
164 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead));
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Expression getBody()
174 {
175 return body;
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
184 {
185 Expression oldBody = body;
186 body = newBody;
187 if (eNotificationRequired())
188 {
189 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody);
190 if (msgs == null) msgs = notification; else msgs.add(notification);
191 }
192 return msgs;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void setBody(Expression newBody)
202 {
203 if (newBody != body)
204 {
205 NotificationChain msgs = null;
206 if (body != null)
207 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
208 if (newBody != null)
209 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
210 msgs = basicSetBody(newBody, msgs);
211 if (msgs != null) msgs.dispatch();
212 }
213 else if (eNotificationRequired())
214 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody));
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean isFunctional()
224 {
225 return functional;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setFunctional(boolean newFunctional)
235 {
236 boolean oldFunctional = functional;
237 functional = newFunctional;
238 if (eNotificationRequired())
239 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional));
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 @Override
248 public boolean isError()
249 {
250 return error;
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public void setError(boolean newError)
260 {
261 boolean oldError = error;
262 error = newError;
263 if (eNotificationRequired())
264 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error));
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
274 {
275 switch (featureID)
276 {
277 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
278 return basicSetHead(null, msgs);
279 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
280 return basicSetBody(null, msgs);
281 }
282 return super.eInverseRemove(otherEnd, featureID, msgs);
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public Object eGet(int featureID, boolean resolve, boolean coreType)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
296 return getHead();
297 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
298 return getBody();
299 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
300 return isFunctional();
301 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
302 return isError();
303 }
304 return super.eGet(featureID, resolve, coreType);
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public void eSet(int featureID, Object newValue)
314 {
315 switch (featureID)
316 {
317 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
318 setHead((Expression)newValue);
319 return;
320 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
321 setBody((Expression)newValue);
322 return;
323 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
324 setFunctional((Boolean)newValue);
325 return;
326 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
327 setError((Boolean)newValue);
328 return;
329 }
330 super.eSet(featureID, newValue);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 @Override
339 public void eUnset(int featureID)
340 {
341 switch (featureID)
342 {
343 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
344 setHead((Expression)null);
345 return;
346 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
347 setBody((Expression)null);
348 return;
349 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
350 setFunctional(FUNCTIONAL_EDEFAULT);
351 return;
352 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
353 setError(ERROR_EDEFAULT);
354 return;
355 }
356 super.eUnset(featureID);
357 }
358
359 /**
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 */
364 @Override
365 public boolean eIsSet(int featureID)
366 {
367 switch (featureID)
368 {
369 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
370 return head != null;
371 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
372 return body != null;
373 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
374 return functional != FUNCTIONAL_EDEFAULT;
375 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
376 return error != ERROR_EDEFAULT;
377 }
378 return super.eIsSet(featureID);
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 @Override
387 public String toString()
388 {
389 if (eIsProxy()) return super.toString();
390
391 StringBuilder result = new StringBuilder(super.toString());
392 result.append(" (functional: ");
393 result.append(functional);
394 result.append(", error: ");
395 result.append(error);
396 result.append(')');
397 return result.toString();
398 }
399
400} //PredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
deleted file mode 100644
index 744e604d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Problem;
21import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
22import org.eclipse.viatra.solver.language.solverLanguage.Statement;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Problem</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem
38{
39 /**
40 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getStatements()
44 * @generated
45 * @ordered
46 */
47 protected EList<Statement> statements;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ProblemImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.PROBLEM;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Statement> getStatements()
77 {
78 if (statements == null)
79 {
80 statements = new EObjectContainmentEList<Statement>(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS);
81 }
82 return statements;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.PROBLEM__STATEMENTS:
96 return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.PROBLEM__STATEMENTS:
112 return getStatements();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.PROBLEM__STATEMENTS:
129 getStatements().clear();
130 getStatements().addAll((Collection<? extends Statement>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.PROBLEM__STATEMENTS:
147 getStatements().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.PROBLEM__STATEMENTS:
164 return statements != null && !statements.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //ProblemImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
deleted file mode 100644
index be44c0e9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.Reference;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Reference</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getReferred <em>Referred</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ReferenceImpl extends ExpressionImpl implements Reference
31{
32 /**
33 * The cached value of the '{@link #getReferred() <em>Referred</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getReferred()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement referred;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ReferenceImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.REFERENCE;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getReferred()
70 {
71 if (referred != null && referred.eIsProxy())
72 {
73 InternalEObject oldReferred = (InternalEObject)referred;
74 referred = (NamedElement)eResolveProxy(oldReferred);
75 if (referred != oldReferred)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
79 }
80 }
81 return referred;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetReferred()
90 {
91 return referred;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setReferred(NamedElement newReferred)
101 {
102 NamedElement oldReferred = referred;
103 referred = newReferred;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.REFERENCE__REFERRED:
119 if (resolve) return getReferred();
120 return basicGetReferred();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.REFERENCE__REFERRED:
136 setReferred((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.REFERENCE__REFERRED:
153 setReferred((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.REFERENCE__REFERRED:
170 return referred != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
deleted file mode 100644
index be109307..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Scope Definition</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ScopeDefinitionImpl extends StatementImpl implements ScopeDefinition
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ScopeDefinitionImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.SCOPE_DEFINITION;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
deleted file mode 100644
index 509d7568..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ /dev/null
@@ -1,894 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EDataType;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15import org.eclipse.viatra.solver.language.solverLanguage.*;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model <b>Factory</b>.
20 * <!-- end-user-doc -->
21 * @generated
22 */
23public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory
24{
25 /**
26 * Creates the default factory implementation.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 public static SolverLanguageFactory init()
32 {
33 try
34 {
35 SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI);
36 if (theSolverLanguageFactory != null)
37 {
38 return theSolverLanguageFactory;
39 }
40 }
41 catch (Exception exception)
42 {
43 EcorePlugin.INSTANCE.log(exception);
44 }
45 return new SolverLanguageFactoryImpl();
46 }
47
48 /**
49 * Creates an instance of the factory.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 public SolverLanguageFactoryImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 public EObject create(EClass eClass)
66 {
67 switch (eClass.getClassifierID())
68 {
69 case SolverLanguagePackage.PROBLEM: return createProblem();
70 case SolverLanguagePackage.STATEMENT: return createStatement();
71 case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition();
72 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition();
73 case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition();
74 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition();
75 case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition();
76 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition();
77 case SolverLanguagePackage.EXPRESSION: return createExpression();
78 case SolverLanguagePackage.IF_ELSE: return createIfElse();
79 case SolverLanguagePackage.CASE: return createCase();
80 case SolverLanguagePackage.COUNT: return createCount();
81 case SolverLanguagePackage.AGGREGATION: return createAggregation();
82 case SolverLanguagePackage.CALL: return createCall();
83 case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList();
84 case SolverLanguagePackage.ARGUMENT: return createArgument();
85 case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument();
86 case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument();
87 case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument();
88 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument();
89 case SolverLanguagePackage.REFERENCE: return createReference();
90 case SolverLanguagePackage.INTERVAL: return createInterval();
91 case SolverLanguagePackage.LITERAL: return createLiteral();
92 case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral();
93 case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral();
94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
97 case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition();
98 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
99 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
100 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
101 case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity();
102 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity();
103 case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition();
104 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition();
105 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition();
106 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition();
107 case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition();
108 case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement();
109 case SolverLanguagePackage.ASSERTION: return createAssertion();
110 case SolverLanguagePackage.DISJUNCTION: return createDisjunction();
111 case SolverLanguagePackage.SWITCH: return createSwitch();
112 case SolverLanguagePackage.CONJUNCTION: return createConjunction();
113 case SolverLanguagePackage.COMPARISON: return createComparison();
114 case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression();
115 case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression();
116 default:
117 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
118 }
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public Object createFromString(EDataType eDataType, String initialValue)
128 {
129 switch (eDataType.getClassifierID())
130 {
131 case SolverLanguagePackage.METRIC_TYPE:
132 return createMetricTypeFromString(eDataType, initialValue);
133 case SolverLanguagePackage.BINARY_OPERATOR:
134 return createBinaryOperatorFromString(eDataType, initialValue);
135 case SolverLanguagePackage.UNARY_OP:
136 return createUnaryOpFromString(eDataType, initialValue);
137 case SolverLanguagePackage.AGGREGATION_OP:
138 return createAggregationOpFromString(eDataType, initialValue);
139 case SolverLanguagePackage.LOGIC_VALUE:
140 return createLogicValueFromString(eDataType, initialValue);
141 case SolverLanguagePackage.OBJECTIVE_KIND:
142 return createObjectiveKindFromString(eDataType, initialValue);
143 default:
144 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
145 }
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String convertToString(EDataType eDataType, Object instanceValue)
155 {
156 switch (eDataType.getClassifierID())
157 {
158 case SolverLanguagePackage.METRIC_TYPE:
159 return convertMetricTypeToString(eDataType, instanceValue);
160 case SolverLanguagePackage.BINARY_OPERATOR:
161 return convertBinaryOperatorToString(eDataType, instanceValue);
162 case SolverLanguagePackage.UNARY_OP:
163 return convertUnaryOpToString(eDataType, instanceValue);
164 case SolverLanguagePackage.AGGREGATION_OP:
165 return convertAggregationOpToString(eDataType, instanceValue);
166 case SolverLanguagePackage.LOGIC_VALUE:
167 return convertLogicValueToString(eDataType, instanceValue);
168 case SolverLanguagePackage.OBJECTIVE_KIND:
169 return convertObjectiveKindToString(eDataType, instanceValue);
170 default:
171 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
172 }
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public Problem createProblem()
182 {
183 ProblemImpl problem = new ProblemImpl();
184 return problem;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Statement createStatement()
194 {
195 StatementImpl statement = new StatementImpl();
196 return statement;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public PredicateDefinition createPredicateDefinition()
206 {
207 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
208 return predicateDefinition;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition()
218 {
219 UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl();
220 return unnamedErrorPrediateDefinition;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public DefaultDefinition createDefaultDefinition()
230 {
231 DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl();
232 return defaultDefinition;
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public ExternPredicateDefinition createExternPredicateDefinition()
242 {
243 ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl();
244 return externPredicateDefinition;
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public MetricDefinition createMetricDefinition()
254 {
255 MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl();
256 return metricDefinition;
257 }
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 @Override
265 public ExternMetricDefinition createExternMetricDefinition()
266 {
267 ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl();
268 return externMetricDefinition;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @Override
277 public Expression createExpression()
278 {
279 ExpressionImpl expression = new ExpressionImpl();
280 return expression;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public IfElse createIfElse()
290 {
291 IfElseImpl ifElse = new IfElseImpl();
292 return ifElse;
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public Case createCase()
302 {
303 CaseImpl case_ = new CaseImpl();
304 return case_;
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public Count createCount()
314 {
315 CountImpl count = new CountImpl();
316 return count;
317 }
318
319 /**
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 */
324 @Override
325 public Aggregation createAggregation()
326 {
327 AggregationImpl aggregation = new AggregationImpl();
328 return aggregation;
329 }
330
331 /**
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 @Override
337 public Call createCall()
338 {
339 CallImpl call = new CallImpl();
340 return call;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public ArgumentList createArgumentList()
350 {
351 ArgumentListImpl argumentList = new ArgumentListImpl();
352 return argumentList;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public Argument createArgument()
362 {
363 ArgumentImpl argument = new ArgumentImpl();
364 return argument;
365 }
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 @Override
373 public ExpressionArgument createExpressionArgument()
374 {
375 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
376 return expressionArgument;
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 @Override
385 public StarArgument createStarArgument()
386 {
387 StarArgumentImpl starArgument = new StarArgumentImpl();
388 return starArgument;
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 @Override
397 public TypedArgument createTypedArgument()
398 {
399 TypedArgumentImpl typedArgument = new TypedArgumentImpl();
400 return typedArgument;
401 }
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 @Override
409 public TypedStarArgument createTypedStarArgument()
410 {
411 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
412 return typedStarArgument;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 @Override
421 public Reference createReference()
422 {
423 ReferenceImpl reference = new ReferenceImpl();
424 return reference;
425 }
426
427 /**
428 * <!-- begin-user-doc -->
429 * <!-- end-user-doc -->
430 * @generated
431 */
432 @Override
433 public Interval createInterval()
434 {
435 IntervalImpl interval = new IntervalImpl();
436 return interval;
437 }
438
439 /**
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 */
444 @Override
445 public Literal createLiteral()
446 {
447 LiteralImpl literal = new LiteralImpl();
448 return literal;
449 }
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 @Override
457 public LogicLiteral createLogicLiteral()
458 {
459 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
460 return logicLiteral;
461 }
462
463 /**
464 * <!-- begin-user-doc -->
465 * <!-- end-user-doc -->
466 * @generated
467 */
468 @Override
469 public NumericLiteral createNumericLiteral()
470 {
471 NumericLiteralImpl numericLiteral = new NumericLiteralImpl();
472 return numericLiteral;
473 }
474
475 /**
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 */
480 @Override
481 public InfinityLiteral createInfinityLiteral()
482 {
483 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
484 return infinityLiteral;
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 @Override
493 public EmptyIntervalLiteral createEmptyIntervalLiteral()
494 {
495 EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl();
496 return emptyIntervalLiteral;
497 }
498
499 /**
500 * <!-- begin-user-doc -->
501 * <!-- end-user-doc -->
502 * @generated
503 */
504 @Override
505 public StringLiteral createStringLiteral()
506 {
507 StringLiteralImpl stringLiteral = new StringLiteralImpl();
508 return stringLiteral;
509 }
510
511 /**
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 */
516 @Override
517 public ClassDefinition createClassDefinition()
518 {
519 ClassDefinitionImpl classDefinition = new ClassDefinitionImpl();
520 return classDefinition;
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 @Override
529 public MemberDefinition createMemberDefinition()
530 {
531 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
532 return memberDefinition;
533 }
534
535 /**
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 */
540 @Override
541 public Multiplicity createMultiplicity()
542 {
543 MultiplicityImpl multiplicity = new MultiplicityImpl();
544 return multiplicity;
545 }
546
547 /**
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 */
552 @Override
553 public ManyMultiplicity createManyMultiplicity()
554 {
555 ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl();
556 return manyMultiplicity;
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public ExactMultiplicity createExactMultiplicity()
566 {
567 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
568 return exactMultiplicity;
569 }
570
571 /**
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 */
576 @Override
577 public BoundedMultiplicity createBoundedMultiplicity()
578 {
579 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
580 return boundedMultiplicity;
581 }
582
583 /**
584 * <!-- begin-user-doc -->
585 * <!-- end-user-doc -->
586 * @generated
587 */
588 @Override
589 public ScopeDefinition createScopeDefinition()
590 {
591 ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl();
592 return scopeDefinition;
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 @Override
601 public ExactScopeDefinition createExactScopeDefinition()
602 {
603 ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl();
604 return exactScopeDefinition;
605 }
606
607 /**
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @generated
611 */
612 @Override
613 public BoundedScopeDefinition createBoundedScopeDefinition()
614 {
615 BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl();
616 return boundedScopeDefinition;
617 }
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 @Override
625 public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition()
626 {
627 LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl();
628 return lowerBoundedScopeDefinition;
629 }
630
631 /**
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 */
636 @Override
637 public ObjectiveDefinition createObjectiveDefinition()
638 {
639 ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl();
640 return objectiveDefinition;
641 }
642
643 /**
644 * <!-- begin-user-doc -->
645 * <!-- end-user-doc -->
646 * @generated
647 */
648 @Override
649 public NamedElement createNamedElement()
650 {
651 NamedElementImpl namedElement = new NamedElementImpl();
652 return namedElement;
653 }
654
655 /**
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 */
660 @Override
661 public Assertion createAssertion()
662 {
663 AssertionImpl assertion = new AssertionImpl();
664 return assertion;
665 }
666
667 /**
668 * <!-- begin-user-doc -->
669 * <!-- end-user-doc -->
670 * @generated
671 */
672 @Override
673 public Disjunction createDisjunction()
674 {
675 DisjunctionImpl disjunction = new DisjunctionImpl();
676 return disjunction;
677 }
678
679 /**
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 @Override
685 public Switch createSwitch()
686 {
687 SwitchImpl switch_ = new SwitchImpl();
688 return switch_;
689 }
690
691 /**
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 */
696 @Override
697 public Conjunction createConjunction()
698 {
699 ConjunctionImpl conjunction = new ConjunctionImpl();
700 return conjunction;
701 }
702
703 /**
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @generated
707 */
708 @Override
709 public Comparison createComparison()
710 {
711 ComparisonImpl comparison = new ComparisonImpl();
712 return comparison;
713 }
714
715 /**
716 * <!-- begin-user-doc -->
717 * <!-- end-user-doc -->
718 * @generated
719 */
720 @Override
721 public BinaryExpression createBinaryExpression()
722 {
723 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
724 return binaryExpression;
725 }
726
727 /**
728 * <!-- begin-user-doc -->
729 * <!-- end-user-doc -->
730 * @generated
731 */
732 @Override
733 public UnaryExpression createUnaryExpression()
734 {
735 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
736 return unaryExpression;
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue)
745 {
746 MetricType result = MetricType.get(initialValue);
747 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
748 return result;
749 }
750
751 /**
752 * <!-- begin-user-doc -->
753 * <!-- end-user-doc -->
754 * @generated
755 */
756 public String convertMetricTypeToString(EDataType eDataType, Object instanceValue)
757 {
758 return instanceValue == null ? null : instanceValue.toString();
759 }
760
761 /**
762 * <!-- begin-user-doc -->
763 * <!-- end-user-doc -->
764 * @generated
765 */
766 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue)
767 {
768 BinaryOperator result = BinaryOperator.get(initialValue);
769 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
770 return result;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue)
779 {
780 return instanceValue == null ? null : instanceValue.toString();
781 }
782
783 /**
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @generated
787 */
788 public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue)
789 {
790 UnaryOp result = UnaryOp.get(initialValue);
791 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
792 return result;
793 }
794
795 /**
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @generated
799 */
800 public String convertUnaryOpToString(EDataType eDataType, Object instanceValue)
801 {
802 return instanceValue == null ? null : instanceValue.toString();
803 }
804
805 /**
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @generated
809 */
810 public AggregationOp createAggregationOpFromString(EDataType eDataType, String initialValue)
811 {
812 AggregationOp result = AggregationOp.get(initialValue);
813 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
814 return result;
815 }
816
817 /**
818 * <!-- begin-user-doc -->
819 * <!-- end-user-doc -->
820 * @generated
821 */
822 public String convertAggregationOpToString(EDataType eDataType, Object instanceValue)
823 {
824 return instanceValue == null ? null : instanceValue.toString();
825 }
826
827 /**
828 * <!-- begin-user-doc -->
829 * <!-- end-user-doc -->
830 * @generated
831 */
832 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue)
833 {
834 LogicValue result = LogicValue.get(initialValue);
835 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
836 return result;
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 */
844 public String convertLogicValueToString(EDataType eDataType, Object instanceValue)
845 {
846 return instanceValue == null ? null : instanceValue.toString();
847 }
848
849 /**
850 * <!-- begin-user-doc -->
851 * <!-- end-user-doc -->
852 * @generated
853 */
854 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue)
855 {
856 ObjectiveKind result = ObjectiveKind.get(initialValue);
857 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
858 return result;
859 }
860
861 /**
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 */
866 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue)
867 {
868 return instanceValue == null ? null : instanceValue.toString();
869 }
870
871 /**
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @generated
875 */
876 @Override
877 public SolverLanguagePackage getSolverLanguagePackage()
878 {
879 return (SolverLanguagePackage)getEPackage();
880 }
881
882 /**
883 * <!-- begin-user-doc -->
884 * <!-- end-user-doc -->
885 * @deprecated
886 * @generated
887 */
888 @Deprecated
889 public static SolverLanguagePackage getPackage()
890 {
891 return SolverLanguagePackage.eINSTANCE;
892 }
893
894} //SolverLanguageFactoryImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
deleted file mode 100644
index 39f811b9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ /dev/null
@@ -1,2379 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12import org.eclipse.emf.ecore.impl.EPackageImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
16import org.eclipse.viatra.solver.language.solverLanguage.Argument;
17import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
18import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
19import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
20import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
21import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.Call;
24import org.eclipse.viatra.solver.language.solverLanguage.Case;
25import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
26import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
27import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
28import org.eclipse.viatra.solver.language.solverLanguage.Count;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
30import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
31import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
32import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
33import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
34import org.eclipse.viatra.solver.language.solverLanguage.Expression;
35import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
36import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
39import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
40import org.eclipse.viatra.solver.language.solverLanguage.Interval;
41import org.eclipse.viatra.solver.language.solverLanguage.Literal;
42import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
43import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
44import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
45import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
46import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
47import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
48import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
49import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
50import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
51import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
52import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
53import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
54import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
55import org.eclipse.viatra.solver.language.solverLanguage.Problem;
56import org.eclipse.viatra.solver.language.solverLanguage.Reference;
57import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
58import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
59import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
60import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
61import org.eclipse.viatra.solver.language.solverLanguage.Statement;
62import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
63import org.eclipse.viatra.solver.language.solverLanguage.Switch;
64import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
65import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
66import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
67import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
68import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
69
70/**
71 * <!-- begin-user-doc -->
72 * An implementation of the model <b>Package</b>.
73 * <!-- end-user-doc -->
74 * @generated
75 */
76public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage
77{
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass problemEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass statementEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass predicateDefinitionEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass unnamedErrorPrediateDefinitionEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass defaultDefinitionEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass externPredicateDefinitionEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass metricDefinitionEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass externMetricDefinitionEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass expressionEClass = null;
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 private EClass ifElseEClass = null;
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 private EClass caseEClass = null;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 private EClass countEClass = null;
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 private EClass aggregationEClass = null;
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 private EClass callEClass = null;
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 private EClass argumentListEClass = null;
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 private EClass argumentEClass = null;
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private EClass expressionArgumentEClass = null;
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 private EClass starArgumentEClass = null;
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private EClass typedArgumentEClass = null;
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 private EClass typedStarArgumentEClass = null;
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 private EClass referenceEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass intervalEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 private EClass literalEClass = null;
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 private EClass logicLiteralEClass = null;
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 private EClass numericLiteralEClass = null;
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 private EClass infinityLiteralEClass = null;
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private EClass emptyIntervalLiteralEClass = null;
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 private EClass stringLiteralEClass = null;
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 private EClass classDefinitionEClass = null;
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 private EClass memberDefinitionEClass = null;
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 private EClass multiplicityEClass = null;
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 private EClass manyMultiplicityEClass = null;
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 private EClass exactMultiplicityEClass = null;
308
309 /**
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 */
314 private EClass boundedMultiplicityEClass = null;
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 private EClass scopeDefinitionEClass = null;
322
323 /**
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 private EClass exactScopeDefinitionEClass = null;
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 private EClass boundedScopeDefinitionEClass = null;
336
337 /**
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 */
342 private EClass lowerBoundedScopeDefinitionEClass = null;
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 private EClass objectiveDefinitionEClass = null;
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 private EClass namedElementEClass = null;
357
358 /**
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 */
363 private EClass assertionEClass = null;
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 private EClass disjunctionEClass = null;
371
372 /**
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @generated
376 */
377 private EClass switchEClass = null;
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 private EClass conjunctionEClass = null;
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 private EClass comparisonEClass = null;
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 private EClass binaryExpressionEClass = null;
399
400 /**
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @generated
404 */
405 private EClass unaryExpressionEClass = null;
406
407 /**
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 private EEnum metricTypeEEnum = null;
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 private EEnum binaryOperatorEEnum = null;
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 private EEnum unaryOpEEnum = null;
427
428 /**
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 */
433 private EEnum aggregationOpEEnum = null;
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 private EEnum logicValueEEnum = null;
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 private EEnum objectiveKindEEnum = null;
448
449 /**
450 * Creates an instance of the model <b>Package</b>, registered with
451 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
452 * package URI value.
453 * <p>Note: the correct way to create the package is via the static
454 * factory method {@link #init init()}, which also performs
455 * initialization of the package, or returns the registered package,
456 * if one already exists.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see org.eclipse.emf.ecore.EPackage.Registry
460 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
461 * @see #init()
462 * @generated
463 */
464 private SolverLanguagePackageImpl()
465 {
466 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 private static boolean isInited = false;
475
476 /**
477 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
478 *
479 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
480 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
481 * <!-- begin-user-doc -->
482 * <!-- end-user-doc -->
483 * @see #eNS_URI
484 * @see #createPackageContents()
485 * @see #initializePackageContents()
486 * @generated
487 */
488 public static SolverLanguagePackage init()
489 {
490 if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
491
492 // Obtain or create and register package
493 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
494 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl();
495
496 isInited = true;
497
498 // Create package meta-data objects
499 theSolverLanguagePackage.createPackageContents();
500
501 // Initialize created meta-data
502 theSolverLanguagePackage.initializePackageContents();
503
504 // Mark meta-data to indicate it can't be changed
505 theSolverLanguagePackage.freeze();
506
507 // Update the registry and return the package
508 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
509 return theSolverLanguagePackage;
510 }
511
512 /**
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 */
517 @Override
518 public EClass getProblem()
519 {
520 return problemEClass;
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 @Override
529 public EReference getProblem_Statements()
530 {
531 return (EReference)problemEClass.getEStructuralFeatures().get(0);
532 }
533
534 /**
535 * <!-- begin-user-doc -->
536 * <!-- end-user-doc -->
537 * @generated
538 */
539 @Override
540 public EClass getStatement()
541 {
542 return statementEClass;
543 }
544
545 /**
546 * <!-- begin-user-doc -->
547 * <!-- end-user-doc -->
548 * @generated
549 */
550 @Override
551 public EClass getPredicateDefinition()
552 {
553 return predicateDefinitionEClass;
554 }
555
556 /**
557 * <!-- begin-user-doc -->
558 * <!-- end-user-doc -->
559 * @generated
560 */
561 @Override
562 public EReference getPredicateDefinition_Head()
563 {
564 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
565 }
566
567 /**
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 */
572 @Override
573 public EReference getPredicateDefinition_Body()
574 {
575 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
576 }
577
578 /**
579 * <!-- begin-user-doc -->
580 * <!-- end-user-doc -->
581 * @generated
582 */
583 @Override
584 public EAttribute getPredicateDefinition_Functional()
585 {
586 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
587 }
588
589 /**
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 */
594 @Override
595 public EAttribute getPredicateDefinition_Error()
596 {
597 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
598 }
599
600 /**
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @generated
604 */
605 @Override
606 public EClass getUnnamedErrorPrediateDefinition()
607 {
608 return unnamedErrorPrediateDefinitionEClass;
609 }
610
611 /**
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 */
616 @Override
617 public EReference getUnnamedErrorPrediateDefinition_ArgumentList()
618 {
619 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
620 }
621
622 /**
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 */
627 @Override
628 public EReference getUnnamedErrorPrediateDefinition_Body()
629 {
630 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
631 }
632
633 /**
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @generated
637 */
638 @Override
639 public EClass getDefaultDefinition()
640 {
641 return defaultDefinitionEClass;
642 }
643
644 /**
645 * <!-- begin-user-doc -->
646 * <!-- end-user-doc -->
647 * @generated
648 */
649 @Override
650 public EReference getDefaultDefinition_Head()
651 {
652 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
653 }
654
655 /**
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 */
660 @Override
661 public EReference getDefaultDefinition_Range()
662 {
663 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
664 }
665
666 /**
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @generated
670 */
671 @Override
672 public EClass getExternPredicateDefinition()
673 {
674 return externPredicateDefinitionEClass;
675 }
676
677 /**
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 */
682 @Override
683 public EReference getExternPredicateDefinition_Head()
684 {
685 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
686 }
687
688 /**
689 * <!-- begin-user-doc -->
690 * <!-- end-user-doc -->
691 * @generated
692 */
693 @Override
694 public EClass getMetricDefinition()
695 {
696 return metricDefinitionEClass;
697 }
698
699 /**
700 * <!-- begin-user-doc -->
701 * <!-- end-user-doc -->
702 * @generated
703 */
704 @Override
705 public EReference getMetricDefinition_Head()
706 {
707 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
708 }
709
710 /**
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 */
715 @Override
716 public EReference getMetricDefinition_Body()
717 {
718 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
719 }
720
721 /**
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 @Override
727 public EAttribute getMetricDefinition_Type()
728 {
729 return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2);
730 }
731
732 /**
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @generated
736 */
737 @Override
738 public EClass getExternMetricDefinition()
739 {
740 return externMetricDefinitionEClass;
741 }
742
743 /**
744 * <!-- begin-user-doc -->
745 * <!-- end-user-doc -->
746 * @generated
747 */
748 @Override
749 public EAttribute getExternMetricDefinition_Type()
750 {
751 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
752 }
753
754 /**
755 * <!-- begin-user-doc -->
756 * <!-- end-user-doc -->
757 * @generated
758 */
759 @Override
760 public EReference getExternMetricDefinition_Head()
761 {
762 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
763 }
764
765 /**
766 * <!-- begin-user-doc -->
767 * <!-- end-user-doc -->
768 * @generated
769 */
770 @Override
771 public EClass getExpression()
772 {
773 return expressionEClass;
774 }
775
776 /**
777 * <!-- begin-user-doc -->
778 * <!-- end-user-doc -->
779 * @generated
780 */
781 @Override
782 public EClass getIfElse()
783 {
784 return ifElseEClass;
785 }
786
787 /**
788 * <!-- begin-user-doc -->
789 * <!-- end-user-doc -->
790 * @generated
791 */
792 @Override
793 public EReference getIfElse_Condition()
794 {
795 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
796 }
797
798 /**
799 * <!-- begin-user-doc -->
800 * <!-- end-user-doc -->
801 * @generated
802 */
803 @Override
804 public EReference getIfElse_Then()
805 {
806 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 @Override
815 public EReference getIfElse_Else()
816 {
817 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
818 }
819
820 /**
821 * <!-- begin-user-doc -->
822 * <!-- end-user-doc -->
823 * @generated
824 */
825 @Override
826 public EClass getCase()
827 {
828 return caseEClass;
829 }
830
831 /**
832 * <!-- begin-user-doc -->
833 * <!-- end-user-doc -->
834 * @generated
835 */
836 @Override
837 public EReference getCase_Condition()
838 {
839 return (EReference)caseEClass.getEStructuralFeatures().get(0);
840 }
841
842 /**
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 */
847 @Override
848 public EReference getCase_Body()
849 {
850 return (EReference)caseEClass.getEStructuralFeatures().get(1);
851 }
852
853 /**
854 * <!-- begin-user-doc -->
855 * <!-- end-user-doc -->
856 * @generated
857 */
858 @Override
859 public EClass getCount()
860 {
861 return countEClass;
862 }
863
864 /**
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 */
869 @Override
870 public EReference getCount_Body()
871 {
872 return (EReference)countEClass.getEStructuralFeatures().get(0);
873 }
874
875 /**
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @generated
879 */
880 @Override
881 public EClass getAggregation()
882 {
883 return aggregationEClass;
884 }
885
886 /**
887 * <!-- begin-user-doc -->
888 * <!-- end-user-doc -->
889 * @generated
890 */
891 @Override
892 public EAttribute getAggregation_Op()
893 {
894 return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0);
895 }
896
897 /**
898 * <!-- begin-user-doc -->
899 * <!-- end-user-doc -->
900 * @generated
901 */
902 @Override
903 public EReference getAggregation_Body()
904 {
905 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
906 }
907
908 /**
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 */
913 @Override
914 public EReference getAggregation_Condition()
915 {
916 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
917 }
918
919 /**
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @generated
923 */
924 @Override
925 public EClass getCall()
926 {
927 return callEClass;
928 }
929
930 /**
931 * <!-- begin-user-doc -->
932 * <!-- end-user-doc -->
933 * @generated
934 */
935 @Override
936 public EReference getCall_Functor()
937 {
938 return (EReference)callEClass.getEStructuralFeatures().get(0);
939 }
940
941 /**
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 */
946 @Override
947 public EAttribute getCall_TransitiveClosure()
948 {
949 return (EAttribute)callEClass.getEStructuralFeatures().get(1);
950 }
951
952 /**
953 * <!-- begin-user-doc -->
954 * <!-- end-user-doc -->
955 * @generated
956 */
957 @Override
958 public EAttribute getCall_ReflexiveTransitiveClosure()
959 {
960 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
961 }
962
963 /**
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @generated
967 */
968 @Override
969 public EReference getCall_ArgumentList()
970 {
971 return (EReference)callEClass.getEStructuralFeatures().get(3);
972 }
973
974 /**
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @generated
978 */
979 @Override
980 public EClass getArgumentList()
981 {
982 return argumentListEClass;
983 }
984
985 /**
986 * <!-- begin-user-doc -->
987 * <!-- end-user-doc -->
988 * @generated
989 */
990 @Override
991 public EReference getArgumentList_Arguments()
992 {
993 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
994 }
995
996 /**
997 * <!-- begin-user-doc -->
998 * <!-- end-user-doc -->
999 * @generated
1000 */
1001 @Override
1002 public EClass getArgument()
1003 {
1004 return argumentEClass;
1005 }
1006
1007 /**
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 */
1012 @Override
1013 public EClass getExpressionArgument()
1014 {
1015 return expressionArgumentEClass;
1016 }
1017
1018 /**
1019 * <!-- begin-user-doc -->
1020 * <!-- end-user-doc -->
1021 * @generated
1022 */
1023 @Override
1024 public EReference getExpressionArgument_Body()
1025 {
1026 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
1027 }
1028
1029 /**
1030 * <!-- begin-user-doc -->
1031 * <!-- end-user-doc -->
1032 * @generated
1033 */
1034 @Override
1035 public EClass getStarArgument()
1036 {
1037 return starArgumentEClass;
1038 }
1039
1040 /**
1041 * <!-- begin-user-doc -->
1042 * <!-- end-user-doc -->
1043 * @generated
1044 */
1045 @Override
1046 public EClass getTypedArgument()
1047 {
1048 return typedArgumentEClass;
1049 }
1050
1051 /**
1052 * <!-- begin-user-doc -->
1053 * <!-- end-user-doc -->
1054 * @generated
1055 */
1056 @Override
1057 public EReference getTypedArgument_Type()
1058 {
1059 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
1060 }
1061
1062 /**
1063 * <!-- begin-user-doc -->
1064 * <!-- end-user-doc -->
1065 * @generated
1066 */
1067 @Override
1068 public EReference getTypedArgument_Variable()
1069 {
1070 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1071 }
1072
1073 /**
1074 * <!-- begin-user-doc -->
1075 * <!-- end-user-doc -->
1076 * @generated
1077 */
1078 @Override
1079 public EClass getTypedStarArgument()
1080 {
1081 return typedStarArgumentEClass;
1082 }
1083
1084 /**
1085 * <!-- begin-user-doc -->
1086 * <!-- end-user-doc -->
1087 * @generated
1088 */
1089 @Override
1090 public EReference getTypedStarArgument_Type()
1091 {
1092 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1093 }
1094
1095 /**
1096 * <!-- begin-user-doc -->
1097 * <!-- end-user-doc -->
1098 * @generated
1099 */
1100 @Override
1101 public EClass getReference()
1102 {
1103 return referenceEClass;
1104 }
1105
1106 /**
1107 * <!-- begin-user-doc -->
1108 * <!-- end-user-doc -->
1109 * @generated
1110 */
1111 @Override
1112 public EReference getReference_Referred()
1113 {
1114 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1115 }
1116
1117 /**
1118 * <!-- begin-user-doc -->
1119 * <!-- end-user-doc -->
1120 * @generated
1121 */
1122 @Override
1123 public EClass getInterval()
1124 {
1125 return intervalEClass;
1126 }
1127
1128 /**
1129 * <!-- begin-user-doc -->
1130 * <!-- end-user-doc -->
1131 * @generated
1132 */
1133 @Override
1134 public EReference getInterval_LowerBound()
1135 {
1136 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1137 }
1138
1139 /**
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 */
1144 @Override
1145 public EReference getInterval_UpperBound()
1146 {
1147 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1148 }
1149
1150 /**
1151 * <!-- begin-user-doc -->
1152 * <!-- end-user-doc -->
1153 * @generated
1154 */
1155 @Override
1156 public EClass getLiteral()
1157 {
1158 return literalEClass;
1159 }
1160
1161 /**
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 */
1166 @Override
1167 public EClass getLogicLiteral()
1168 {
1169 return logicLiteralEClass;
1170 }
1171
1172 /**
1173 * <!-- begin-user-doc -->
1174 * <!-- end-user-doc -->
1175 * @generated
1176 */
1177 @Override
1178 public EAttribute getLogicLiteral_Value()
1179 {
1180 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1181 }
1182
1183 /**
1184 * <!-- begin-user-doc -->
1185 * <!-- end-user-doc -->
1186 * @generated
1187 */
1188 @Override
1189 public EClass getNumericLiteral()
1190 {
1191 return numericLiteralEClass;
1192 }
1193
1194 /**
1195 * <!-- begin-user-doc -->
1196 * <!-- end-user-doc -->
1197 * @generated
1198 */
1199 @Override
1200 public EAttribute getNumericLiteral_Value()
1201 {
1202 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1203 }
1204
1205 /**
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 */
1210 @Override
1211 public EClass getInfinityLiteral()
1212 {
1213 return infinityLiteralEClass;
1214 }
1215
1216 /**
1217 * <!-- begin-user-doc -->
1218 * <!-- end-user-doc -->
1219 * @generated
1220 */
1221 @Override
1222 public EClass getEmptyIntervalLiteral()
1223 {
1224 return emptyIntervalLiteralEClass;
1225 }
1226
1227 /**
1228 * <!-- begin-user-doc -->
1229 * <!-- end-user-doc -->
1230 * @generated
1231 */
1232 @Override
1233 public EClass getStringLiteral()
1234 {
1235 return stringLiteralEClass;
1236 }
1237
1238 /**
1239 * <!-- begin-user-doc -->
1240 * <!-- end-user-doc -->
1241 * @generated
1242 */
1243 @Override
1244 public EAttribute getStringLiteral_Value()
1245 {
1246 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1247 }
1248
1249 /**
1250 * <!-- begin-user-doc -->
1251 * <!-- end-user-doc -->
1252 * @generated
1253 */
1254 @Override
1255 public EClass getClassDefinition()
1256 {
1257 return classDefinitionEClass;
1258 }
1259
1260 /**
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @generated
1264 */
1265 @Override
1266 public EAttribute getClassDefinition_Abstract()
1267 {
1268 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0);
1269 }
1270
1271 /**
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @generated
1275 */
1276 @Override
1277 public EAttribute getClassDefinition_Name()
1278 {
1279 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1);
1280 }
1281
1282 /**
1283 * <!-- begin-user-doc -->
1284 * <!-- end-user-doc -->
1285 * @generated
1286 */
1287 @Override
1288 public EReference getClassDefinition_Superclasses()
1289 {
1290 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2);
1291 }
1292
1293 /**
1294 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc -->
1296 * @generated
1297 */
1298 @Override
1299 public EReference getClassDefinition_Members()
1300 {
1301 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3);
1302 }
1303
1304 /**
1305 * <!-- begin-user-doc -->
1306 * <!-- end-user-doc -->
1307 * @generated
1308 */
1309 @Override
1310 public EClass getMemberDefinition()
1311 {
1312 return memberDefinitionEClass;
1313 }
1314
1315 /**
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @generated
1319 */
1320 @Override
1321 public EAttribute getMemberDefinition_Containment()
1322 {
1323 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1324 }
1325
1326 /**
1327 * <!-- begin-user-doc -->
1328 * <!-- end-user-doc -->
1329 * @generated
1330 */
1331 @Override
1332 public EReference getMemberDefinition_Type()
1333 {
1334 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1335 }
1336
1337 /**
1338 * <!-- begin-user-doc -->
1339 * <!-- end-user-doc -->
1340 * @generated
1341 */
1342 @Override
1343 public EReference getMemberDefinition_Multiplicity()
1344 {
1345 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1346 }
1347
1348 /**
1349 * <!-- begin-user-doc -->
1350 * <!-- end-user-doc -->
1351 * @generated
1352 */
1353 @Override
1354 public EAttribute getMemberDefinition_Name()
1355 {
1356 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1357 }
1358
1359 /**
1360 * <!-- begin-user-doc -->
1361 * <!-- end-user-doc -->
1362 * @generated
1363 */
1364 @Override
1365 public EReference getMemberDefinition_Opposite()
1366 {
1367 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1368 }
1369
1370 /**
1371 * <!-- begin-user-doc -->
1372 * <!-- end-user-doc -->
1373 * @generated
1374 */
1375 @Override
1376 public EClass getMultiplicity()
1377 {
1378 return multiplicityEClass;
1379 }
1380
1381 /**
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 */
1386 @Override
1387 public EClass getManyMultiplicity()
1388 {
1389 return manyMultiplicityEClass;
1390 }
1391
1392 /**
1393 * <!-- begin-user-doc -->
1394 * <!-- end-user-doc -->
1395 * @generated
1396 */
1397 @Override
1398 public EClass getExactMultiplicity()
1399 {
1400 return exactMultiplicityEClass;
1401 }
1402
1403 /**
1404 * <!-- begin-user-doc -->
1405 * <!-- end-user-doc -->
1406 * @generated
1407 */
1408 @Override
1409 public EAttribute getExactMultiplicity_Multiplicity()
1410 {
1411 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1412 }
1413
1414 /**
1415 * <!-- begin-user-doc -->
1416 * <!-- end-user-doc -->
1417 * @generated
1418 */
1419 @Override
1420 public EClass getBoundedMultiplicity()
1421 {
1422 return boundedMultiplicityEClass;
1423 }
1424
1425 /**
1426 * <!-- begin-user-doc -->
1427 * <!-- end-user-doc -->
1428 * @generated
1429 */
1430 @Override
1431 public EAttribute getBoundedMultiplicity_LowerBound()
1432 {
1433 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1434 }
1435
1436 /**
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 */
1441 @Override
1442 public EAttribute getBoundedMultiplicity_UpperBound()
1443 {
1444 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1445 }
1446
1447 /**
1448 * <!-- begin-user-doc -->
1449 * <!-- end-user-doc -->
1450 * @generated
1451 */
1452 @Override
1453 public EClass getScopeDefinition()
1454 {
1455 return scopeDefinitionEClass;
1456 }
1457
1458 /**
1459 * <!-- begin-user-doc -->
1460 * <!-- end-user-doc -->
1461 * @generated
1462 */
1463 @Override
1464 public EReference getScopeDefinition_Type()
1465 {
1466 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1467 }
1468
1469 /**
1470 * <!-- begin-user-doc -->
1471 * <!-- end-user-doc -->
1472 * @generated
1473 */
1474 @Override
1475 public EClass getExactScopeDefinition()
1476 {
1477 return exactScopeDefinitionEClass;
1478 }
1479
1480 /**
1481 * <!-- begin-user-doc -->
1482 * <!-- end-user-doc -->
1483 * @generated
1484 */
1485 @Override
1486 public EAttribute getExactScopeDefinition_ExactScope()
1487 {
1488 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1489 }
1490
1491 /**
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 */
1496 @Override
1497 public EClass getBoundedScopeDefinition()
1498 {
1499 return boundedScopeDefinitionEClass;
1500 }
1501
1502 /**
1503 * <!-- begin-user-doc -->
1504 * <!-- end-user-doc -->
1505 * @generated
1506 */
1507 @Override
1508 public EAttribute getBoundedScopeDefinition_LowerBound()
1509 {
1510 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1511 }
1512
1513 /**
1514 * <!-- begin-user-doc -->
1515 * <!-- end-user-doc -->
1516 * @generated
1517 */
1518 @Override
1519 public EAttribute getBoundedScopeDefinition_UpperBound()
1520 {
1521 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1522 }
1523
1524 /**
1525 * <!-- begin-user-doc -->
1526 * <!-- end-user-doc -->
1527 * @generated
1528 */
1529 @Override
1530 public EClass getLowerBoundedScopeDefinition()
1531 {
1532 return lowerBoundedScopeDefinitionEClass;
1533 }
1534
1535 /**
1536 * <!-- begin-user-doc -->
1537 * <!-- end-user-doc -->
1538 * @generated
1539 */
1540 @Override
1541 public EAttribute getLowerBoundedScopeDefinition_LowerBound()
1542 {
1543 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1544 }
1545
1546 /**
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 */
1551 @Override
1552 public EClass getObjectiveDefinition()
1553 {
1554 return objectiveDefinitionEClass;
1555 }
1556
1557 /**
1558 * <!-- begin-user-doc -->
1559 * <!-- end-user-doc -->
1560 * @generated
1561 */
1562 @Override
1563 public EAttribute getObjectiveDefinition_Kind()
1564 {
1565 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1566 }
1567
1568 /**
1569 * <!-- begin-user-doc -->
1570 * <!-- end-user-doc -->
1571 * @generated
1572 */
1573 @Override
1574 public EReference getObjectiveDefinition_Objective()
1575 {
1576 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1577 }
1578
1579 /**
1580 * <!-- begin-user-doc -->
1581 * <!-- end-user-doc -->
1582 * @generated
1583 */
1584 @Override
1585 public EClass getNamedElement()
1586 {
1587 return namedElementEClass;
1588 }
1589
1590 /**
1591 * <!-- begin-user-doc -->
1592 * <!-- end-user-doc -->
1593 * @generated
1594 */
1595 @Override
1596 public EAttribute getNamedElement_Name()
1597 {
1598 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
1599 }
1600
1601 /**
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @generated
1605 */
1606 @Override
1607 public EClass getAssertion()
1608 {
1609 return assertionEClass;
1610 }
1611
1612 /**
1613 * <!-- begin-user-doc -->
1614 * <!-- end-user-doc -->
1615 * @generated
1616 */
1617 @Override
1618 public EReference getAssertion_Body()
1619 {
1620 return (EReference)assertionEClass.getEStructuralFeatures().get(0);
1621 }
1622
1623 /**
1624 * <!-- begin-user-doc -->
1625 * <!-- end-user-doc -->
1626 * @generated
1627 */
1628 @Override
1629 public EReference getAssertion_Range()
1630 {
1631 return (EReference)assertionEClass.getEStructuralFeatures().get(1);
1632 }
1633
1634 /**
1635 * <!-- begin-user-doc -->
1636 * <!-- end-user-doc -->
1637 * @generated
1638 */
1639 @Override
1640 public EClass getDisjunction()
1641 {
1642 return disjunctionEClass;
1643 }
1644
1645 /**
1646 * <!-- begin-user-doc -->
1647 * <!-- end-user-doc -->
1648 * @generated
1649 */
1650 @Override
1651 public EReference getDisjunction_Children()
1652 {
1653 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1654 }
1655
1656 /**
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @generated
1660 */
1661 @Override
1662 public EClass getSwitch()
1663 {
1664 return switchEClass;
1665 }
1666
1667 /**
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @generated
1671 */
1672 @Override
1673 public EReference getSwitch_Cases()
1674 {
1675 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1676 }
1677
1678 /**
1679 * <!-- begin-user-doc -->
1680 * <!-- end-user-doc -->
1681 * @generated
1682 */
1683 @Override
1684 public EClass getConjunction()
1685 {
1686 return conjunctionEClass;
1687 }
1688
1689 /**
1690 * <!-- begin-user-doc -->
1691 * <!-- end-user-doc -->
1692 * @generated
1693 */
1694 @Override
1695 public EReference getConjunction_Children()
1696 {
1697 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1698 }
1699
1700 /**
1701 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc -->
1703 * @generated
1704 */
1705 @Override
1706 public EClass getComparison()
1707 {
1708 return comparisonEClass;
1709 }
1710
1711 /**
1712 * <!-- begin-user-doc -->
1713 * <!-- end-user-doc -->
1714 * @generated
1715 */
1716 @Override
1717 public EReference getComparison_Left()
1718 {
1719 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1720 }
1721
1722 /**
1723 * <!-- begin-user-doc -->
1724 * <!-- end-user-doc -->
1725 * @generated
1726 */
1727 @Override
1728 public EAttribute getComparison_Op()
1729 {
1730 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1731 }
1732
1733 /**
1734 * <!-- begin-user-doc -->
1735 * <!-- end-user-doc -->
1736 * @generated
1737 */
1738 @Override
1739 public EReference getComparison_Right()
1740 {
1741 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1742 }
1743
1744 /**
1745 * <!-- begin-user-doc -->
1746 * <!-- end-user-doc -->
1747 * @generated
1748 */
1749 @Override
1750 public EClass getBinaryExpression()
1751 {
1752 return binaryExpressionEClass;
1753 }
1754
1755 /**
1756 * <!-- begin-user-doc -->
1757 * <!-- end-user-doc -->
1758 * @generated
1759 */
1760 @Override
1761 public EReference getBinaryExpression_Left()
1762 {
1763 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1764 }
1765
1766 /**
1767 * <!-- begin-user-doc -->
1768 * <!-- end-user-doc -->
1769 * @generated
1770 */
1771 @Override
1772 public EAttribute getBinaryExpression_Op()
1773 {
1774 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1775 }
1776
1777 /**
1778 * <!-- begin-user-doc -->
1779 * <!-- end-user-doc -->
1780 * @generated
1781 */
1782 @Override
1783 public EReference getBinaryExpression_Right()
1784 {
1785 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1786 }
1787
1788 /**
1789 * <!-- begin-user-doc -->
1790 * <!-- end-user-doc -->
1791 * @generated
1792 */
1793 @Override
1794 public EClass getUnaryExpression()
1795 {
1796 return unaryExpressionEClass;
1797 }
1798
1799 /**
1800 * <!-- begin-user-doc -->
1801 * <!-- end-user-doc -->
1802 * @generated
1803 */
1804 @Override
1805 public EAttribute getUnaryExpression_Op()
1806 {
1807 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
1808 }
1809
1810 /**
1811 * <!-- begin-user-doc -->
1812 * <!-- end-user-doc -->
1813 * @generated
1814 */
1815 @Override
1816 public EReference getUnaryExpression_Body()
1817 {
1818 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
1819 }
1820
1821 /**
1822 * <!-- begin-user-doc -->
1823 * <!-- end-user-doc -->
1824 * @generated
1825 */
1826 @Override
1827 public EEnum getMetricType()
1828 {
1829 return metricTypeEEnum;
1830 }
1831
1832 /**
1833 * <!-- begin-user-doc -->
1834 * <!-- end-user-doc -->
1835 * @generated
1836 */
1837 @Override
1838 public EEnum getBinaryOperator()
1839 {
1840 return binaryOperatorEEnum;
1841 }
1842
1843 /**
1844 * <!-- begin-user-doc -->
1845 * <!-- end-user-doc -->
1846 * @generated
1847 */
1848 @Override
1849 public EEnum getUnaryOp()
1850 {
1851 return unaryOpEEnum;
1852 }
1853
1854 /**
1855 * <!-- begin-user-doc -->
1856 * <!-- end-user-doc -->
1857 * @generated
1858 */
1859 @Override
1860 public EEnum getAggregationOp()
1861 {
1862 return aggregationOpEEnum;
1863 }
1864
1865 /**
1866 * <!-- begin-user-doc -->
1867 * <!-- end-user-doc -->
1868 * @generated
1869 */
1870 @Override
1871 public EEnum getLogicValue()
1872 {
1873 return logicValueEEnum;
1874 }
1875
1876 /**
1877 * <!-- begin-user-doc -->
1878 * <!-- end-user-doc -->
1879 * @generated
1880 */
1881 @Override
1882 public EEnum getObjectiveKind()
1883 {
1884 return objectiveKindEEnum;
1885 }
1886
1887 /**
1888 * <!-- begin-user-doc -->
1889 * <!-- end-user-doc -->
1890 * @generated
1891 */
1892 @Override
1893 public SolverLanguageFactory getSolverLanguageFactory()
1894 {
1895 return (SolverLanguageFactory)getEFactoryInstance();
1896 }
1897
1898 /**
1899 * <!-- begin-user-doc -->
1900 * <!-- end-user-doc -->
1901 * @generated
1902 */
1903 private boolean isCreated = false;
1904
1905 /**
1906 * Creates the meta-model objects for the package. This method is
1907 * guarded to have no affect on any invocation but its first.
1908 * <!-- begin-user-doc -->
1909 * <!-- end-user-doc -->
1910 * @generated
1911 */
1912 public void createPackageContents()
1913 {
1914 if (isCreated) return;
1915 isCreated = true;
1916
1917 // Create classes and their features
1918 problemEClass = createEClass(PROBLEM);
1919 createEReference(problemEClass, PROBLEM__STATEMENTS);
1920
1921 statementEClass = createEClass(STATEMENT);
1922
1923 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
1924 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
1925 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
1926 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
1927 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
1928
1929 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
1930 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
1931 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
1932
1933 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
1934 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
1935 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
1936
1937 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
1938 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD);
1939
1940 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
1941 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
1942 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
1943 createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
1944
1945 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
1946 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
1947 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD);
1948
1949 expressionEClass = createEClass(EXPRESSION);
1950
1951 ifElseEClass = createEClass(IF_ELSE);
1952 createEReference(ifElseEClass, IF_ELSE__CONDITION);
1953 createEReference(ifElseEClass, IF_ELSE__THEN);
1954 createEReference(ifElseEClass, IF_ELSE__ELSE);
1955
1956 caseEClass = createEClass(CASE);
1957 createEReference(caseEClass, CASE__CONDITION);
1958 createEReference(caseEClass, CASE__BODY);
1959
1960 countEClass = createEClass(COUNT);
1961 createEReference(countEClass, COUNT__BODY);
1962
1963 aggregationEClass = createEClass(AGGREGATION);
1964 createEAttribute(aggregationEClass, AGGREGATION__OP);
1965 createEReference(aggregationEClass, AGGREGATION__BODY);
1966 createEReference(aggregationEClass, AGGREGATION__CONDITION);
1967
1968 callEClass = createEClass(CALL);
1969 createEReference(callEClass, CALL__FUNCTOR);
1970 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
1971 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
1972 createEReference(callEClass, CALL__ARGUMENT_LIST);
1973
1974 argumentListEClass = createEClass(ARGUMENT_LIST);
1975 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
1976
1977 argumentEClass = createEClass(ARGUMENT);
1978
1979 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
1980 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
1981
1982 starArgumentEClass = createEClass(STAR_ARGUMENT);
1983
1984 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
1985 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
1986 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
1987
1988 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
1989 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
1990
1991 referenceEClass = createEClass(REFERENCE);
1992 createEReference(referenceEClass, REFERENCE__REFERRED);
1993
1994 intervalEClass = createEClass(INTERVAL);
1995 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
1996 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
1997
1998 literalEClass = createEClass(LITERAL);
1999
2000 logicLiteralEClass = createEClass(LOGIC_LITERAL);
2001 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
2002
2003 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
2004 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
2005
2006 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
2007
2008 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
2009
2010 stringLiteralEClass = createEClass(STRING_LITERAL);
2011 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
2012
2013 classDefinitionEClass = createEClass(CLASS_DEFINITION);
2014 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT);
2015 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME);
2016 createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES);
2017 createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS);
2018
2019 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
2020 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2021 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2022 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2023 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2024 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
2025
2026 multiplicityEClass = createEClass(MULTIPLICITY);
2027
2028 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
2029
2030 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2031 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
2032
2033 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
2034 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
2035 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
2036
2037 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
2038 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
2039
2040 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
2041 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
2042
2043 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
2044 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2045 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
2046
2047 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
2048 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2049
2050 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2051 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2052 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
2053
2054 namedElementEClass = createEClass(NAMED_ELEMENT);
2055 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
2056
2057 assertionEClass = createEClass(ASSERTION);
2058 createEReference(assertionEClass, ASSERTION__BODY);
2059 createEReference(assertionEClass, ASSERTION__RANGE);
2060
2061 disjunctionEClass = createEClass(DISJUNCTION);
2062 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
2063
2064 switchEClass = createEClass(SWITCH);
2065 createEReference(switchEClass, SWITCH__CASES);
2066
2067 conjunctionEClass = createEClass(CONJUNCTION);
2068 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
2069
2070 comparisonEClass = createEClass(COMPARISON);
2071 createEReference(comparisonEClass, COMPARISON__LEFT);
2072 createEAttribute(comparisonEClass, COMPARISON__OP);
2073 createEReference(comparisonEClass, COMPARISON__RIGHT);
2074
2075 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2076 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2077 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2078 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
2079
2080 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2081 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2082 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
2083
2084 // Create enums
2085 metricTypeEEnum = createEEnum(METRIC_TYPE);
2086 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2087 unaryOpEEnum = createEEnum(UNARY_OP);
2088 aggregationOpEEnum = createEEnum(AGGREGATION_OP);
2089 logicValueEEnum = createEEnum(LOGIC_VALUE);
2090 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
2091 }
2092
2093 /**
2094 * <!-- begin-user-doc -->
2095 * <!-- end-user-doc -->
2096 * @generated
2097 */
2098 private boolean isInitialized = false;
2099
2100 /**
2101 * Complete the initialization of the package and its meta-model. This
2102 * method is guarded to have no affect on any invocation but its first.
2103 * <!-- begin-user-doc -->
2104 * <!-- end-user-doc -->
2105 * @generated
2106 */
2107 public void initializePackageContents()
2108 {
2109 if (isInitialized) return;
2110 isInitialized = true;
2111
2112 // Initialize package
2113 setName(eNAME);
2114 setNsPrefix(eNS_PREFIX);
2115 setNsURI(eNS_URI);
2116
2117 // Create type parameters
2118
2119 // Set bounds for type parameters
2120
2121 // Add supertypes to classes
2122 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2123 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
2124 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
2125 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2126 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
2127 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
2128 expressionEClass.getESuperTypes().add(this.getStatement());
2129 ifElseEClass.getESuperTypes().add(this.getExpression());
2130 caseEClass.getESuperTypes().add(this.getExpression());
2131 countEClass.getESuperTypes().add(this.getExpression());
2132 aggregationEClass.getESuperTypes().add(this.getExpression());
2133 callEClass.getESuperTypes().add(this.getExpression());
2134 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
2135 starArgumentEClass.getESuperTypes().add(this.getArgument());
2136 typedArgumentEClass.getESuperTypes().add(this.getArgument());
2137 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
2138 referenceEClass.getESuperTypes().add(this.getExpression());
2139 intervalEClass.getESuperTypes().add(this.getExpression());
2140 literalEClass.getESuperTypes().add(this.getExpression());
2141 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
2142 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
2143 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2144 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
2145 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2146 classDefinitionEClass.getESuperTypes().add(this.getStatement());
2147 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2148 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2149 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2150 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
2151 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2152 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2153 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2154 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
2155 assertionEClass.getESuperTypes().add(this.getStatement());
2156 disjunctionEClass.getESuperTypes().add(this.getExpression());
2157 switchEClass.getESuperTypes().add(this.getExpression());
2158 conjunctionEClass.getESuperTypes().add(this.getExpression());
2159 comparisonEClass.getESuperTypes().add(this.getExpression());
2160 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
2161 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
2162
2163 // Initialize classes and features; add operations and parameters
2164 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2165 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2166
2167 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2168
2169 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2170 initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2171 initEReference(getPredicateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2172 initEAttribute(getPredicateDefinition_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2173 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2174
2175 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2176 initEReference(getUnnamedErrorPrediateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2177 initEReference(getUnnamedErrorPrediateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2178
2179 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2180 initEReference(getDefaultDefinition_Head(), this.getCall(), null, "head", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2181 initEReference(getDefaultDefinition_Range(), this.getExpression(), null, "range", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2182
2183 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2184 initEReference(getExternPredicateDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2185
2186 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2187 initEReference(getMetricDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2188 initEReference(getMetricDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2189 initEAttribute(getMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2190
2191 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2192 initEAttribute(getExternMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2193 initEReference(getExternMetricDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2194
2195 initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2196
2197 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2198 initEReference(getIfElse_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2199 initEReference(getIfElse_Then(), this.getExpression(), null, "then", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2200 initEReference(getIfElse_Else(), this.getExpression(), null, "else", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2201
2202 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2203 initEReference(getCase_Condition(), this.getExpression(), null, "condition", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2204 initEReference(getCase_Body(), this.getExpression(), null, "body", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2205
2206 initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2207 initEReference(getCount_Body(), this.getExpression(), null, "body", null, 0, 1, Count.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2208
2209 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2210 initEAttribute(getAggregation_Op(), this.getAggregationOp(), "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2211 initEReference(getAggregation_Body(), this.getExpression(), null, "body", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2212 initEReference(getAggregation_Condition(), this.getExpression(), null, "condition", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2213
2214 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2215 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2216 initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2217 initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2218 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2219
2220 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2221 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2222
2223 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2224
2225 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2226 initEReference(getExpressionArgument_Body(), this.getExpression(), null, "body", null, 0, 1, ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2227
2228 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2229
2230 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2231 initEReference(getTypedArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2232 initEReference(getTypedArgument_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2233
2234 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2235 initEReference(getTypedStarArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedStarArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2236
2237 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2238 initEReference(getReference_Referred(), this.getNamedElement(), null, "referred", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2239
2240 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2241 initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2242 initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2243
2244 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2245
2246 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2247 initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2248
2249 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2250 initEAttribute(getNumericLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, NumericLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2251
2252 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2253
2254 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2255
2256 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2257 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2258
2259 initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2260 initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2261 initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2262 initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2263 initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2264
2265 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2266 initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2267 initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2268 initEReference(getMemberDefinition_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2269 initEAttribute(getMemberDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2270 initEReference(getMemberDefinition_Opposite(), this.getNamedElement(), null, "opposite", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2271
2272 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2273
2274 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2275
2276 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2277 initEAttribute(getExactMultiplicity_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 0, 1, ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2278
2279 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2280 initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2281 initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2282
2283 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2284 initEReference(getScopeDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2285
2286 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2287 initEAttribute(getExactScopeDefinition_ExactScope(), ecorePackage.getEInt(), "exactScope", null, 0, 1, ExactScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2288
2289 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2290 initEAttribute(getBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2291 initEAttribute(getBoundedScopeDefinition_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2292
2293 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2294 initEAttribute(getLowerBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, LowerBoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2295
2296 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2297 initEAttribute(getObjectiveDefinition_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2298 initEReference(getObjectiveDefinition_Objective(), this.getExpression(), null, "objective", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2299
2300 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2301 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2302
2303 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2304 initEReference(getAssertion_Body(), this.getExpression(), null, "body", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2305 initEReference(getAssertion_Range(), this.getExpression(), null, "range", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2306
2307 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2308 initEReference(getDisjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Disjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2309
2310 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2311 initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2312
2313 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2314 initEReference(getConjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Conjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2315
2316 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2317 initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2318 initEAttribute(getComparison_Op(), this.getBinaryOperator(), "op", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2319 initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2320
2321 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2322 initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2323 initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2324 initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2325
2326 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2327 initEAttribute(getUnaryExpression_Op(), this.getUnaryOp(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2328 initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2329
2330 // Initialize enums and add enum literals
2331 initEEnum(metricTypeEEnum, MetricType.class, "MetricType");
2332 addEEnumLiteral(metricTypeEEnum, MetricType.INT);
2333 addEEnumLiteral(metricTypeEEnum, MetricType.REAL);
2334
2335 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2336 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2337 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2338 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2339 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2340 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2341 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2342 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2343 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2344 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2345 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2346 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2347 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2348
2349 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2350 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2351 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2352 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2353 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2354 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2355 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2356
2357 initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp");
2358 addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY);
2359 addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM);
2360 addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD);
2361 addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG);
2362 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN);
2363 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX);
2364
2365 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2366 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2367 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2368 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2369 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2370
2371 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2372 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2373 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
2374
2375 // Create resource
2376 createResource(eNS_URI);
2377 }
2378
2379} //SolverLanguagePackageImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
deleted file mode 100644
index 2b0b2720..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>String Literal</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class StringLiteralImpl extends LiteralImpl implements StringLiteral
29{
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final String VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected String value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected StringLiteralImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.STRING_LITERAL;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getValue()
78 {
79 return value;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setValue(String newValue)
89 {
90 String oldValue = value;
91 value = newValue;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.STRING_LITERAL__VALUE:
107 return getValue();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.STRING_LITERAL__VALUE:
123 setValue((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.STRING_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.STRING_LITERAL__VALUE:
157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (value: ");
174 result.append(value);
175 result.append(')');
176 return result.toString();
177 }
178
179} //StringLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
deleted file mode 100644
index fefd5be6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Case;
19import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
20import org.eclipse.viatra.solver.language.solverLanguage.Switch;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Switch</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases <em>Cases</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class SwitchImpl extends ExpressionImpl implements Switch
36{
37 /**
38 * The cached value of the '{@link #getCases() <em>Cases</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getCases()
42 * @generated
43 * @ordered
44 */
45 protected EList<Case> cases;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected SwitchImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.SWITCH;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Case> getCases()
75 {
76 if (cases == null)
77 {
78 cases = new EObjectContainmentEList<Case>(Case.class, this, SolverLanguagePackage.SWITCH__CASES);
79 }
80 return cases;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.SWITCH__CASES:
94 return ((InternalEList<?>)getCases()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.SWITCH__CASES:
110 return getCases();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.SWITCH__CASES:
127 getCases().clear();
128 getCases().addAll((Collection<? extends Case>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.SWITCH__CASES:
145 getCases().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.SWITCH__CASES:
162 return cases != null && !cases.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //SwitchImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
deleted file mode 100644
index 2d93f402..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
+++ /dev/null
@@ -1,242 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getType <em>Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getVariable <em>Variable</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TypedArgumentImpl extends ArgumentImpl implements TypedArgument
32{
33 /**
34 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getType()
38 * @generated
39 * @ordered
40 */
41 protected NamedElement type;
42
43 /**
44 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getVariable()
48 * @generated
49 * @ordered
50 */
51 protected NamedElement variable;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected TypedArgumentImpl()
59 {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass()
70 {
71 return SolverLanguagePackage.Literals.TYPED_ARGUMENT;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public NamedElement getType()
81 {
82 if (type != null && type.eIsProxy())
83 {
84 InternalEObject oldType = (InternalEObject)type;
85 type = (NamedElement)eResolveProxy(oldType);
86 if (type != oldType)
87 {
88 if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
90 }
91 }
92 return type;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public NamedElement basicGetType()
101 {
102 return type;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void setType(NamedElement newType)
112 {
113 NamedElement oldType = type;
114 type = newType;
115 if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public NamedElement getVariable()
126 {
127 if (variable != null && variable.eIsProxy())
128 {
129 InternalEObject oldVariable = (InternalEObject)variable;
130 variable = (NamedElement)eResolveProxy(oldVariable);
131 if (variable != oldVariable)
132 {
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
135 }
136 }
137 return variable;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public NamedElement basicGetVariable()
146 {
147 return variable;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setVariable(NamedElement newVariable)
157 {
158 NamedElement oldVariable = variable;
159 variable = newVariable;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public Object eGet(int featureID, boolean resolve, boolean coreType)
171 {
172 switch (featureID)
173 {
174 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
175 if (resolve) return getType();
176 return basicGetType();
177 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
178 if (resolve) return getVariable();
179 return basicGetVariable();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue)
191 {
192 switch (featureID)
193 {
194 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
195 setType((NamedElement)newValue);
196 return;
197 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
198 setVariable((NamedElement)newValue);
199 return;
200 }
201 super.eSet(featureID, newValue);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void eUnset(int featureID)
211 {
212 switch (featureID)
213 {
214 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
215 setType((NamedElement)null);
216 return;
217 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
218 setVariable((NamedElement)null);
219 return;
220 }
221 super.eUnset(featureID);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public boolean eIsSet(int featureID)
231 {
232 switch (featureID)
233 {
234 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
235 return type != null;
236 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
237 return variable != null;
238 }
239 return super.eIsSet(featureID);
240 }
241
242} //TypedArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
deleted file mode 100644
index dd2b46bc..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Star Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class TypedStarArgumentImpl extends ArgumentImpl implements TypedStarArgument
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected TypedStarArgumentImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //TypedStarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
deleted file mode 100644
index ee5ebfbb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
17import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression
34{
35 /**
36 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOp()
40 * @generated
41 * @ordered
42 */
43 protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG;
44
45 /**
46 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getOp()
50 * @generated
51 * @ordered
52 */
53 protected UnaryOp op = OP_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getBody()
60 * @generated
61 * @ordered
62 */
63 protected Expression body;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected UnaryExpressionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.UNARY_EXPRESSION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public UnaryOp getOp()
93 {
94 return op;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setOp(UnaryOp newOp)
104 {
105 UnaryOp oldOp = op;
106 op = newOp == null ? OP_EDEFAULT : newOp;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getBody()
118 {
119 return body;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
128 {
129 Expression oldBody = body;
130 body = newBody;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setBody(Expression newBody)
146 {
147 if (newBody != body)
148 {
149 NotificationChain msgs = null;
150 if (body != null)
151 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
152 if (newBody != null)
153 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
154 msgs = basicSetBody(newBody, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
172 return basicSetBody(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
188 return getOp();
189 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
190 return getBody();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
206 setOp((UnaryOp)newValue);
207 return;
208 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
209 setBody((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
226 setOp(OP_EDEFAULT);
227 return;
228 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
229 setBody((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
246 return op != OP_EDEFAULT;
247 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
248 return body != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (op: ");
265 result.append(op);
266 result.append(')');
267 return result.toString();
268 }
269
270} //UnaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
deleted file mode 100644
index cd6a3271..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unnamed Error Prediate Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getArgumentList <em>Argument List</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnnamedErrorPrediateDefinitionImpl extends StatementImpl implements UnnamedErrorPrediateDefinition
34{
35 /**
36 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getArgumentList()
40 * @generated
41 * @ordered
42 */
43 protected ArgumentList argumentList;
44
45 /**
46 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getBody()
50 * @generated
51 * @ordered
52 */
53 protected Expression body;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected UnnamedErrorPrediateDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public ArgumentList getArgumentList()
83 {
84 return argumentList;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
93 {
94 ArgumentList oldArgumentList = argumentList;
95 argumentList = newArgumentList;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setArgumentList(ArgumentList newArgumentList)
111 {
112 if (newArgumentList != argumentList)
113 {
114 NotificationChain msgs = null;
115 if (argumentList != null)
116 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
117 if (newArgumentList != null)
118 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
119 msgs = basicSetArgumentList(newArgumentList, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getBody()
133 {
134 return body;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
143 {
144 Expression oldBody = body;
145 body = newBody;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setBody(Expression newBody)
161 {
162 if (newBody != body)
163 {
164 NotificationChain msgs = null;
165 if (body != null)
166 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
167 if (newBody != null)
168 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
169 msgs = basicSetBody(newBody, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
187 return basicSetArgumentList(null, msgs);
188 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
189 return basicSetBody(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
205 return getArgumentList();
206 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
207 return getBody();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
223 setArgumentList((ArgumentList)newValue);
224 return;
225 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
226 setBody((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
243 setArgumentList((ArgumentList)null);
244 return;
245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
246 setBody((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
263 return argumentList != null;
264 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
265 return body != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //UnnamedErrorPrediateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
deleted file mode 100644
index 37b20718..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ /dev/null
@@ -1,1053 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.common.notify.Adapter;
7import org.eclipse.emf.common.notify.Notifier;
8
9import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
10
11import org.eclipse.emf.ecore.EObject;
12
13import org.eclipse.viatra.solver.language.solverLanguage.*;
14
15/**
16 * <!-- begin-user-doc -->
17 * The <b>Adapter Factory</b> for the model.
18 * It provides an adapter <code>createXXX</code> method for each class of the model.
19 * <!-- end-user-doc -->
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
21 * @generated
22 */
23public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
24{
25 /**
26 * The cached model package.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 protected static SolverLanguagePackage modelPackage;
32
33 /**
34 * Creates an instance of the adapter factory.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 public SolverLanguageAdapterFactory()
40 {
41 if (modelPackage == null)
42 {
43 modelPackage = SolverLanguagePackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Returns whether this factory is applicable for the type of the object.
49 * <!-- begin-user-doc -->
50 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51 * <!-- end-user-doc -->
52 * @return whether this factory is applicable for the type of the object.
53 * @generated
54 */
55 @Override
56 public boolean isFactoryForType(Object object)
57 {
58 if (object == modelPackage)
59 {
60 return true;
61 }
62 if (object instanceof EObject)
63 {
64 return ((EObject)object).eClass().getEPackage() == modelPackage;
65 }
66 return false;
67 }
68
69 /**
70 * The switch that delegates to the <code>createXXX</code> methods.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected SolverLanguageSwitch<Adapter> modelSwitch =
76 new SolverLanguageSwitch<Adapter>()
77 {
78 @Override
79 public Adapter caseProblem(Problem object)
80 {
81 return createProblemAdapter();
82 }
83 @Override
84 public Adapter caseStatement(Statement object)
85 {
86 return createStatementAdapter();
87 }
88 @Override
89 public Adapter casePredicateDefinition(PredicateDefinition object)
90 {
91 return createPredicateDefinitionAdapter();
92 }
93 @Override
94 public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
95 {
96 return createUnnamedErrorPrediateDefinitionAdapter();
97 }
98 @Override
99 public Adapter caseDefaultDefinition(DefaultDefinition object)
100 {
101 return createDefaultDefinitionAdapter();
102 }
103 @Override
104 public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object)
105 {
106 return createExternPredicateDefinitionAdapter();
107 }
108 @Override
109 public Adapter caseMetricDefinition(MetricDefinition object)
110 {
111 return createMetricDefinitionAdapter();
112 }
113 @Override
114 public Adapter caseExternMetricDefinition(ExternMetricDefinition object)
115 {
116 return createExternMetricDefinitionAdapter();
117 }
118 @Override
119 public Adapter caseExpression(Expression object)
120 {
121 return createExpressionAdapter();
122 }
123 @Override
124 public Adapter caseIfElse(IfElse object)
125 {
126 return createIfElseAdapter();
127 }
128 @Override
129 public Adapter caseCase(Case object)
130 {
131 return createCaseAdapter();
132 }
133 @Override
134 public Adapter caseCount(Count object)
135 {
136 return createCountAdapter();
137 }
138 @Override
139 public Adapter caseAggregation(Aggregation object)
140 {
141 return createAggregationAdapter();
142 }
143 @Override
144 public Adapter caseCall(Call object)
145 {
146 return createCallAdapter();
147 }
148 @Override
149 public Adapter caseArgumentList(ArgumentList object)
150 {
151 return createArgumentListAdapter();
152 }
153 @Override
154 public Adapter caseArgument(Argument object)
155 {
156 return createArgumentAdapter();
157 }
158 @Override
159 public Adapter caseExpressionArgument(ExpressionArgument object)
160 {
161 return createExpressionArgumentAdapter();
162 }
163 @Override
164 public Adapter caseStarArgument(StarArgument object)
165 {
166 return createStarArgumentAdapter();
167 }
168 @Override
169 public Adapter caseTypedArgument(TypedArgument object)
170 {
171 return createTypedArgumentAdapter();
172 }
173 @Override
174 public Adapter caseTypedStarArgument(TypedStarArgument object)
175 {
176 return createTypedStarArgumentAdapter();
177 }
178 @Override
179 public Adapter caseReference(Reference object)
180 {
181 return createReferenceAdapter();
182 }
183 @Override
184 public Adapter caseInterval(Interval object)
185 {
186 return createIntervalAdapter();
187 }
188 @Override
189 public Adapter caseLiteral(Literal object)
190 {
191 return createLiteralAdapter();
192 }
193 @Override
194 public Adapter caseLogicLiteral(LogicLiteral object)
195 {
196 return createLogicLiteralAdapter();
197 }
198 @Override
199 public Adapter caseNumericLiteral(NumericLiteral object)
200 {
201 return createNumericLiteralAdapter();
202 }
203 @Override
204 public Adapter caseInfinityLiteral(InfinityLiteral object)
205 {
206 return createInfinityLiteralAdapter();
207 }
208 @Override
209 public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
210 {
211 return createEmptyIntervalLiteralAdapter();
212 }
213 @Override
214 public Adapter caseStringLiteral(StringLiteral object)
215 {
216 return createStringLiteralAdapter();
217 }
218 @Override
219 public Adapter caseClassDefinition(ClassDefinition object)
220 {
221 return createClassDefinitionAdapter();
222 }
223 @Override
224 public Adapter caseMemberDefinition(MemberDefinition object)
225 {
226 return createMemberDefinitionAdapter();
227 }
228 @Override
229 public Adapter caseMultiplicity(Multiplicity object)
230 {
231 return createMultiplicityAdapter();
232 }
233 @Override
234 public Adapter caseManyMultiplicity(ManyMultiplicity object)
235 {
236 return createManyMultiplicityAdapter();
237 }
238 @Override
239 public Adapter caseExactMultiplicity(ExactMultiplicity object)
240 {
241 return createExactMultiplicityAdapter();
242 }
243 @Override
244 public Adapter caseBoundedMultiplicity(BoundedMultiplicity object)
245 {
246 return createBoundedMultiplicityAdapter();
247 }
248 @Override
249 public Adapter caseScopeDefinition(ScopeDefinition object)
250 {
251 return createScopeDefinitionAdapter();
252 }
253 @Override
254 public Adapter caseExactScopeDefinition(ExactScopeDefinition object)
255 {
256 return createExactScopeDefinitionAdapter();
257 }
258 @Override
259 public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object)
260 {
261 return createBoundedScopeDefinitionAdapter();
262 }
263 @Override
264 public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
265 {
266 return createLowerBoundedScopeDefinitionAdapter();
267 }
268 @Override
269 public Adapter caseObjectiveDefinition(ObjectiveDefinition object)
270 {
271 return createObjectiveDefinitionAdapter();
272 }
273 @Override
274 public Adapter caseNamedElement(NamedElement object)
275 {
276 return createNamedElementAdapter();
277 }
278 @Override
279 public Adapter caseAssertion(Assertion object)
280 {
281 return createAssertionAdapter();
282 }
283 @Override
284 public Adapter caseDisjunction(Disjunction object)
285 {
286 return createDisjunctionAdapter();
287 }
288 @Override
289 public Adapter caseSwitch(Switch object)
290 {
291 return createSwitchAdapter();
292 }
293 @Override
294 public Adapter caseConjunction(Conjunction object)
295 {
296 return createConjunctionAdapter();
297 }
298 @Override
299 public Adapter caseComparison(Comparison object)
300 {
301 return createComparisonAdapter();
302 }
303 @Override
304 public Adapter caseBinaryExpression(BinaryExpression object)
305 {
306 return createBinaryExpressionAdapter();
307 }
308 @Override
309 public Adapter caseUnaryExpression(UnaryExpression object)
310 {
311 return createUnaryExpressionAdapter();
312 }
313 @Override
314 public Adapter defaultCase(EObject object)
315 {
316 return createEObjectAdapter();
317 }
318 };
319
320 /**
321 * Creates an adapter for the <code>target</code>.
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @param target the object to adapt.
325 * @return the adapter for the <code>target</code>.
326 * @generated
327 */
328 @Override
329 public Adapter createAdapter(Notifier target)
330 {
331 return modelSwitch.doSwitch((EObject)target);
332 }
333
334
335 /**
336 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
337 * <!-- begin-user-doc -->
338 * This default implementation returns null so that we can easily ignore cases;
339 * it's useful to ignore a case when inheritance will catch all the cases anyway.
340 * <!-- end-user-doc -->
341 * @return the new adapter.
342 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
343 * @generated
344 */
345 public Adapter createProblemAdapter()
346 {
347 return null;
348 }
349
350 /**
351 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
352 * <!-- begin-user-doc -->
353 * This default implementation returns null so that we can easily ignore cases;
354 * it's useful to ignore a case when inheritance will catch all the cases anyway.
355 * <!-- end-user-doc -->
356 * @return the new adapter.
357 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
358 * @generated
359 */
360 public Adapter createStatementAdapter()
361 {
362 return null;
363 }
364
365 /**
366 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
367 * <!-- begin-user-doc -->
368 * This default implementation returns null so that we can easily ignore cases;
369 * it's useful to ignore a case when inheritance will catch all the cases anyway.
370 * <!-- end-user-doc -->
371 * @return the new adapter.
372 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
373 * @generated
374 */
375 public Adapter createPredicateDefinitionAdapter()
376 {
377 return null;
378 }
379
380 /**
381 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
382 * <!-- begin-user-doc -->
383 * This default implementation returns null so that we can easily ignore cases;
384 * it's useful to ignore a case when inheritance will catch all the cases anyway.
385 * <!-- end-user-doc -->
386 * @return the new adapter.
387 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
388 * @generated
389 */
390 public Adapter createUnnamedErrorPrediateDefinitionAdapter()
391 {
392 return null;
393 }
394
395 /**
396 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
397 * <!-- begin-user-doc -->
398 * This default implementation returns null so that we can easily ignore cases;
399 * it's useful to ignore a case when inheritance will catch all the cases anyway.
400 * <!-- end-user-doc -->
401 * @return the new adapter.
402 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
403 * @generated
404 */
405 public Adapter createDefaultDefinitionAdapter()
406 {
407 return null;
408 }
409
410 /**
411 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
412 * <!-- begin-user-doc -->
413 * This default implementation returns null so that we can easily ignore cases;
414 * it's useful to ignore a case when inheritance will catch all the cases anyway.
415 * <!-- end-user-doc -->
416 * @return the new adapter.
417 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
418 * @generated
419 */
420 public Adapter createExternPredicateDefinitionAdapter()
421 {
422 return null;
423 }
424
425 /**
426 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
427 * <!-- begin-user-doc -->
428 * This default implementation returns null so that we can easily ignore cases;
429 * it's useful to ignore a case when inheritance will catch all the cases anyway.
430 * <!-- end-user-doc -->
431 * @return the new adapter.
432 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
433 * @generated
434 */
435 public Adapter createMetricDefinitionAdapter()
436 {
437 return null;
438 }
439
440 /**
441 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
442 * <!-- begin-user-doc -->
443 * This default implementation returns null so that we can easily ignore cases;
444 * it's useful to ignore a case when inheritance will catch all the cases anyway.
445 * <!-- end-user-doc -->
446 * @return the new adapter.
447 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
448 * @generated
449 */
450 public Adapter createExternMetricDefinitionAdapter()
451 {
452 return null;
453 }
454
455 /**
456 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
457 * <!-- begin-user-doc -->
458 * This default implementation returns null so that we can easily ignore cases;
459 * it's useful to ignore a case when inheritance will catch all the cases anyway.
460 * <!-- end-user-doc -->
461 * @return the new adapter.
462 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
463 * @generated
464 */
465 public Adapter createExpressionAdapter()
466 {
467 return null;
468 }
469
470 /**
471 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
472 * <!-- begin-user-doc -->
473 * This default implementation returns null so that we can easily ignore cases;
474 * it's useful to ignore a case when inheritance will catch all the cases anyway.
475 * <!-- end-user-doc -->
476 * @return the new adapter.
477 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
478 * @generated
479 */
480 public Adapter createIfElseAdapter()
481 {
482 return null;
483 }
484
485 /**
486 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
487 * <!-- begin-user-doc -->
488 * This default implementation returns null so that we can easily ignore cases;
489 * it's useful to ignore a case when inheritance will catch all the cases anyway.
490 * <!-- end-user-doc -->
491 * @return the new adapter.
492 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
493 * @generated
494 */
495 public Adapter createCaseAdapter()
496 {
497 return null;
498 }
499
500 /**
501 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
502 * <!-- begin-user-doc -->
503 * This default implementation returns null so that we can easily ignore cases;
504 * it's useful to ignore a case when inheritance will catch all the cases anyway.
505 * <!-- end-user-doc -->
506 * @return the new adapter.
507 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
508 * @generated
509 */
510 public Adapter createCountAdapter()
511 {
512 return null;
513 }
514
515 /**
516 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
517 * <!-- begin-user-doc -->
518 * This default implementation returns null so that we can easily ignore cases;
519 * it's useful to ignore a case when inheritance will catch all the cases anyway.
520 * <!-- end-user-doc -->
521 * @return the new adapter.
522 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
523 * @generated
524 */
525 public Adapter createAggregationAdapter()
526 {
527 return null;
528 }
529
530 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
532 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases;
534 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc -->
536 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
538 * @generated
539 */
540 public Adapter createCallAdapter()
541 {
542 return null;
543 }
544
545 /**
546 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
547 * <!-- begin-user-doc -->
548 * This default implementation returns null so that we can easily ignore cases;
549 * it's useful to ignore a case when inheritance will catch all the cases anyway.
550 * <!-- end-user-doc -->
551 * @return the new adapter.
552 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
553 * @generated
554 */
555 public Adapter createArgumentListAdapter()
556 {
557 return null;
558 }
559
560 /**
561 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
562 * <!-- begin-user-doc -->
563 * This default implementation returns null so that we can easily ignore cases;
564 * it's useful to ignore a case when inheritance will catch all the cases anyway.
565 * <!-- end-user-doc -->
566 * @return the new adapter.
567 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
568 * @generated
569 */
570 public Adapter createArgumentAdapter()
571 {
572 return null;
573 }
574
575 /**
576 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
577 * <!-- begin-user-doc -->
578 * This default implementation returns null so that we can easily ignore cases;
579 * it's useful to ignore a case when inheritance will catch all the cases anyway.
580 * <!-- end-user-doc -->
581 * @return the new adapter.
582 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
583 * @generated
584 */
585 public Adapter createExpressionArgumentAdapter()
586 {
587 return null;
588 }
589
590 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
592 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc -->
596 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
598 * @generated
599 */
600 public Adapter createStarArgumentAdapter()
601 {
602 return null;
603 }
604
605 /**
606 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
607 * <!-- begin-user-doc -->
608 * This default implementation returns null so that we can easily ignore cases;
609 * it's useful to ignore a case when inheritance will catch all the cases anyway.
610 * <!-- end-user-doc -->
611 * @return the new adapter.
612 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
613 * @generated
614 */
615 public Adapter createTypedArgumentAdapter()
616 {
617 return null;
618 }
619
620 /**
621 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
622 * <!-- begin-user-doc -->
623 * This default implementation returns null so that we can easily ignore cases;
624 * it's useful to ignore a case when inheritance will catch all the cases anyway.
625 * <!-- end-user-doc -->
626 * @return the new adapter.
627 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
628 * @generated
629 */
630 public Adapter createTypedStarArgumentAdapter()
631 {
632 return null;
633 }
634
635 /**
636 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
637 * <!-- begin-user-doc -->
638 * This default implementation returns null so that we can easily ignore cases;
639 * it's useful to ignore a case when inheritance will catch all the cases anyway.
640 * <!-- end-user-doc -->
641 * @return the new adapter.
642 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
643 * @generated
644 */
645 public Adapter createReferenceAdapter()
646 {
647 return null;
648 }
649
650 /**
651 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
652 * <!-- begin-user-doc -->
653 * This default implementation returns null so that we can easily ignore cases;
654 * it's useful to ignore a case when inheritance will catch all the cases anyway.
655 * <!-- end-user-doc -->
656 * @return the new adapter.
657 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
658 * @generated
659 */
660 public Adapter createIntervalAdapter()
661 {
662 return null;
663 }
664
665 /**
666 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
667 * <!-- begin-user-doc -->
668 * This default implementation returns null so that we can easily ignore cases;
669 * it's useful to ignore a case when inheritance will catch all the cases anyway.
670 * <!-- end-user-doc -->
671 * @return the new adapter.
672 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
673 * @generated
674 */
675 public Adapter createLiteralAdapter()
676 {
677 return null;
678 }
679
680 /**
681 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
682 * <!-- begin-user-doc -->
683 * This default implementation returns null so that we can easily ignore cases;
684 * it's useful to ignore a case when inheritance will catch all the cases anyway.
685 * <!-- end-user-doc -->
686 * @return the new adapter.
687 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
688 * @generated
689 */
690 public Adapter createLogicLiteralAdapter()
691 {
692 return null;
693 }
694
695 /**
696 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
697 * <!-- begin-user-doc -->
698 * This default implementation returns null so that we can easily ignore cases;
699 * it's useful to ignore a case when inheritance will catch all the cases anyway.
700 * <!-- end-user-doc -->
701 * @return the new adapter.
702 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
703 * @generated
704 */
705 public Adapter createNumericLiteralAdapter()
706 {
707 return null;
708 }
709
710 /**
711 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
712 * <!-- begin-user-doc -->
713 * This default implementation returns null so that we can easily ignore cases;
714 * it's useful to ignore a case when inheritance will catch all the cases anyway.
715 * <!-- end-user-doc -->
716 * @return the new adapter.
717 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
718 * @generated
719 */
720 public Adapter createInfinityLiteralAdapter()
721 {
722 return null;
723 }
724
725 /**
726 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
727 * <!-- begin-user-doc -->
728 * This default implementation returns null so that we can easily ignore cases;
729 * it's useful to ignore a case when inheritance will catch all the cases anyway.
730 * <!-- end-user-doc -->
731 * @return the new adapter.
732 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
733 * @generated
734 */
735 public Adapter createEmptyIntervalLiteralAdapter()
736 {
737 return null;
738 }
739
740 /**
741 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
742 * <!-- begin-user-doc -->
743 * This default implementation returns null so that we can easily ignore cases;
744 * it's useful to ignore a case when inheritance will catch all the cases anyway.
745 * <!-- end-user-doc -->
746 * @return the new adapter.
747 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
748 * @generated
749 */
750 public Adapter createStringLiteralAdapter()
751 {
752 return null;
753 }
754
755 /**
756 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
757 * <!-- begin-user-doc -->
758 * This default implementation returns null so that we can easily ignore cases;
759 * it's useful to ignore a case when inheritance will catch all the cases anyway.
760 * <!-- end-user-doc -->
761 * @return the new adapter.
762 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
763 * @generated
764 */
765 public Adapter createClassDefinitionAdapter()
766 {
767 return null;
768 }
769
770 /**
771 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
772 * <!-- begin-user-doc -->
773 * This default implementation returns null so that we can easily ignore cases;
774 * it's useful to ignore a case when inheritance will catch all the cases anyway.
775 * <!-- end-user-doc -->
776 * @return the new adapter.
777 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
778 * @generated
779 */
780 public Adapter createMemberDefinitionAdapter()
781 {
782 return null;
783 }
784
785 /**
786 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
787 * <!-- begin-user-doc -->
788 * This default implementation returns null so that we can easily ignore cases;
789 * it's useful to ignore a case when inheritance will catch all the cases anyway.
790 * <!-- end-user-doc -->
791 * @return the new adapter.
792 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
793 * @generated
794 */
795 public Adapter createMultiplicityAdapter()
796 {
797 return null;
798 }
799
800 /**
801 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
802 * <!-- begin-user-doc -->
803 * This default implementation returns null so that we can easily ignore cases;
804 * it's useful to ignore a case when inheritance will catch all the cases anyway.
805 * <!-- end-user-doc -->
806 * @return the new adapter.
807 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
808 * @generated
809 */
810 public Adapter createManyMultiplicityAdapter()
811 {
812 return null;
813 }
814
815 /**
816 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
817 * <!-- begin-user-doc -->
818 * This default implementation returns null so that we can easily ignore cases;
819 * it's useful to ignore a case when inheritance will catch all the cases anyway.
820 * <!-- end-user-doc -->
821 * @return the new adapter.
822 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
823 * @generated
824 */
825 public Adapter createExactMultiplicityAdapter()
826 {
827 return null;
828 }
829
830 /**
831 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
832 * <!-- begin-user-doc -->
833 * This default implementation returns null so that we can easily ignore cases;
834 * it's useful to ignore a case when inheritance will catch all the cases anyway.
835 * <!-- end-user-doc -->
836 * @return the new adapter.
837 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
838 * @generated
839 */
840 public Adapter createBoundedMultiplicityAdapter()
841 {
842 return null;
843 }
844
845 /**
846 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
847 * <!-- begin-user-doc -->
848 * This default implementation returns null so that we can easily ignore cases;
849 * it's useful to ignore a case when inheritance will catch all the cases anyway.
850 * <!-- end-user-doc -->
851 * @return the new adapter.
852 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
853 * @generated
854 */
855 public Adapter createScopeDefinitionAdapter()
856 {
857 return null;
858 }
859
860 /**
861 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
862 * <!-- begin-user-doc -->
863 * This default implementation returns null so that we can easily ignore cases;
864 * it's useful to ignore a case when inheritance will catch all the cases anyway.
865 * <!-- end-user-doc -->
866 * @return the new adapter.
867 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
868 * @generated
869 */
870 public Adapter createExactScopeDefinitionAdapter()
871 {
872 return null;
873 }
874
875 /**
876 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
877 * <!-- begin-user-doc -->
878 * This default implementation returns null so that we can easily ignore cases;
879 * it's useful to ignore a case when inheritance will catch all the cases anyway.
880 * <!-- end-user-doc -->
881 * @return the new adapter.
882 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
883 * @generated
884 */
885 public Adapter createBoundedScopeDefinitionAdapter()
886 {
887 return null;
888 }
889
890 /**
891 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
892 * <!-- begin-user-doc -->
893 * This default implementation returns null so that we can easily ignore cases;
894 * it's useful to ignore a case when inheritance will catch all the cases anyway.
895 * <!-- end-user-doc -->
896 * @return the new adapter.
897 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
898 * @generated
899 */
900 public Adapter createLowerBoundedScopeDefinitionAdapter()
901 {
902 return null;
903 }
904
905 /**
906 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
907 * <!-- begin-user-doc -->
908 * This default implementation returns null so that we can easily ignore cases;
909 * it's useful to ignore a case when inheritance will catch all the cases anyway.
910 * <!-- end-user-doc -->
911 * @return the new adapter.
912 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
913 * @generated
914 */
915 public Adapter createObjectiveDefinitionAdapter()
916 {
917 return null;
918 }
919
920 /**
921 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
922 * <!-- begin-user-doc -->
923 * This default implementation returns null so that we can easily ignore cases;
924 * it's useful to ignore a case when inheritance will catch all the cases anyway.
925 * <!-- end-user-doc -->
926 * @return the new adapter.
927 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
928 * @generated
929 */
930 public Adapter createNamedElementAdapter()
931 {
932 return null;
933 }
934
935 /**
936 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
937 * <!-- begin-user-doc -->
938 * This default implementation returns null so that we can easily ignore cases;
939 * it's useful to ignore a case when inheritance will catch all the cases anyway.
940 * <!-- end-user-doc -->
941 * @return the new adapter.
942 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
943 * @generated
944 */
945 public Adapter createAssertionAdapter()
946 {
947 return null;
948 }
949
950 /**
951 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
952 * <!-- begin-user-doc -->
953 * This default implementation returns null so that we can easily ignore cases;
954 * it's useful to ignore a case when inheritance will catch all the cases anyway.
955 * <!-- end-user-doc -->
956 * @return the new adapter.
957 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
958 * @generated
959 */
960 public Adapter createDisjunctionAdapter()
961 {
962 return null;
963 }
964
965 /**
966 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
967 * <!-- begin-user-doc -->
968 * This default implementation returns null so that we can easily ignore cases;
969 * it's useful to ignore a case when inheritance will catch all the cases anyway.
970 * <!-- end-user-doc -->
971 * @return the new adapter.
972 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
973 * @generated
974 */
975 public Adapter createSwitchAdapter()
976 {
977 return null;
978 }
979
980 /**
981 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
982 * <!-- begin-user-doc -->
983 * This default implementation returns null so that we can easily ignore cases;
984 * it's useful to ignore a case when inheritance will catch all the cases anyway.
985 * <!-- end-user-doc -->
986 * @return the new adapter.
987 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
988 * @generated
989 */
990 public Adapter createConjunctionAdapter()
991 {
992 return null;
993 }
994
995 /**
996 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
997 * <!-- begin-user-doc -->
998 * This default implementation returns null so that we can easily ignore cases;
999 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1000 * <!-- end-user-doc -->
1001 * @return the new adapter.
1002 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
1003 * @generated
1004 */
1005 public Adapter createComparisonAdapter()
1006 {
1007 return null;
1008 }
1009
1010 /**
1011 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
1012 * <!-- begin-user-doc -->
1013 * This default implementation returns null so that we can easily ignore cases;
1014 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1015 * <!-- end-user-doc -->
1016 * @return the new adapter.
1017 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
1018 * @generated
1019 */
1020 public Adapter createBinaryExpressionAdapter()
1021 {
1022 return null;
1023 }
1024
1025 /**
1026 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
1027 * <!-- begin-user-doc -->
1028 * This default implementation returns null so that we can easily ignore cases;
1029 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1030 * <!-- end-user-doc -->
1031 * @return the new adapter.
1032 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
1033 * @generated
1034 */
1035 public Adapter createUnaryExpressionAdapter()
1036 {
1037 return null;
1038 }
1039
1040 /**
1041 * Creates a new adapter for the default case.
1042 * <!-- begin-user-doc -->
1043 * This default implementation returns null.
1044 * <!-- end-user-doc -->
1045 * @return the new adapter.
1046 * @generated
1047 */
1048 public Adapter createEObjectAdapter()
1049 {
1050 return null;
1051 }
1052
1053} //SolverLanguageAdapterFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
deleted file mode 100644
index 79a98ff7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ /dev/null
@@ -1,1245 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.emf.ecore.EPackage;
8
9import org.eclipse.emf.ecore.util.Switch;
10
11import org.eclipse.viatra.solver.language.solverLanguage.*;
12
13/**
14 * <!-- begin-user-doc -->
15 * The <b>Switch</b> for the model's inheritance hierarchy.
16 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
17 * to invoke the <code>caseXXX</code> method for each class of the model,
18 * starting with the actual class of the object
19 * and proceeding up the inheritance hierarchy
20 * until a non-null result is returned,
21 * which is the result of the switch.
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
24 * @generated
25 */
26public class SolverLanguageSwitch<T> extends Switch<T>
27{
28 /**
29 * The cached model package
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 protected static SolverLanguagePackage modelPackage;
35
36 /**
37 * Creates an instance of the switch.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 public SolverLanguageSwitch()
43 {
44 if (modelPackage == null)
45 {
46 modelPackage = SolverLanguagePackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Checks whether this is a switch for the given package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param ePackage the package in question.
55 * @return whether this is a switch for the given package.
56 * @generated
57 */
58 @Override
59 protected boolean isSwitchFor(EPackage ePackage)
60 {
61 return ePackage == modelPackage;
62 }
63
64 /**
65 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @return the first non-null result returned by a <code>caseXXX</code> call.
69 * @generated
70 */
71 @Override
72 protected T doSwitch(int classifierID, EObject theEObject)
73 {
74 switch (classifierID)
75 {
76 case SolverLanguagePackage.PROBLEM:
77 {
78 Problem problem = (Problem)theEObject;
79 T result = caseProblem(problem);
80 if (result == null) result = defaultCase(theEObject);
81 return result;
82 }
83 case SolverLanguagePackage.STATEMENT:
84 {
85 Statement statement = (Statement)theEObject;
86 T result = caseStatement(statement);
87 if (result == null) result = defaultCase(theEObject);
88 return result;
89 }
90 case SolverLanguagePackage.PREDICATE_DEFINITION:
91 {
92 PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject;
93 T result = casePredicateDefinition(predicateDefinition);
94 if (result == null) result = caseStatement(predicateDefinition);
95 if (result == null) result = defaultCase(theEObject);
96 return result;
97 }
98 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
99 {
100 UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject;
101 T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition);
102 if (result == null) result = caseStatement(unnamedErrorPrediateDefinition);
103 if (result == null) result = defaultCase(theEObject);
104 return result;
105 }
106 case SolverLanguagePackage.DEFAULT_DEFINITION:
107 {
108 DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject;
109 T result = caseDefaultDefinition(defaultDefinition);
110 if (result == null) result = caseStatement(defaultDefinition);
111 if (result == null) result = defaultCase(theEObject);
112 return result;
113 }
114 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION:
115 {
116 ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject;
117 T result = caseExternPredicateDefinition(externPredicateDefinition);
118 if (result == null) result = caseStatement(externPredicateDefinition);
119 if (result == null) result = defaultCase(theEObject);
120 return result;
121 }
122 case SolverLanguagePackage.METRIC_DEFINITION:
123 {
124 MetricDefinition metricDefinition = (MetricDefinition)theEObject;
125 T result = caseMetricDefinition(metricDefinition);
126 if (result == null) result = caseStatement(metricDefinition);
127 if (result == null) result = defaultCase(theEObject);
128 return result;
129 }
130 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
131 {
132 ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject;
133 T result = caseExternMetricDefinition(externMetricDefinition);
134 if (result == null) result = caseStatement(externMetricDefinition);
135 if (result == null) result = defaultCase(theEObject);
136 return result;
137 }
138 case SolverLanguagePackage.EXPRESSION:
139 {
140 Expression expression = (Expression)theEObject;
141 T result = caseExpression(expression);
142 if (result == null) result = caseStatement(expression);
143 if (result == null) result = defaultCase(theEObject);
144 return result;
145 }
146 case SolverLanguagePackage.IF_ELSE:
147 {
148 IfElse ifElse = (IfElse)theEObject;
149 T result = caseIfElse(ifElse);
150 if (result == null) result = caseExpression(ifElse);
151 if (result == null) result = caseStatement(ifElse);
152 if (result == null) result = defaultCase(theEObject);
153 return result;
154 }
155 case SolverLanguagePackage.CASE:
156 {
157 Case case_ = (Case)theEObject;
158 T result = caseCase(case_);
159 if (result == null) result = caseExpression(case_);
160 if (result == null) result = caseStatement(case_);
161 if (result == null) result = defaultCase(theEObject);
162 return result;
163 }
164 case SolverLanguagePackage.COUNT:
165 {
166 Count count = (Count)theEObject;
167 T result = caseCount(count);
168 if (result == null) result = caseExpression(count);
169 if (result == null) result = caseStatement(count);
170 if (result == null) result = defaultCase(theEObject);
171 return result;
172 }
173 case SolverLanguagePackage.AGGREGATION:
174 {
175 Aggregation aggregation = (Aggregation)theEObject;
176 T result = caseAggregation(aggregation);
177 if (result == null) result = caseExpression(aggregation);
178 if (result == null) result = caseStatement(aggregation);
179 if (result == null) result = defaultCase(theEObject);
180 return result;
181 }
182 case SolverLanguagePackage.CALL:
183 {
184 Call call = (Call)theEObject;
185 T result = caseCall(call);
186 if (result == null) result = caseExpression(call);
187 if (result == null) result = caseStatement(call);
188 if (result == null) result = defaultCase(theEObject);
189 return result;
190 }
191 case SolverLanguagePackage.ARGUMENT_LIST:
192 {
193 ArgumentList argumentList = (ArgumentList)theEObject;
194 T result = caseArgumentList(argumentList);
195 if (result == null) result = defaultCase(theEObject);
196 return result;
197 }
198 case SolverLanguagePackage.ARGUMENT:
199 {
200 Argument argument = (Argument)theEObject;
201 T result = caseArgument(argument);
202 if (result == null) result = defaultCase(theEObject);
203 return result;
204 }
205 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
206 {
207 ExpressionArgument expressionArgument = (ExpressionArgument)theEObject;
208 T result = caseExpressionArgument(expressionArgument);
209 if (result == null) result = caseArgument(expressionArgument);
210 if (result == null) result = defaultCase(theEObject);
211 return result;
212 }
213 case SolverLanguagePackage.STAR_ARGUMENT:
214 {
215 StarArgument starArgument = (StarArgument)theEObject;
216 T result = caseStarArgument(starArgument);
217 if (result == null) result = caseArgument(starArgument);
218 if (result == null) result = defaultCase(theEObject);
219 return result;
220 }
221 case SolverLanguagePackage.TYPED_ARGUMENT:
222 {
223 TypedArgument typedArgument = (TypedArgument)theEObject;
224 T result = caseTypedArgument(typedArgument);
225 if (result == null) result = caseArgument(typedArgument);
226 if (result == null) result = defaultCase(theEObject);
227 return result;
228 }
229 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
230 {
231 TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject;
232 T result = caseTypedStarArgument(typedStarArgument);
233 if (result == null) result = caseArgument(typedStarArgument);
234 if (result == null) result = defaultCase(theEObject);
235 return result;
236 }
237 case SolverLanguagePackage.REFERENCE:
238 {
239 Reference reference = (Reference)theEObject;
240 T result = caseReference(reference);
241 if (result == null) result = caseExpression(reference);
242 if (result == null) result = caseStatement(reference);
243 if (result == null) result = defaultCase(theEObject);
244 return result;
245 }
246 case SolverLanguagePackage.INTERVAL:
247 {
248 Interval interval = (Interval)theEObject;
249 T result = caseInterval(interval);
250 if (result == null) result = caseExpression(interval);
251 if (result == null) result = caseStatement(interval);
252 if (result == null) result = defaultCase(theEObject);
253 return result;
254 }
255 case SolverLanguagePackage.LITERAL:
256 {
257 Literal literal = (Literal)theEObject;
258 T result = caseLiteral(literal);
259 if (result == null) result = caseExpression(literal);
260 if (result == null) result = caseStatement(literal);
261 if (result == null) result = defaultCase(theEObject);
262 return result;
263 }
264 case SolverLanguagePackage.LOGIC_LITERAL:
265 {
266 LogicLiteral logicLiteral = (LogicLiteral)theEObject;
267 T result = caseLogicLiteral(logicLiteral);
268 if (result == null) result = caseLiteral(logicLiteral);
269 if (result == null) result = caseExpression(logicLiteral);
270 if (result == null) result = caseStatement(logicLiteral);
271 if (result == null) result = defaultCase(theEObject);
272 return result;
273 }
274 case SolverLanguagePackage.NUMERIC_LITERAL:
275 {
276 NumericLiteral numericLiteral = (NumericLiteral)theEObject;
277 T result = caseNumericLiteral(numericLiteral);
278 if (result == null) result = caseLiteral(numericLiteral);
279 if (result == null) result = caseExpression(numericLiteral);
280 if (result == null) result = caseStatement(numericLiteral);
281 if (result == null) result = defaultCase(theEObject);
282 return result;
283 }
284 case SolverLanguagePackage.INFINITY_LITERAL:
285 {
286 InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject;
287 T result = caseInfinityLiteral(infinityLiteral);
288 if (result == null) result = caseLiteral(infinityLiteral);
289 if (result == null) result = caseExpression(infinityLiteral);
290 if (result == null) result = caseStatement(infinityLiteral);
291 if (result == null) result = defaultCase(theEObject);
292 return result;
293 }
294 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL:
295 {
296 EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject;
297 T result = caseEmptyIntervalLiteral(emptyIntervalLiteral);
298 if (result == null) result = caseLiteral(emptyIntervalLiteral);
299 if (result == null) result = caseExpression(emptyIntervalLiteral);
300 if (result == null) result = caseStatement(emptyIntervalLiteral);
301 if (result == null) result = defaultCase(theEObject);
302 return result;
303 }
304 case SolverLanguagePackage.STRING_LITERAL:
305 {
306 StringLiteral stringLiteral = (StringLiteral)theEObject;
307 T result = caseStringLiteral(stringLiteral);
308 if (result == null) result = caseLiteral(stringLiteral);
309 if (result == null) result = caseExpression(stringLiteral);
310 if (result == null) result = caseStatement(stringLiteral);
311 if (result == null) result = defaultCase(theEObject);
312 return result;
313 }
314 case SolverLanguagePackage.CLASS_DEFINITION:
315 {
316 ClassDefinition classDefinition = (ClassDefinition)theEObject;
317 T result = caseClassDefinition(classDefinition);
318 if (result == null) result = caseStatement(classDefinition);
319 if (result == null) result = defaultCase(theEObject);
320 return result;
321 }
322 case SolverLanguagePackage.MEMBER_DEFINITION:
323 {
324 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
325 T result = caseMemberDefinition(memberDefinition);
326 if (result == null) result = defaultCase(theEObject);
327 return result;
328 }
329 case SolverLanguagePackage.MULTIPLICITY:
330 {
331 Multiplicity multiplicity = (Multiplicity)theEObject;
332 T result = caseMultiplicity(multiplicity);
333 if (result == null) result = defaultCase(theEObject);
334 return result;
335 }
336 case SolverLanguagePackage.MANY_MULTIPLICITY:
337 {
338 ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject;
339 T result = caseManyMultiplicity(manyMultiplicity);
340 if (result == null) result = caseMultiplicity(manyMultiplicity);
341 if (result == null) result = defaultCase(theEObject);
342 return result;
343 }
344 case SolverLanguagePackage.EXACT_MULTIPLICITY:
345 {
346 ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject;
347 T result = caseExactMultiplicity(exactMultiplicity);
348 if (result == null) result = caseMultiplicity(exactMultiplicity);
349 if (result == null) result = defaultCase(theEObject);
350 return result;
351 }
352 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
353 {
354 BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject;
355 T result = caseBoundedMultiplicity(boundedMultiplicity);
356 if (result == null) result = caseMultiplicity(boundedMultiplicity);
357 if (result == null) result = defaultCase(theEObject);
358 return result;
359 }
360 case SolverLanguagePackage.SCOPE_DEFINITION:
361 {
362 ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject;
363 T result = caseScopeDefinition(scopeDefinition);
364 if (result == null) result = caseStatement(scopeDefinition);
365 if (result == null) result = defaultCase(theEObject);
366 return result;
367 }
368 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION:
369 {
370 ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject;
371 T result = caseExactScopeDefinition(exactScopeDefinition);
372 if (result == null) result = caseScopeDefinition(exactScopeDefinition);
373 if (result == null) result = caseStatement(exactScopeDefinition);
374 if (result == null) result = defaultCase(theEObject);
375 return result;
376 }
377 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION:
378 {
379 BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject;
380 T result = caseBoundedScopeDefinition(boundedScopeDefinition);
381 if (result == null) result = caseScopeDefinition(boundedScopeDefinition);
382 if (result == null) result = caseStatement(boundedScopeDefinition);
383 if (result == null) result = defaultCase(theEObject);
384 return result;
385 }
386 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION:
387 {
388 LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject;
389 T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition);
390 if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition);
391 if (result == null) result = caseStatement(lowerBoundedScopeDefinition);
392 if (result == null) result = defaultCase(theEObject);
393 return result;
394 }
395 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
396 {
397 ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject;
398 T result = caseObjectiveDefinition(objectiveDefinition);
399 if (result == null) result = caseStatement(objectiveDefinition);
400 if (result == null) result = defaultCase(theEObject);
401 return result;
402 }
403 case SolverLanguagePackage.NAMED_ELEMENT:
404 {
405 NamedElement namedElement = (NamedElement)theEObject;
406 T result = caseNamedElement(namedElement);
407 if (result == null) result = defaultCase(theEObject);
408 return result;
409 }
410 case SolverLanguagePackage.ASSERTION:
411 {
412 Assertion assertion = (Assertion)theEObject;
413 T result = caseAssertion(assertion);
414 if (result == null) result = caseStatement(assertion);
415 if (result == null) result = defaultCase(theEObject);
416 return result;
417 }
418 case SolverLanguagePackage.DISJUNCTION:
419 {
420 Disjunction disjunction = (Disjunction)theEObject;
421 T result = caseDisjunction(disjunction);
422 if (result == null) result = caseExpression(disjunction);
423 if (result == null) result = caseStatement(disjunction);
424 if (result == null) result = defaultCase(theEObject);
425 return result;
426 }
427 case SolverLanguagePackage.SWITCH:
428 {
429 org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject;
430 T result = caseSwitch(switch_);
431 if (result == null) result = caseExpression(switch_);
432 if (result == null) result = caseStatement(switch_);
433 if (result == null) result = defaultCase(theEObject);
434 return result;
435 }
436 case SolverLanguagePackage.CONJUNCTION:
437 {
438 Conjunction conjunction = (Conjunction)theEObject;
439 T result = caseConjunction(conjunction);
440 if (result == null) result = caseExpression(conjunction);
441 if (result == null) result = caseStatement(conjunction);
442 if (result == null) result = defaultCase(theEObject);
443 return result;
444 }
445 case SolverLanguagePackage.COMPARISON:
446 {
447 Comparison comparison = (Comparison)theEObject;
448 T result = caseComparison(comparison);
449 if (result == null) result = caseExpression(comparison);
450 if (result == null) result = caseStatement(comparison);
451 if (result == null) result = defaultCase(theEObject);
452 return result;
453 }
454 case SolverLanguagePackage.BINARY_EXPRESSION:
455 {
456 BinaryExpression binaryExpression = (BinaryExpression)theEObject;
457 T result = caseBinaryExpression(binaryExpression);
458 if (result == null) result = caseExpression(binaryExpression);
459 if (result == null) result = caseStatement(binaryExpression);
460 if (result == null) result = defaultCase(theEObject);
461 return result;
462 }
463 case SolverLanguagePackage.UNARY_EXPRESSION:
464 {
465 UnaryExpression unaryExpression = (UnaryExpression)theEObject;
466 T result = caseUnaryExpression(unaryExpression);
467 if (result == null) result = caseExpression(unaryExpression);
468 if (result == null) result = caseStatement(unaryExpression);
469 if (result == null) result = defaultCase(theEObject);
470 return result;
471 }
472 default: return defaultCase(theEObject);
473 }
474 }
475
476 /**
477 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
478 * <!-- begin-user-doc -->
479 * This implementation returns null;
480 * returning a non-null result will terminate the switch.
481 * <!-- end-user-doc -->
482 * @param object the target of the switch.
483 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
484 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
485 * @generated
486 */
487 public T caseProblem(Problem object)
488 {
489 return null;
490 }
491
492 /**
493 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
494 * <!-- begin-user-doc -->
495 * This implementation returns null;
496 * returning a non-null result will terminate the switch.
497 * <!-- end-user-doc -->
498 * @param object the target of the switch.
499 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
500 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
501 * @generated
502 */
503 public T caseStatement(Statement object)
504 {
505 return null;
506 }
507
508 /**
509 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
510 * <!-- begin-user-doc -->
511 * This implementation returns null;
512 * returning a non-null result will terminate the switch.
513 * <!-- end-user-doc -->
514 * @param object the target of the switch.
515 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
516 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
517 * @generated
518 */
519 public T casePredicateDefinition(PredicateDefinition object)
520 {
521 return null;
522 }
523
524 /**
525 * Returns the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
526 * <!-- begin-user-doc -->
527 * This implementation returns null;
528 * returning a non-null result will terminate the switch.
529 * <!-- end-user-doc -->
530 * @param object the target of the switch.
531 * @return the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
532 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
533 * @generated
534 */
535 public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
536 {
537 return null;
538 }
539
540 /**
541 * Returns the result of interpreting the object as an instance of '<em>Default Definition</em>'.
542 * <!-- begin-user-doc -->
543 * This implementation returns null;
544 * returning a non-null result will terminate the switch.
545 * <!-- end-user-doc -->
546 * @param object the target of the switch.
547 * @return the result of interpreting the object as an instance of '<em>Default Definition</em>'.
548 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
549 * @generated
550 */
551 public T caseDefaultDefinition(DefaultDefinition object)
552 {
553 return null;
554 }
555
556 /**
557 * Returns the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
558 * <!-- begin-user-doc -->
559 * This implementation returns null;
560 * returning a non-null result will terminate the switch.
561 * <!-- end-user-doc -->
562 * @param object the target of the switch.
563 * @return the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
564 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
565 * @generated
566 */
567 public T caseExternPredicateDefinition(ExternPredicateDefinition object)
568 {
569 return null;
570 }
571
572 /**
573 * Returns the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
574 * <!-- begin-user-doc -->
575 * This implementation returns null;
576 * returning a non-null result will terminate the switch.
577 * <!-- end-user-doc -->
578 * @param object the target of the switch.
579 * @return the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
580 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
581 * @generated
582 */
583 public T caseMetricDefinition(MetricDefinition object)
584 {
585 return null;
586 }
587
588 /**
589 * Returns the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
590 * <!-- begin-user-doc -->
591 * This implementation returns null;
592 * returning a non-null result will terminate the switch.
593 * <!-- end-user-doc -->
594 * @param object the target of the switch.
595 * @return the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
596 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
597 * @generated
598 */
599 public T caseExternMetricDefinition(ExternMetricDefinition object)
600 {
601 return null;
602 }
603
604 /**
605 * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
606 * <!-- begin-user-doc -->
607 * This implementation returns null;
608 * returning a non-null result will terminate the switch.
609 * <!-- end-user-doc -->
610 * @param object the target of the switch.
611 * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
612 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
613 * @generated
614 */
615 public T caseExpression(Expression object)
616 {
617 return null;
618 }
619
620 /**
621 * Returns the result of interpreting the object as an instance of '<em>If Else</em>'.
622 * <!-- begin-user-doc -->
623 * This implementation returns null;
624 * returning a non-null result will terminate the switch.
625 * <!-- end-user-doc -->
626 * @param object the target of the switch.
627 * @return the result of interpreting the object as an instance of '<em>If Else</em>'.
628 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
629 * @generated
630 */
631 public T caseIfElse(IfElse object)
632 {
633 return null;
634 }
635
636 /**
637 * Returns the result of interpreting the object as an instance of '<em>Case</em>'.
638 * <!-- begin-user-doc -->
639 * This implementation returns null;
640 * returning a non-null result will terminate the switch.
641 * <!-- end-user-doc -->
642 * @param object the target of the switch.
643 * @return the result of interpreting the object as an instance of '<em>Case</em>'.
644 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
645 * @generated
646 */
647 public T caseCase(Case object)
648 {
649 return null;
650 }
651
652 /**
653 * Returns the result of interpreting the object as an instance of '<em>Count</em>'.
654 * <!-- begin-user-doc -->
655 * This implementation returns null;
656 * returning a non-null result will terminate the switch.
657 * <!-- end-user-doc -->
658 * @param object the target of the switch.
659 * @return the result of interpreting the object as an instance of '<em>Count</em>'.
660 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
661 * @generated
662 */
663 public T caseCount(Count object)
664 {
665 return null;
666 }
667
668 /**
669 * Returns the result of interpreting the object as an instance of '<em>Aggregation</em>'.
670 * <!-- begin-user-doc -->
671 * This implementation returns null;
672 * returning a non-null result will terminate the switch.
673 * <!-- end-user-doc -->
674 * @param object the target of the switch.
675 * @return the result of interpreting the object as an instance of '<em>Aggregation</em>'.
676 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
677 * @generated
678 */
679 public T caseAggregation(Aggregation object)
680 {
681 return null;
682 }
683
684 /**
685 * Returns the result of interpreting the object as an instance of '<em>Call</em>'.
686 * <!-- begin-user-doc -->
687 * This implementation returns null;
688 * returning a non-null result will terminate the switch.
689 * <!-- end-user-doc -->
690 * @param object the target of the switch.
691 * @return the result of interpreting the object as an instance of '<em>Call</em>'.
692 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
693 * @generated
694 */
695 public T caseCall(Call object)
696 {
697 return null;
698 }
699
700 /**
701 * Returns the result of interpreting the object as an instance of '<em>Argument List</em>'.
702 * <!-- begin-user-doc -->
703 * This implementation returns null;
704 * returning a non-null result will terminate the switch.
705 * <!-- end-user-doc -->
706 * @param object the target of the switch.
707 * @return the result of interpreting the object as an instance of '<em>Argument List</em>'.
708 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
709 * @generated
710 */
711 public T caseArgumentList(ArgumentList object)
712 {
713 return null;
714 }
715
716 /**
717 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
718 * <!-- begin-user-doc -->
719 * This implementation returns null;
720 * returning a non-null result will terminate the switch.
721 * <!-- end-user-doc -->
722 * @param object the target of the switch.
723 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
724 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
725 * @generated
726 */
727 public T caseArgument(Argument object)
728 {
729 return null;
730 }
731
732 /**
733 * Returns the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
734 * <!-- begin-user-doc -->
735 * This implementation returns null;
736 * returning a non-null result will terminate the switch.
737 * <!-- end-user-doc -->
738 * @param object the target of the switch.
739 * @return the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
740 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
741 * @generated
742 */
743 public T caseExpressionArgument(ExpressionArgument object)
744 {
745 return null;
746 }
747
748 /**
749 * Returns the result of interpreting the object as an instance of '<em>Star Argument</em>'.
750 * <!-- begin-user-doc -->
751 * This implementation returns null;
752 * returning a non-null result will terminate the switch.
753 * <!-- end-user-doc -->
754 * @param object the target of the switch.
755 * @return the result of interpreting the object as an instance of '<em>Star Argument</em>'.
756 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
757 * @generated
758 */
759 public T caseStarArgument(StarArgument object)
760 {
761 return null;
762 }
763
764 /**
765 * Returns the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
766 * <!-- begin-user-doc -->
767 * This implementation returns null;
768 * returning a non-null result will terminate the switch.
769 * <!-- end-user-doc -->
770 * @param object the target of the switch.
771 * @return the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
772 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
773 * @generated
774 */
775 public T caseTypedArgument(TypedArgument object)
776 {
777 return null;
778 }
779
780 /**
781 * Returns the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
782 * <!-- begin-user-doc -->
783 * This implementation returns null;
784 * returning a non-null result will terminate the switch.
785 * <!-- end-user-doc -->
786 * @param object the target of the switch.
787 * @return the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
788 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
789 * @generated
790 */
791 public T caseTypedStarArgument(TypedStarArgument object)
792 {
793 return null;
794 }
795
796 /**
797 * Returns the result of interpreting the object as an instance of '<em>Reference</em>'.
798 * <!-- begin-user-doc -->
799 * This implementation returns null;
800 * returning a non-null result will terminate the switch.
801 * <!-- end-user-doc -->
802 * @param object the target of the switch.
803 * @return the result of interpreting the object as an instance of '<em>Reference</em>'.
804 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
805 * @generated
806 */
807 public T caseReference(Reference object)
808 {
809 return null;
810 }
811
812 /**
813 * Returns the result of interpreting the object as an instance of '<em>Interval</em>'.
814 * <!-- begin-user-doc -->
815 * This implementation returns null;
816 * returning a non-null result will terminate the switch.
817 * <!-- end-user-doc -->
818 * @param object the target of the switch.
819 * @return the result of interpreting the object as an instance of '<em>Interval</em>'.
820 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
821 * @generated
822 */
823 public T caseInterval(Interval object)
824 {
825 return null;
826 }
827
828 /**
829 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
830 * <!-- begin-user-doc -->
831 * This implementation returns null;
832 * returning a non-null result will terminate the switch.
833 * <!-- end-user-doc -->
834 * @param object the target of the switch.
835 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
836 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
837 * @generated
838 */
839 public T caseLiteral(Literal object)
840 {
841 return null;
842 }
843
844 /**
845 * Returns the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
846 * <!-- begin-user-doc -->
847 * This implementation returns null;
848 * returning a non-null result will terminate the switch.
849 * <!-- end-user-doc -->
850 * @param object the target of the switch.
851 * @return the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
852 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
853 * @generated
854 */
855 public T caseLogicLiteral(LogicLiteral object)
856 {
857 return null;
858 }
859
860 /**
861 * Returns the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
862 * <!-- begin-user-doc -->
863 * This implementation returns null;
864 * returning a non-null result will terminate the switch.
865 * <!-- end-user-doc -->
866 * @param object the target of the switch.
867 * @return the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
868 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
869 * @generated
870 */
871 public T caseNumericLiteral(NumericLiteral object)
872 {
873 return null;
874 }
875
876 /**
877 * Returns the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
878 * <!-- begin-user-doc -->
879 * This implementation returns null;
880 * returning a non-null result will terminate the switch.
881 * <!-- end-user-doc -->
882 * @param object the target of the switch.
883 * @return the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
884 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
885 * @generated
886 */
887 public T caseInfinityLiteral(InfinityLiteral object)
888 {
889 return null;
890 }
891
892 /**
893 * Returns the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
894 * <!-- begin-user-doc -->
895 * This implementation returns null;
896 * returning a non-null result will terminate the switch.
897 * <!-- end-user-doc -->
898 * @param object the target of the switch.
899 * @return the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
900 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
901 * @generated
902 */
903 public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
904 {
905 return null;
906 }
907
908 /**
909 * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
910 * <!-- begin-user-doc -->
911 * This implementation returns null;
912 * returning a non-null result will terminate the switch.
913 * <!-- end-user-doc -->
914 * @param object the target of the switch.
915 * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
916 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
917 * @generated
918 */
919 public T caseStringLiteral(StringLiteral object)
920 {
921 return null;
922 }
923
924 /**
925 * Returns the result of interpreting the object as an instance of '<em>Class Definition</em>'.
926 * <!-- begin-user-doc -->
927 * This implementation returns null;
928 * returning a non-null result will terminate the switch.
929 * <!-- end-user-doc -->
930 * @param object the target of the switch.
931 * @return the result of interpreting the object as an instance of '<em>Class Definition</em>'.
932 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
933 * @generated
934 */
935 public T caseClassDefinition(ClassDefinition object)
936 {
937 return null;
938 }
939
940 /**
941 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
942 * <!-- begin-user-doc -->
943 * This implementation returns null;
944 * returning a non-null result will terminate the switch.
945 * <!-- end-user-doc -->
946 * @param object the target of the switch.
947 * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
948 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
949 * @generated
950 */
951 public T caseMemberDefinition(MemberDefinition object)
952 {
953 return null;
954 }
955
956 /**
957 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
958 * <!-- begin-user-doc -->
959 * This implementation returns null;
960 * returning a non-null result will terminate the switch.
961 * <!-- end-user-doc -->
962 * @param object the target of the switch.
963 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
964 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
965 * @generated
966 */
967 public T caseMultiplicity(Multiplicity object)
968 {
969 return null;
970 }
971
972 /**
973 * Returns the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
974 * <!-- begin-user-doc -->
975 * This implementation returns null;
976 * returning a non-null result will terminate the switch.
977 * <!-- end-user-doc -->
978 * @param object the target of the switch.
979 * @return the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
980 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
981 * @generated
982 */
983 public T caseManyMultiplicity(ManyMultiplicity object)
984 {
985 return null;
986 }
987
988 /**
989 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
990 * <!-- begin-user-doc -->
991 * This implementation returns null;
992 * returning a non-null result will terminate the switch.
993 * <!-- end-user-doc -->
994 * @param object the target of the switch.
995 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
996 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
997 * @generated
998 */
999 public T caseExactMultiplicity(ExactMultiplicity object)
1000 {
1001 return null;
1002 }
1003
1004 /**
1005 * Returns the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1006 * <!-- begin-user-doc -->
1007 * This implementation returns null;
1008 * returning a non-null result will terminate the switch.
1009 * <!-- end-user-doc -->
1010 * @param object the target of the switch.
1011 * @return the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1012 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1013 * @generated
1014 */
1015 public T caseBoundedMultiplicity(BoundedMultiplicity object)
1016 {
1017 return null;
1018 }
1019
1020 /**
1021 * Returns the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1022 * <!-- begin-user-doc -->
1023 * This implementation returns null;
1024 * returning a non-null result will terminate the switch.
1025 * <!-- end-user-doc -->
1026 * @param object the target of the switch.
1027 * @return the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1028 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1029 * @generated
1030 */
1031 public T caseScopeDefinition(ScopeDefinition object)
1032 {
1033 return null;
1034 }
1035
1036 /**
1037 * Returns the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1038 * <!-- begin-user-doc -->
1039 * This implementation returns null;
1040 * returning a non-null result will terminate the switch.
1041 * <!-- end-user-doc -->
1042 * @param object the target of the switch.
1043 * @return the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1044 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1045 * @generated
1046 */
1047 public T caseExactScopeDefinition(ExactScopeDefinition object)
1048 {
1049 return null;
1050 }
1051
1052 /**
1053 * Returns the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1054 * <!-- begin-user-doc -->
1055 * This implementation returns null;
1056 * returning a non-null result will terminate the switch.
1057 * <!-- end-user-doc -->
1058 * @param object the target of the switch.
1059 * @return the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1060 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1061 * @generated
1062 */
1063 public T caseBoundedScopeDefinition(BoundedScopeDefinition object)
1064 {
1065 return null;
1066 }
1067
1068 /**
1069 * Returns the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1070 * <!-- begin-user-doc -->
1071 * This implementation returns null;
1072 * returning a non-null result will terminate the switch.
1073 * <!-- end-user-doc -->
1074 * @param object the target of the switch.
1075 * @return the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1076 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1077 * @generated
1078 */
1079 public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
1080 {
1081 return null;
1082 }
1083
1084 /**
1085 * Returns the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1086 * <!-- begin-user-doc -->
1087 * This implementation returns null;
1088 * returning a non-null result will terminate the switch.
1089 * <!-- end-user-doc -->
1090 * @param object the target of the switch.
1091 * @return the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1092 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1093 * @generated
1094 */
1095 public T caseObjectiveDefinition(ObjectiveDefinition object)
1096 {
1097 return null;
1098 }
1099
1100 /**
1101 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
1102 * <!-- begin-user-doc -->
1103 * This implementation returns null;
1104 * returning a non-null result will terminate the switch.
1105 * <!-- end-user-doc -->
1106 * @param object the target of the switch.
1107 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
1108 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1109 * @generated
1110 */
1111 public T caseNamedElement(NamedElement object)
1112 {
1113 return null;
1114 }
1115
1116 /**
1117 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
1118 * <!-- begin-user-doc -->
1119 * This implementation returns null;
1120 * returning a non-null result will terminate the switch.
1121 * <!-- end-user-doc -->
1122 * @param object the target of the switch.
1123 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
1124 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1125 * @generated
1126 */
1127 public T caseAssertion(Assertion object)
1128 {
1129 return null;
1130 }
1131
1132 /**
1133 * Returns the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1134 * <!-- begin-user-doc -->
1135 * This implementation returns null;
1136 * returning a non-null result will terminate the switch.
1137 * <!-- end-user-doc -->
1138 * @param object the target of the switch.
1139 * @return the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1140 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1141 * @generated
1142 */
1143 public T caseDisjunction(Disjunction object)
1144 {
1145 return null;
1146 }
1147
1148 /**
1149 * Returns the result of interpreting the object as an instance of '<em>Switch</em>'.
1150 * <!-- begin-user-doc -->
1151 * This implementation returns null;
1152 * returning a non-null result will terminate the switch.
1153 * <!-- end-user-doc -->
1154 * @param object the target of the switch.
1155 * @return the result of interpreting the object as an instance of '<em>Switch</em>'.
1156 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1157 * @generated
1158 */
1159 public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object)
1160 {
1161 return null;
1162 }
1163
1164 /**
1165 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1166 * <!-- begin-user-doc -->
1167 * This implementation returns null;
1168 * returning a non-null result will terminate the switch.
1169 * <!-- end-user-doc -->
1170 * @param object the target of the switch.
1171 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1172 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1173 * @generated
1174 */
1175 public T caseConjunction(Conjunction object)
1176 {
1177 return null;
1178 }
1179
1180 /**
1181 * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'.
1182 * <!-- begin-user-doc -->
1183 * This implementation returns null;
1184 * returning a non-null result will terminate the switch.
1185 * <!-- end-user-doc -->
1186 * @param object the target of the switch.
1187 * @return the result of interpreting the object as an instance of '<em>Comparison</em>'.
1188 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1189 * @generated
1190 */
1191 public T caseComparison(Comparison object)
1192 {
1193 return null;
1194 }
1195
1196 /**
1197 * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1198 * <!-- begin-user-doc -->
1199 * This implementation returns null;
1200 * returning a non-null result will terminate the switch.
1201 * <!-- end-user-doc -->
1202 * @param object the target of the switch.
1203 * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1204 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1205 * @generated
1206 */
1207 public T caseBinaryExpression(BinaryExpression object)
1208 {
1209 return null;
1210 }
1211
1212 /**
1213 * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1214 * <!-- begin-user-doc -->
1215 * This implementation returns null;
1216 * returning a non-null result will terminate the switch.
1217 * <!-- end-user-doc -->
1218 * @param object the target of the switch.
1219 * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1220 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1221 * @generated
1222 */
1223 public T caseUnaryExpression(UnaryExpression object)
1224 {
1225 return null;
1226 }
1227
1228 /**
1229 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
1230 * <!-- begin-user-doc -->
1231 * This implementation returns null;
1232 * returning a non-null result will terminate the switch, but this is the last case anyway.
1233 * <!-- end-user-doc -->
1234 * @param object the target of the switch.
1235 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
1236 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
1237 * @generated
1238 */
1239 @Override
1240 public T defaultCase(EObject object)
1241 {
1242 return null;
1243 }
1244
1245} //SolverLanguageSwitch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
index 55314a22..1bcc7538 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
@@ -13,7 +13,7 @@ public abstract class AbstractSolverLanguageValidator extends AbstractDeclarativ
13 @Override 13 @Override
14 protected List<EPackage> getEPackages() { 14 protected List<EPackage> getEPackages() {
15 List<EPackage> result = new ArrayList<EPackage>(); 15 List<EPackage> result = new ArrayList<EPackage>();
16 result.add(org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage.eINSTANCE); 16 result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/viatra/solver/language/SolverLanguage"));
17 return result; 17 return result;
18 } 18 }
19} 19}
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 7f95e737..50072f0d 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,6 +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 36
36 serializer = { 37 serializer = {
37 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 1306b626..d0578d78 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
@@ -1,22 +1,23 @@
1grammar org.eclipse.viatra.solver.language.SolverLanguage with org.eclipse.xtext.common.Terminals 1grammar org.eclipse.viatra.solver.language.SolverLanguage with org.eclipse.xtext.common.Terminals
2import "http://www.eclipse.org/emf/2002/Ecore" as ecore 2import "http://www.eclipse.org/emf/2002/Ecore" as ecore
3generate solverLanguage "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 (statements+=Statement)*;
7 7
8Statement: 8Statement:
9 ( 9 (
10 AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | ExternPredicateDefinition | 10 AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
11 MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | ObjectiveDefinition 11 ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
12 ClassDefinition | ScopeDefinition | ObjectiveDefinition
12 ) FULL_STOP; 13 ) FULL_STOP;
13 14
14AssertionOrDefinition returns Statement: 15AssertionOrDefinition returns Statement:
15 Expression ( 16 Expression (
16 {Assertion.body=current} (":" range=Expression)? | 17 {Interpretation.body=current} ":" range=Expression |
17 {PredicateDefinition.head=current} ":-" body=Expression | 18 {PredicateDefinition.head=current} ":-" body=Expression |
18 {MetricDefinition.head=current} "=" body=Expression 19 {MetricDefinition.head=current} "=" body=Expression
19 ); 20 )?;
20 21
21PredicateDefinition: 22PredicateDefinition:
22 (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; 23 (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
@@ -27,24 +28,42 @@ UnnamedErrorPrediateDefinition:
27DefaultDefinition: 28DefaultDefinition:
28 "default" head=Call ":" range=Expression; 29 "default" head=Call ":" range=Expression;
29 30
31MetricDefinition:
32 type=[NamedElement|QualifiedName] head=Call "=" body=Expression;
33
30ExternPredicateDefinition: 34ExternPredicateDefinition:
31 "extern" head=Call; 35 "extern" name=QualifiedName argumentList=ArgumentList;
32 36
33enum MetricType: 37ExternMetricDefinition:
34 INT="int" | REAL="real"; 38 "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList;
35 39
36MetricDefinition: 40ExternAggregatorDefinition:
37 type=MetricType head=Expression "=" body=Expression; 41 "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}";
38 42
39ExternMetricDefinition: 43ExternDatatypeDefinition:
40 "extern" type=MetricType head=Call; 44 "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*);
45
46Variable:
47 type=[NamedElement|QualifiedName]? name=ID;
41 48
42Expression: 49Expression:
43 IfElse | DisjunctiveExpression; 50 IfElse | Let | ImplicationExpression;
44 51
45IfElse: 52IfElse:
46 "if" condition=Expression "then" then=Expression "else" else=Expression; 53 "if" condition=Expression "then" then=Expression "else" else=Expression;
47 54
55Let:
56 "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
57
58LetBinding:
59 variable=Variable "=" value=AdditiveExpression;
60
61enum ImplicationOperator returns BinaryOperator:
62 IMPLIES = "=>";
63
64ImplicationExpression returns Expression:
65 DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
66
48DisjunctiveExpression returns Expression: 67DisjunctiveExpression returns Expression:
49 ConjunctiveExpression ( 68 ConjunctiveExpression (
50 {Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | 69 {Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
@@ -57,9 +76,6 @@ Case:
57ConjunctiveExpression returns Expression: 76ConjunctiveExpression returns Expression:
58 ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; 77 ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
59 78
60enum BinaryOperator:
61 EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
62
63enum ComparisonOperator returns BinaryOperator: 79enum ComparisonOperator returns BinaryOperator:
64 EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 80 EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
65 81
@@ -82,7 +98,10 @@ enum ExponentialOp returns BinaryOperator:
82 POW="^"; 98 POW="^";
83 99
84ExponentialExpression returns Expression: 100ExponentialExpression returns Expression:
85 UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; 101 CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
102
103CastExpression returns Expression:
104 UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?;
86 105
87enum UnaryOp: 106enum UnaryOp:
88 NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 107 NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
@@ -91,16 +110,19 @@ UnaryExpression returns Expression:
91 AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; 110 AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
92 111
93AggregationExpression returns Expression: 112AggregationExpression returns Expression:
94 AtomicExpression | Count | Aggregation; 113 AtomicExpression | QuantifiedExpression | Aggregation;
95 114
96Count: 115LocalVariables:
97 "count" "{" body=Expression "}"; 116 {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
98 117
99enum AggregationOp: 118enum Quantifier:
100 ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; 119 EXISTS="exists" | FORALL="forall" | COUNT="count";
120
121QuantifiedExpression:
122 quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
101 123
102Aggregation: 124Aggregation:
103 op=AggregationOp "{" body=Expression "|" condition=Expression "}"; 125 op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
104 126
105AtomicExpression returns Expression: 127AtomicExpression returns Expression:
106 Reference | Call | Interval | Literal | "(" Expression ")"; 128 Reference | Call | Interval | Literal | "(" Expression ")";
@@ -224,7 +246,4 @@ terminal REFLEXIVE_TRANSITIVE_CLOSURE:
224 246
225terminal FULL_STOP: 247terminal FULL_STOP:
226 "synthetic:FULL_STOP"; 248 "synthetic:FULL_STOP";
227
228NamedElement:
229 name=QualifiedName;
230 249
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 d833165e..c8d4144d 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 ff3dff94..b16c52f7 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