aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-20 00:35:43 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-20 00:35:43 +0200
commitd8fe070812854c1b211016dd5201204b28ac1cbc (patch)
tree1abc2cfaaa86818abc29f5419abf77115f69703d
parentadding numbers to gml visualization (diff)
parentMerge branch 'master' of github.com:viatra/VIATRA-Generator (diff)
downloadVIATRA-Generator-d8fe070812854c1b211016dd5201204b28ac1cbc.tar.gz
VIATRA-Generator-d8fe070812854c1b211016dd5201204b28ac1cbc.tar.zst
VIATRA-Generator-d8fe070812854c1b211016dd5201204b28ac1cbc.zip
Merge branch 'master' of https://github.com/viatra/VIATRA-Generator
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbinbin1701 -> 1701 bytes
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbinbin2526 -> 2526 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java61
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.g2475
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java14447
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.g46
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.java1673
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java115
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbinbin5334 -> 5334 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbinbin4902 -> 4902 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbinbin1717 -> 1717 bytes
-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
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml58
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend196
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodOptions.xtend22
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend423
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2PairwiseNeighbourhoodRepresentation.xtend68
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/AbstractNeighborhoodBasedStateCoderFactory.xtend137
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend289
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/PairwiseNeighbourhoodBasedStateCoderFactory.xtend75
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.FamilyTreeConstraints.java._tracebin333 -> 773 bytes
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.MemberIsItsOwnParent.java._tracebin3544 -> 3540 bytes
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.gitignore1
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql44
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/plugin.xml18
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.FamilyTreeConstraints.java._tracebin333 -> 773 bytes
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.MemberIsItsOwnParent.java._tracebin3544 -> 3540 bytes
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.gitignore1
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/FamilyTreeConstraints.java150
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberHasParent.java551
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberIsItsOwnParent.java1154
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/NegativeAge.java593
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/ParentTooYoung.java775
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/TwoMembersHaveNoParent.java723
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/xtend-gen/converter/.gitignore2
272 files changed, 51890 insertions, 35699 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
index b3013cf6..fae8ba45 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
Binary files differ
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
index 56db384c..e820bee5 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java
index e4b2806e..a84662a2 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java
@@ -50,19 +50,16 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
50 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__LowerBoundedScopeDefinition__Alternatives_1"); 50 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__LowerBoundedScopeDefinition__Alternatives_1");
51 builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives"); 51 builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives");
52 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives"); 52 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives");
53 builder.put(grammarAccess.getMetricTypeAccess().getAlternatives(), "rule__MetricType__Alternatives");
54 builder.put(grammarAccess.getBinaryOperatorAccess().getAlternatives(), "rule__BinaryOperator__Alternatives");
55 builder.put(grammarAccess.getComparisonOperatorAccess().getAlternatives(), "rule__ComparisonOperator__Alternatives"); 53 builder.put(grammarAccess.getComparisonOperatorAccess().getAlternatives(), "rule__ComparisonOperator__Alternatives");
56 builder.put(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives(), "rule__AdditiveBinaryOperator__Alternatives"); 54 builder.put(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives(), "rule__AdditiveBinaryOperator__Alternatives");
57 builder.put(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives(), "rule__MultiplicativeBinaryOperator__Alternatives"); 55 builder.put(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives(), "rule__MultiplicativeBinaryOperator__Alternatives");
58 builder.put(grammarAccess.getUnaryOpAccess().getAlternatives(), "rule__UnaryOp__Alternatives"); 56 builder.put(grammarAccess.getUnaryOpAccess().getAlternatives(), "rule__UnaryOp__Alternatives");
59 builder.put(grammarAccess.getAggregationOpAccess().getAlternatives(), "rule__AggregationOp__Alternatives"); 57 builder.put(grammarAccess.getQuantifierAccess().getAlternatives(), "rule__Quantifier__Alternatives");
60 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives"); 58 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
61 builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives"); 59 builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives");
62 builder.put(grammarAccess.getStatementAccess().getGroup(), "rule__Statement__Group__0"); 60 builder.put(grammarAccess.getStatementAccess().getGroup(), "rule__Statement__Group__0");
63 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup(), "rule__AssertionOrDefinition__Group__0"); 61 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup(), "rule__AssertionOrDefinition__Group__0");
64 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0(), "rule__AssertionOrDefinition__Group_1_0__0"); 62 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0(), "rule__AssertionOrDefinition__Group_1_0__0");
65 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1(), "rule__AssertionOrDefinition__Group_1_0_1__0");
66 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1(), "rule__AssertionOrDefinition__Group_1_1__0"); 63 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1(), "rule__AssertionOrDefinition__Group_1_1__0");
67 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2(), "rule__AssertionOrDefinition__Group_1_2__0"); 64 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2(), "rule__AssertionOrDefinition__Group_1_2__0");
68 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0"); 65 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0");
@@ -70,10 +67,20 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
70 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1(), "rule__PredicateDefinition__Group_0_1__0"); 67 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1(), "rule__PredicateDefinition__Group_0_1__0");
71 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup(), "rule__UnnamedErrorPrediateDefinition__Group__0"); 68 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup(), "rule__UnnamedErrorPrediateDefinition__Group__0");
72 builder.put(grammarAccess.getDefaultDefinitionAccess().getGroup(), "rule__DefaultDefinition__Group__0"); 69 builder.put(grammarAccess.getDefaultDefinitionAccess().getGroup(), "rule__DefaultDefinition__Group__0");
73 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getGroup(), "rule__ExternPredicateDefinition__Group__0");
74 builder.put(grammarAccess.getMetricDefinitionAccess().getGroup(), "rule__MetricDefinition__Group__0"); 70 builder.put(grammarAccess.getMetricDefinitionAccess().getGroup(), "rule__MetricDefinition__Group__0");
71 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getGroup(), "rule__ExternPredicateDefinition__Group__0");
75 builder.put(grammarAccess.getExternMetricDefinitionAccess().getGroup(), "rule__ExternMetricDefinition__Group__0"); 72 builder.put(grammarAccess.getExternMetricDefinitionAccess().getGroup(), "rule__ExternMetricDefinition__Group__0");
73 builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getGroup(), "rule__ExternAggregatorDefinition__Group__0");
74 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup(), "rule__ExternDatatypeDefinition__Group__0");
75 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3(), "rule__ExternDatatypeDefinition__Group_3__0");
76 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2(), "rule__ExternDatatypeDefinition__Group_3_2__0");
77 builder.put(grammarAccess.getVariableAccess().getGroup(), "rule__Variable__Group__0");
76 builder.put(grammarAccess.getIfElseAccess().getGroup(), "rule__IfElse__Group__0"); 78 builder.put(grammarAccess.getIfElseAccess().getGroup(), "rule__IfElse__Group__0");
79 builder.put(grammarAccess.getLetAccess().getGroup(), "rule__Let__Group__0");
80 builder.put(grammarAccess.getLetAccess().getGroup_2(), "rule__Let__Group_2__0");
81 builder.put(grammarAccess.getLetBindingAccess().getGroup(), "rule__LetBinding__Group__0");
82 builder.put(grammarAccess.getImplicationExpressionAccess().getGroup(), "rule__ImplicationExpression__Group__0");
83 builder.put(grammarAccess.getImplicationExpressionAccess().getGroup_1(), "rule__ImplicationExpression__Group_1__0");
77 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup(), "rule__DisjunctiveExpression__Group__0"); 84 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup(), "rule__DisjunctiveExpression__Group__0");
78 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0(), "rule__DisjunctiveExpression__Group_1_0__0"); 85 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0(), "rule__DisjunctiveExpression__Group_1_0__0");
79 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1(), "rule__DisjunctiveExpression__Group_1_0_1__0"); 86 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1(), "rule__DisjunctiveExpression__Group_1_0_1__0");
@@ -91,9 +98,15 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
91 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1(), "rule__MultiplicativeExpression__Group_1__0"); 98 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1(), "rule__MultiplicativeExpression__Group_1__0");
92 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup(), "rule__ExponentialExpression__Group__0"); 99 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup(), "rule__ExponentialExpression__Group__0");
93 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup_1(), "rule__ExponentialExpression__Group_1__0"); 100 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup_1(), "rule__ExponentialExpression__Group_1__0");
101 builder.put(grammarAccess.getCastExpressionAccess().getGroup(), "rule__CastExpression__Group__0");
102 builder.put(grammarAccess.getCastExpressionAccess().getGroup_1(), "rule__CastExpression__Group_1__0");
94 builder.put(grammarAccess.getUnaryExpressionAccess().getGroup_1(), "rule__UnaryExpression__Group_1__0"); 103 builder.put(grammarAccess.getUnaryExpressionAccess().getGroup_1(), "rule__UnaryExpression__Group_1__0");
95 builder.put(grammarAccess.getCountAccess().getGroup(), "rule__Count__Group__0"); 104 builder.put(grammarAccess.getLocalVariablesAccess().getGroup(), "rule__LocalVariables__Group__0");
105 builder.put(grammarAccess.getLocalVariablesAccess().getGroup_2(), "rule__LocalVariables__Group_2__0");
106 builder.put(grammarAccess.getLocalVariablesAccess().getGroup_2_1(), "rule__LocalVariables__Group_2_1__0");
107 builder.put(grammarAccess.getQuantifiedExpressionAccess().getGroup(), "rule__QuantifiedExpression__Group__0");
96 builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0"); 108 builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0");
109 builder.put(grammarAccess.getAggregationAccess().getGroup_4(), "rule__Aggregation__Group_4__0");
97 builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_4(), "rule__AtomicExpression__Group_4__0"); 110 builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_4(), "rule__AtomicExpression__Group_4__0");
98 builder.put(grammarAccess.getCallAccess().getGroup(), "rule__Call__Group__0"); 111 builder.put(grammarAccess.getCallAccess().getGroup(), "rule__Call__Group__0");
99 builder.put(grammarAccess.getArgumentListAccess().getGroup(), "rule__ArgumentList__Group__0"); 112 builder.put(grammarAccess.getArgumentListAccess().getGroup(), "rule__ArgumentList__Group__0");
@@ -128,7 +141,7 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
128 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0(), "rule__QualifiedName__Group_0__0"); 141 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0(), "rule__QualifiedName__Group_0__0");
129 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0_1(), "rule__QualifiedName__Group_0_1__0"); 142 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0_1(), "rule__QualifiedName__Group_0_1__0");
130 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment"); 143 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment");
131 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1(), "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1"); 144 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2(), "rule__AssertionOrDefinition__RangeAssignment_1_0_2");
132 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2(), "rule__AssertionOrDefinition__BodyAssignment_1_1_2"); 145 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2(), "rule__AssertionOrDefinition__BodyAssignment_1_1_2");
133 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2(), "rule__AssertionOrDefinition__BodyAssignment_1_2_2"); 146 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2(), "rule__AssertionOrDefinition__BodyAssignment_1_2_2");
134 builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0(), "rule__PredicateDefinition__FunctionalAssignment_0_0_0"); 147 builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0(), "rule__PredicateDefinition__FunctionalAssignment_0_0_0");
@@ -141,15 +154,32 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
141 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3"); 154 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3");
142 builder.put(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1(), "rule__DefaultDefinition__HeadAssignment_1"); 155 builder.put(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1(), "rule__DefaultDefinition__HeadAssignment_1");
143 builder.put(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3(), "rule__DefaultDefinition__RangeAssignment_3"); 156 builder.put(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3(), "rule__DefaultDefinition__RangeAssignment_3");
144 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1(), "rule__ExternPredicateDefinition__HeadAssignment_1");
145 builder.put(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0(), "rule__MetricDefinition__TypeAssignment_0"); 157 builder.put(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0(), "rule__MetricDefinition__TypeAssignment_0");
146 builder.put(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1(), "rule__MetricDefinition__HeadAssignment_1"); 158 builder.put(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1(), "rule__MetricDefinition__HeadAssignment_1");
147 builder.put(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3(), "rule__MetricDefinition__BodyAssignment_3"); 159 builder.put(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3(), "rule__MetricDefinition__BodyAssignment_3");
160 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1(), "rule__ExternPredicateDefinition__NameAssignment_1");
161 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2(), "rule__ExternPredicateDefinition__ArgumentListAssignment_2");
148 builder.put(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1(), "rule__ExternMetricDefinition__TypeAssignment_1"); 162 builder.put(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1(), "rule__ExternMetricDefinition__TypeAssignment_1");
149 builder.put(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2(), "rule__ExternMetricDefinition__HeadAssignment_2"); 163 builder.put(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2(), "rule__ExternMetricDefinition__NameAssignment_2");
164 builder.put(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3(), "rule__ExternMetricDefinition__ArgumentListAssignment_3");
165 builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1(), "rule__ExternAggregatorDefinition__TypeAssignment_1");
166 builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2(), "rule__ExternAggregatorDefinition__NameAssignment_2");
167 builder.put(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4(), "rule__ExternAggregatorDefinition__InputTypeAssignment_4");
168 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2(), "rule__ExternDatatypeDefinition__NameAssignment_2");
169 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1(), "rule__ExternDatatypeDefinition__SupertypesAssignment_3_1");
170 builder.put(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1(), "rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1");
171 builder.put(grammarAccess.getVariableAccess().getTypeAssignment_0(), "rule__Variable__TypeAssignment_0");
172 builder.put(grammarAccess.getVariableAccess().getNameAssignment_1(), "rule__Variable__NameAssignment_1");
150 builder.put(grammarAccess.getIfElseAccess().getConditionAssignment_1(), "rule__IfElse__ConditionAssignment_1"); 173 builder.put(grammarAccess.getIfElseAccess().getConditionAssignment_1(), "rule__IfElse__ConditionAssignment_1");
151 builder.put(grammarAccess.getIfElseAccess().getThenAssignment_3(), "rule__IfElse__ThenAssignment_3"); 174 builder.put(grammarAccess.getIfElseAccess().getThenAssignment_3(), "rule__IfElse__ThenAssignment_3");
152 builder.put(grammarAccess.getIfElseAccess().getElseAssignment_5(), "rule__IfElse__ElseAssignment_5"); 175 builder.put(grammarAccess.getIfElseAccess().getElseAssignment_5(), "rule__IfElse__ElseAssignment_5");
176 builder.put(grammarAccess.getLetAccess().getBindingsAssignment_1(), "rule__Let__BindingsAssignment_1");
177 builder.put(grammarAccess.getLetAccess().getBindingsAssignment_2_1(), "rule__Let__BindingsAssignment_2_1");
178 builder.put(grammarAccess.getLetAccess().getBodyAssignment_4(), "rule__Let__BodyAssignment_4");
179 builder.put(grammarAccess.getLetBindingAccess().getVariableAssignment_0(), "rule__LetBinding__VariableAssignment_0");
180 builder.put(grammarAccess.getLetBindingAccess().getValueAssignment_2(), "rule__LetBinding__ValueAssignment_2");
181 builder.put(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1(), "rule__ImplicationExpression__OpAssignment_1_1");
182 builder.put(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2(), "rule__ImplicationExpression__RightAssignment_1_2");
153 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1(), "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1"); 183 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1(), "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1");
154 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2(), "rule__DisjunctiveExpression__BodyAssignment_1_1_2"); 184 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2(), "rule__DisjunctiveExpression__BodyAssignment_1_1_2");
155 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1(), "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1"); 185 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1(), "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1");
@@ -164,12 +194,18 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
164 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2(), "rule__MultiplicativeExpression__RightAssignment_1_2"); 194 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2(), "rule__MultiplicativeExpression__RightAssignment_1_2");
165 builder.put(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1(), "rule__ExponentialExpression__OpAssignment_1_1"); 195 builder.put(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1(), "rule__ExponentialExpression__OpAssignment_1_1");
166 builder.put(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2(), "rule__ExponentialExpression__RightAssignment_1_2"); 196 builder.put(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2(), "rule__ExponentialExpression__RightAssignment_1_2");
197 builder.put(grammarAccess.getCastExpressionAccess().getTypeAssignment_1_2(), "rule__CastExpression__TypeAssignment_1_2");
167 builder.put(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1(), "rule__UnaryExpression__OpAssignment_1_1"); 198 builder.put(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1(), "rule__UnaryExpression__OpAssignment_1_1");
168 builder.put(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2(), "rule__UnaryExpression__BodyAssignment_1_2"); 199 builder.put(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2(), "rule__UnaryExpression__BodyAssignment_1_2");
169 builder.put(grammarAccess.getCountAccess().getBodyAssignment_2(), "rule__Count__BodyAssignment_2"); 200 builder.put(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_0(), "rule__LocalVariables__VariablesAssignment_2_0");
201 builder.put(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1(), "rule__LocalVariables__VariablesAssignment_2_1_1");
202 builder.put(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0(), "rule__QuantifiedExpression__QuantifierAssignment_0");
203 builder.put(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1(), "rule__QuantifiedExpression__LocalVariablesAssignment_1");
204 builder.put(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3(), "rule__QuantifiedExpression__BodyAssignment_3");
170 builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0"); 205 builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0");
171 builder.put(grammarAccess.getAggregationAccess().getBodyAssignment_2(), "rule__Aggregation__BodyAssignment_2"); 206 builder.put(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1(), "rule__Aggregation__LocalVariablesAssignment_1");
172 builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4(), "rule__Aggregation__ConditionAssignment_4"); 207 builder.put(grammarAccess.getAggregationAccess().getBodyAssignment_3(), "rule__Aggregation__BodyAssignment_3");
208 builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4_1(), "rule__Aggregation__ConditionAssignment_4_1");
173 builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0"); 209 builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0");
174 builder.put(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0(), "rule__Call__TransitiveClosureAssignment_1_0"); 210 builder.put(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0(), "rule__Call__TransitiveClosureAssignment_1_0");
175 builder.put(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1(), "rule__Call__ReflexiveTransitiveClosureAssignment_1_1"); 211 builder.put(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1(), "rule__Call__ReflexiveTransitiveClosureAssignment_1_1");
@@ -213,7 +249,6 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
213 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2"); 249 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2");
214 builder.put(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0(), "rule__ObjectiveDefinition__KindAssignment_0"); 250 builder.put(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0(), "rule__ObjectiveDefinition__KindAssignment_0");
215 builder.put(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1(), "rule__ObjectiveDefinition__ObjectiveAssignment_1"); 251 builder.put(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1(), "rule__ObjectiveDefinition__ObjectiveAssignment_1");
216 builder.put(grammarAccess.getNamedElementAccess().getNameAssignment(), "rule__NamedElement__NameAssignment");
217 } 252 }
218 } 253 }
219 254
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.g
index f5a473f4..a56b7fe0 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.g
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.g
@@ -57,29 +57,17 @@ import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
57 tokenNameToValue.put("ColonHyphenMinus", "':-'"); 57 tokenNameToValue.put("ColonHyphenMinus", "':-'");
58 tokenNameToValue.put("LessThanSignEqualsSign", "'<='"); 58 tokenNameToValue.put("LessThanSignEqualsSign", "'<='");
59 tokenNameToValue.put("EqualsSignEqualsSign", "'=='"); 59 tokenNameToValue.put("EqualsSignEqualsSign", "'=='");
60 tokenNameToValue.put("EqualsSignGreaterThanSign", "'=>'");
60 tokenNameToValue.put("GreaterThanSignEqualsSign", "'>='"); 61 tokenNameToValue.put("GreaterThanSignEqualsSign", "'>='");
61 tokenNameToValue.put("EQ", "'EQ'"); 62 tokenNameToValue.put("As", "'as'");
62 tokenNameToValue.put("IN", "'IN'");
63 tokenNameToValue.put("If", "'if'"); 63 tokenNameToValue.put("If", "'if'");
64 tokenNameToValue.put("In", "'in'"); 64 tokenNameToValue.put("In", "'in'");
65 tokenNameToValue.put("ADD", "'ADD'"); 65 tokenNameToValue.put("FullStopFullStopFullStop", "'...'");
66 tokenNameToValue.put("DIV", "'DIV'");
67 tokenNameToValue.put("MUL", "'MUL'");
68 tokenNameToValue.put("POW", "'POW'");
69 tokenNameToValue.put("SUB", "'SUB'");
70 tokenNameToValue.put("Avg", "'avg'");
71 tokenNameToValue.put("Inf", "'inf'"); 66 tokenNameToValue.put("Inf", "'inf'");
72 tokenNameToValue.put("Int", "'int'"); 67 tokenNameToValue.put("Let", "'let'");
73 tokenNameToValue.put("Max", "'max'");
74 tokenNameToValue.put("May", "'may'"); 68 tokenNameToValue.put("May", "'may'");
75 tokenNameToValue.put("Min", "'min'");
76 tokenNameToValue.put("Sum", "'sum'");
77 tokenNameToValue.put("LESS", "'LESS'");
78 tokenNameToValue.put("Else", "'else'"); 69 tokenNameToValue.put("Else", "'else'");
79 tokenNameToValue.put("Must", "'must'"); 70 tokenNameToValue.put("Must", "'must'");
80 tokenNameToValue.put("Only", "'only'");
81 tokenNameToValue.put("Prod", "'prod'");
82 tokenNameToValue.put("Real", "'real'");
83 tokenNameToValue.put("Then", "'then'"); 71 tokenNameToValue.put("Then", "'then'");
84 tokenNameToValue.put("True", "'true'"); 72 tokenNameToValue.put("True", "'true'");
85 tokenNameToValue.put("Class", "'class'"); 73 tokenNameToValue.put("Class", "'class'");
@@ -88,20 +76,19 @@ import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
88 tokenNameToValue.put("Error", "'error'"); 76 tokenNameToValue.put("Error", "'error'");
89 tokenNameToValue.put("False", "'false'"); 77 tokenNameToValue.put("False", "'false'");
90 tokenNameToValue.put("Scope", "'scope'"); 78 tokenNameToValue.put("Scope", "'scope'");
91 tokenNameToValue.put("NOT_EQ", "'NOT_EQ'"); 79 tokenNameToValue.put("Exists", "'exists'");
92 tokenNameToValue.put("Extern", "'extern'"); 80 tokenNameToValue.put("Extern", "'extern'");
93 tokenNameToValue.put("GREATER", "'GREATER'"); 81 tokenNameToValue.put("Forall", "'forall'");
94 tokenNameToValue.put("LESS_EQ", "'LESS_EQ'");
95 tokenNameToValue.put("Current", "'current'"); 82 tokenNameToValue.put("Current", "'current'");
96 tokenNameToValue.put("Default", "'default'"); 83 tokenNameToValue.put("Default", "'default'");
97 tokenNameToValue.put("Extends", "'extends'"); 84 tokenNameToValue.put("Extends", "'extends'");
98 tokenNameToValue.put("Unknown", "'unknown'"); 85 tokenNameToValue.put("Unknown", "'unknown'");
99 tokenNameToValue.put("Abstract", "'abstract'"); 86 tokenNameToValue.put("Abstract", "'abstract'");
100 tokenNameToValue.put("Contains", "'contains'"); 87 tokenNameToValue.put("Contains", "'contains'");
88 tokenNameToValue.put("Datatype", "'datatype'");
101 tokenNameToValue.put("Maximize", "'maximize'"); 89 tokenNameToValue.put("Maximize", "'maximize'");
102 tokenNameToValue.put("Minimize", "'minimize'"); 90 tokenNameToValue.put("Minimize", "'minimize'");
103 tokenNameToValue.put("Opposite", "'opposite'"); 91 tokenNameToValue.put("Opposite", "'opposite'");
104 tokenNameToValue.put("GREATER_EQ", "'GREATER_EQ'");
105 tokenNameToValue.put("Functional", "'functional'"); 92 tokenNameToValue.put("Functional", "'functional'");
106 } 93 }
107 94
@@ -273,50 +260,50 @@ finally {
273 restoreStackSize(stackSize); 260 restoreStackSize(stackSize);
274} 261}
275 262
276// Entry rule entryRuleExternPredicateDefinition 263// Entry rule entryRuleMetricDefinition
277entryRuleExternPredicateDefinition 264entryRuleMetricDefinition
278: 265:
279{ before(grammarAccess.getExternPredicateDefinitionRule()); } 266{ before(grammarAccess.getMetricDefinitionRule()); }
280 ruleExternPredicateDefinition 267 ruleMetricDefinition
281{ after(grammarAccess.getExternPredicateDefinitionRule()); } 268{ after(grammarAccess.getMetricDefinitionRule()); }
282 EOF 269 EOF
283; 270;
284 271
285// Rule ExternPredicateDefinition 272// Rule MetricDefinition
286ruleExternPredicateDefinition 273ruleMetricDefinition
287 @init { 274 @init {
288 int stackSize = keepStackSize(); 275 int stackSize = keepStackSize();
289 } 276 }
290 : 277 :
291 ( 278 (
292 { before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); } 279 { before(grammarAccess.getMetricDefinitionAccess().getGroup()); }
293 (rule__ExternPredicateDefinition__Group__0) 280 (rule__MetricDefinition__Group__0)
294 { after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); } 281 { after(grammarAccess.getMetricDefinitionAccess().getGroup()); }
295 ) 282 )
296; 283;
297finally { 284finally {
298 restoreStackSize(stackSize); 285 restoreStackSize(stackSize);
299} 286}
300 287
301// Entry rule entryRuleMetricDefinition 288// Entry rule entryRuleExternPredicateDefinition
302entryRuleMetricDefinition 289entryRuleExternPredicateDefinition
303: 290:
304{ before(grammarAccess.getMetricDefinitionRule()); } 291{ before(grammarAccess.getExternPredicateDefinitionRule()); }
305 ruleMetricDefinition 292 ruleExternPredicateDefinition
306{ after(grammarAccess.getMetricDefinitionRule()); } 293{ after(grammarAccess.getExternPredicateDefinitionRule()); }
307 EOF 294 EOF
308; 295;
309 296
310// Rule MetricDefinition 297// Rule ExternPredicateDefinition
311ruleMetricDefinition 298ruleExternPredicateDefinition
312 @init { 299 @init {
313 int stackSize = keepStackSize(); 300 int stackSize = keepStackSize();
314 } 301 }
315 : 302 :
316 ( 303 (
317 { before(grammarAccess.getMetricDefinitionAccess().getGroup()); } 304 { before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); }
318 (rule__MetricDefinition__Group__0) 305 (rule__ExternPredicateDefinition__Group__0)
319 { after(grammarAccess.getMetricDefinitionAccess().getGroup()); } 306 { after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); }
320 ) 307 )
321; 308;
322finally { 309finally {
@@ -348,6 +335,81 @@ finally {
348 restoreStackSize(stackSize); 335 restoreStackSize(stackSize);
349} 336}
350 337
338// Entry rule entryRuleExternAggregatorDefinition
339entryRuleExternAggregatorDefinition
340:
341{ before(grammarAccess.getExternAggregatorDefinitionRule()); }
342 ruleExternAggregatorDefinition
343{ after(grammarAccess.getExternAggregatorDefinitionRule()); }
344 EOF
345;
346
347// Rule ExternAggregatorDefinition
348ruleExternAggregatorDefinition
349 @init {
350 int stackSize = keepStackSize();
351 }
352 :
353 (
354 { before(grammarAccess.getExternAggregatorDefinitionAccess().getGroup()); }
355 (rule__ExternAggregatorDefinition__Group__0)
356 { after(grammarAccess.getExternAggregatorDefinitionAccess().getGroup()); }
357 )
358;
359finally {
360 restoreStackSize(stackSize);
361}
362
363// Entry rule entryRuleExternDatatypeDefinition
364entryRuleExternDatatypeDefinition
365:
366{ before(grammarAccess.getExternDatatypeDefinitionRule()); }
367 ruleExternDatatypeDefinition
368{ after(grammarAccess.getExternDatatypeDefinitionRule()); }
369 EOF
370;
371
372// Rule ExternDatatypeDefinition
373ruleExternDatatypeDefinition
374 @init {
375 int stackSize = keepStackSize();
376 }
377 :
378 (
379 { before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup()); }
380 (rule__ExternDatatypeDefinition__Group__0)
381 { after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup()); }
382 )
383;
384finally {
385 restoreStackSize(stackSize);
386}
387
388// Entry rule entryRuleVariable
389entryRuleVariable
390:
391{ before(grammarAccess.getVariableRule()); }
392 ruleVariable
393{ after(grammarAccess.getVariableRule()); }
394 EOF
395;
396
397// Rule Variable
398ruleVariable
399 @init {
400 int stackSize = keepStackSize();
401 }
402 :
403 (
404 { before(grammarAccess.getVariableAccess().getGroup()); }
405 (rule__Variable__Group__0)
406 { after(grammarAccess.getVariableAccess().getGroup()); }
407 )
408;
409finally {
410 restoreStackSize(stackSize);
411}
412
351// Entry rule entryRuleExpression 413// Entry rule entryRuleExpression
352entryRuleExpression 414entryRuleExpression
353: 415:
@@ -398,6 +460,81 @@ finally {
398 restoreStackSize(stackSize); 460 restoreStackSize(stackSize);
399} 461}
400 462
463// Entry rule entryRuleLet
464entryRuleLet
465:
466{ before(grammarAccess.getLetRule()); }
467 ruleLet
468{ after(grammarAccess.getLetRule()); }
469 EOF
470;
471
472// Rule Let
473ruleLet
474 @init {
475 int stackSize = keepStackSize();
476 }
477 :
478 (
479 { before(grammarAccess.getLetAccess().getGroup()); }
480 (rule__Let__Group__0)
481 { after(grammarAccess.getLetAccess().getGroup()); }
482 )
483;
484finally {
485 restoreStackSize(stackSize);
486}
487
488// Entry rule entryRuleLetBinding
489entryRuleLetBinding
490:
491{ before(grammarAccess.getLetBindingRule()); }
492 ruleLetBinding
493{ after(grammarAccess.getLetBindingRule()); }
494 EOF
495;
496
497// Rule LetBinding
498ruleLetBinding
499 @init {
500 int stackSize = keepStackSize();
501 }
502 :
503 (
504 { before(grammarAccess.getLetBindingAccess().getGroup()); }
505 (rule__LetBinding__Group__0)
506 { after(grammarAccess.getLetBindingAccess().getGroup()); }
507 )
508;
509finally {
510 restoreStackSize(stackSize);
511}
512
513// Entry rule entryRuleImplicationExpression
514entryRuleImplicationExpression
515:
516{ before(grammarAccess.getImplicationExpressionRule()); }
517 ruleImplicationExpression
518{ after(grammarAccess.getImplicationExpressionRule()); }
519 EOF
520;
521
522// Rule ImplicationExpression
523ruleImplicationExpression
524 @init {
525 int stackSize = keepStackSize();
526 }
527 :
528 (
529 { before(grammarAccess.getImplicationExpressionAccess().getGroup()); }
530 (rule__ImplicationExpression__Group__0)
531 { after(grammarAccess.getImplicationExpressionAccess().getGroup()); }
532 )
533;
534finally {
535 restoreStackSize(stackSize);
536}
537
401// Entry rule entryRuleDisjunctiveExpression 538// Entry rule entryRuleDisjunctiveExpression
402entryRuleDisjunctiveExpression 539entryRuleDisjunctiveExpression
403: 540:
@@ -573,6 +710,31 @@ finally {
573 restoreStackSize(stackSize); 710 restoreStackSize(stackSize);
574} 711}
575 712
713// Entry rule entryRuleCastExpression
714entryRuleCastExpression
715:
716{ before(grammarAccess.getCastExpressionRule()); }
717 ruleCastExpression
718{ after(grammarAccess.getCastExpressionRule()); }
719 EOF
720;
721
722// Rule CastExpression
723ruleCastExpression
724 @init {
725 int stackSize = keepStackSize();
726 }
727 :
728 (
729 { before(grammarAccess.getCastExpressionAccess().getGroup()); }
730 (rule__CastExpression__Group__0)
731 { after(grammarAccess.getCastExpressionAccess().getGroup()); }
732 )
733;
734finally {
735 restoreStackSize(stackSize);
736}
737
576// Entry rule entryRuleUnaryExpression 738// Entry rule entryRuleUnaryExpression
577entryRuleUnaryExpression 739entryRuleUnaryExpression
578: 740:
@@ -623,25 +785,50 @@ finally {
623 restoreStackSize(stackSize); 785 restoreStackSize(stackSize);
624} 786}
625 787
626// Entry rule entryRuleCount 788// Entry rule entryRuleLocalVariables
627entryRuleCount 789entryRuleLocalVariables
628: 790:
629{ before(grammarAccess.getCountRule()); } 791{ before(grammarAccess.getLocalVariablesRule()); }
630 ruleCount 792 ruleLocalVariables
631{ after(grammarAccess.getCountRule()); } 793{ after(grammarAccess.getLocalVariablesRule()); }
632 EOF 794 EOF
633; 795;
634 796
635// Rule Count 797// Rule LocalVariables
636ruleCount 798ruleLocalVariables
637 @init { 799 @init {
638 int stackSize = keepStackSize(); 800 int stackSize = keepStackSize();
639 } 801 }
640 : 802 :
641 ( 803 (
642 { before(grammarAccess.getCountAccess().getGroup()); } 804 { before(grammarAccess.getLocalVariablesAccess().getGroup()); }
643 (rule__Count__Group__0) 805 (rule__LocalVariables__Group__0)
644 { after(grammarAccess.getCountAccess().getGroup()); } 806 { after(grammarAccess.getLocalVariablesAccess().getGroup()); }
807 )
808;
809finally {
810 restoreStackSize(stackSize);
811}
812
813// Entry rule entryRuleQuantifiedExpression
814entryRuleQuantifiedExpression
815:
816{ before(grammarAccess.getQuantifiedExpressionRule()); }
817 ruleQuantifiedExpression
818{ after(grammarAccess.getQuantifiedExpressionRule()); }
819 EOF
820;
821
822// Rule QuantifiedExpression
823ruleQuantifiedExpression
824 @init {
825 int stackSize = keepStackSize();
826 }
827 :
828 (
829 { before(grammarAccess.getQuantifiedExpressionAccess().getGroup()); }
830 (rule__QuantifiedExpression__Group__0)
831 { after(grammarAccess.getQuantifiedExpressionAccess().getGroup()); }
645 ) 832 )
646; 833;
647finally { 834finally {
@@ -1439,16 +1626,16 @@ finally {
1439 myHiddenTokenState.restore(); 1626 myHiddenTokenState.restore();
1440} 1627}
1441 1628
1442// Rule MetricType 1629// Rule ImplicationOperator
1443ruleMetricType 1630ruleImplicationOperator
1444 @init { 1631 @init {
1445 int stackSize = keepStackSize(); 1632 int stackSize = keepStackSize();
1446 } 1633 }
1447: 1634:
1448 ( 1635 (
1449 { before(grammarAccess.getMetricTypeAccess().getAlternatives()); } 1636 { before(grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); }
1450 (rule__MetricType__Alternatives) 1637 (EqualsSignGreaterThanSign)
1451 { after(grammarAccess.getMetricTypeAccess().getAlternatives()); } 1638 { after(grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); }
1452 ) 1639 )
1453; 1640;
1454finally { 1641finally {
@@ -1535,16 +1722,16 @@ finally {
1535 restoreStackSize(stackSize); 1722 restoreStackSize(stackSize);
1536} 1723}
1537 1724
1538// Rule AggregationOp 1725// Rule Quantifier
1539ruleAggregationOp 1726ruleQuantifier
1540 @init { 1727 @init {
1541 int stackSize = keepStackSize(); 1728 int stackSize = keepStackSize();
1542 } 1729 }
1543: 1730:
1544 ( 1731 (
1545 { before(grammarAccess.getAggregationOpAccess().getAlternatives()); } 1732 { before(grammarAccess.getQuantifierAccess().getAlternatives()); }
1546 (rule__AggregationOp__Alternatives) 1733 (rule__Quantifier__Alternatives)
1547 { after(grammarAccess.getAggregationOpAccess().getAlternatives()); } 1734 { after(grammarAccess.getQuantifierAccess().getAlternatives()); }
1548 ) 1735 )
1549; 1736;
1550finally { 1737finally {
@@ -1613,15 +1800,15 @@ rule__Statement__Alternatives_0
1613 ) 1800 )
1614 | 1801 |
1615 ( 1802 (
1616 { before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); } 1803 { before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); }
1617 ruleExternPredicateDefinition 1804 ruleMetricDefinition
1618 { after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); } 1805 { after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); }
1619 ) 1806 )
1620 | 1807 |
1621 ( 1808 (
1622 { before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); } 1809 { before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); }
1623 ruleMetricDefinition 1810 ruleExternPredicateDefinition
1624 { after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); } 1811 { after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); }
1625 ) 1812 )
1626 | 1813 |
1627 ( 1814 (
@@ -1631,21 +1818,33 @@ rule__Statement__Alternatives_0
1631 ) 1818 )
1632 | 1819 |
1633 ( 1820 (
1634 { before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); } 1821 { before(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); }
1822 ruleExternAggregatorDefinition
1823 { after(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); }
1824 )
1825 |
1826 (
1827 { before(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); }
1828 ruleExternDatatypeDefinition
1829 { after(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); }
1830 )
1831 |
1832 (
1833 { before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); }
1635 ruleClassDefinition 1834 ruleClassDefinition
1636 { after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); } 1835 { after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); }
1637 ) 1836 )
1638 | 1837 |
1639 ( 1838 (
1640 { before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); } 1839 { before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); }
1641 ruleScopeDefinition 1840 ruleScopeDefinition
1642 { after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); } 1841 { after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); }
1643 ) 1842 )
1644 | 1843 |
1645 ( 1844 (
1646 { before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); } 1845 { before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); }
1647 ruleObjectiveDefinition 1846 ruleObjectiveDefinition
1648 { after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); } 1847 { after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); }
1649 ) 1848 )
1650; 1849;
1651finally { 1850finally {
@@ -1712,9 +1911,15 @@ rule__Expression__Alternatives
1712 ) 1911 )
1713 | 1912 |
1714 ( 1913 (
1715 { before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); } 1914 { before(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); }
1716 ruleDisjunctiveExpression 1915 ruleLet
1717 { after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); } 1916 { after(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); }
1917 )
1918 |
1919 (
1920 { before(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); }
1921 ruleImplicationExpression
1922 { after(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); }
1718 ) 1923 )
1719; 1924;
1720finally { 1925finally {
@@ -1775,9 +1980,9 @@ rule__AggregationExpression__Alternatives
1775 ) 1980 )
1776 | 1981 |
1777 ( 1982 (
1778 { before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); } 1983 { before(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); }
1779 ruleCount 1984 ruleQuantifiedExpression
1780 { after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); } 1985 { after(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); }
1781 ) 1986 )
1782 | 1987 |
1783 ( 1988 (
@@ -2060,27 +2265,6 @@ finally {
2060 restoreStackSize(stackSize); 2265 restoreStackSize(stackSize);
2061} 2266}
2062 2267
2063rule__MetricType__Alternatives
2064 @init {
2065 int stackSize = keepStackSize();
2066 }
2067:
2068 (
2069 { before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); }
2070 (Int)
2071 { after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); }
2072 )
2073 |
2074 (
2075 { before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); }
2076 (Real)
2077 { after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); }
2078 )
2079;
2080finally {
2081 restoreStackSize(stackSize);
2082}
2083
2084rule__ComparisonOperator__Alternatives 2268rule__ComparisonOperator__Alternatives
2085 @init { 2269 @init {
2086 int stackSize = keepStackSize(); 2270 int stackSize = keepStackSize();
@@ -2219,45 +2403,27 @@ finally {
2219 restoreStackSize(stackSize); 2403 restoreStackSize(stackSize);
2220} 2404}
2221 2405
2222rule__AggregationOp__Alternatives 2406rule__Quantifier__Alternatives
2223 @init { 2407 @init {
2224 int stackSize = keepStackSize(); 2408 int stackSize = keepStackSize();
2225 } 2409 }
2226: 2410:
2227 ( 2411 (
2228 { before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); } 2412 { before(grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); }
2229 (Only) 2413 (Exists)
2230 { after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); } 2414 { after(grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); }
2231 ) 2415 )
2232 | 2416 |
2233 ( 2417 (
2234 { before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); } 2418 { before(grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); }
2235 (Sum) 2419 (Forall)
2236 { after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); } 2420 { after(grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); }
2237 ) 2421 )
2238 | 2422 |
2239 ( 2423 (
2240 { before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); } 2424 { before(grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); }
2241 (Prod) 2425 (Count)
2242 { after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); } 2426 { after(grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); }
2243 )
2244 |
2245 (
2246 { before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); }
2247 (Avg)
2248 { after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); }
2249 )
2250 |
2251 (
2252 { before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); }
2253 (Min)
2254 { after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); }
2255 )
2256 |
2257 (
2258 { before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); }
2259 (Max)
2260 { after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); }
2261 ) 2427 )
2262; 2428;
2263finally { 2429finally {
@@ -2417,7 +2583,7 @@ rule__AssertionOrDefinition__Group__1__Impl
2417: 2583:
2418( 2584(
2419 { before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); } 2585 { before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); }
2420 (rule__AssertionOrDefinition__Alternatives_1) 2586 (rule__AssertionOrDefinition__Alternatives_1)?
2421 { after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); } 2587 { after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); }
2422) 2588)
2423; 2589;
@@ -2444,9 +2610,9 @@ rule__AssertionOrDefinition__Group_1_0__0__Impl
2444 } 2610 }
2445: 2611:
2446( 2612(
2447 { before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); } 2613 { before(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0()); }
2448 () 2614 ()
2449 { after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); } 2615 { after(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0()); }
2450) 2616)
2451; 2617;
2452finally { 2618finally {
@@ -2459,6 +2625,7 @@ rule__AssertionOrDefinition__Group_1_0__1
2459 } 2625 }
2460: 2626:
2461 rule__AssertionOrDefinition__Group_1_0__1__Impl 2627 rule__AssertionOrDefinition__Group_1_0__1__Impl
2628 rule__AssertionOrDefinition__Group_1_0__2
2462; 2629;
2463finally { 2630finally {
2464 restoreStackSize(stackSize); 2631 restoreStackSize(stackSize);
@@ -2470,63 +2637,35 @@ rule__AssertionOrDefinition__Group_1_0__1__Impl
2470 } 2637 }
2471: 2638:
2472( 2639(
2473 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); } 2640 { before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); }
2474 (rule__AssertionOrDefinition__Group_1_0_1__0)?
2475 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); }
2476)
2477;
2478finally {
2479 restoreStackSize(stackSize);
2480}
2481
2482
2483rule__AssertionOrDefinition__Group_1_0_1__0
2484 @init {
2485 int stackSize = keepStackSize();
2486 }
2487:
2488 rule__AssertionOrDefinition__Group_1_0_1__0__Impl
2489 rule__AssertionOrDefinition__Group_1_0_1__1
2490;
2491finally {
2492 restoreStackSize(stackSize);
2493}
2494
2495rule__AssertionOrDefinition__Group_1_0_1__0__Impl
2496 @init {
2497 int stackSize = keepStackSize();
2498 }
2499:
2500(
2501 { before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); }
2502 Colon 2641 Colon
2503 { after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); } 2642 { after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); }
2504) 2643)
2505; 2644;
2506finally { 2645finally {
2507 restoreStackSize(stackSize); 2646 restoreStackSize(stackSize);
2508} 2647}
2509 2648
2510rule__AssertionOrDefinition__Group_1_0_1__1 2649rule__AssertionOrDefinition__Group_1_0__2
2511 @init { 2650 @init {
2512 int stackSize = keepStackSize(); 2651 int stackSize = keepStackSize();
2513 } 2652 }
2514: 2653:
2515 rule__AssertionOrDefinition__Group_1_0_1__1__Impl 2654 rule__AssertionOrDefinition__Group_1_0__2__Impl
2516; 2655;
2517finally { 2656finally {
2518 restoreStackSize(stackSize); 2657 restoreStackSize(stackSize);
2519} 2658}
2520 2659
2521rule__AssertionOrDefinition__Group_1_0_1__1__Impl 2660rule__AssertionOrDefinition__Group_1_0__2__Impl
2522 @init { 2661 @init {
2523 int stackSize = keepStackSize(); 2662 int stackSize = keepStackSize();
2524 } 2663 }
2525: 2664:
2526( 2665(
2527 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); } 2666 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2()); }
2528 (rule__AssertionOrDefinition__RangeAssignment_1_0_1_1) 2667 (rule__AssertionOrDefinition__RangeAssignment_1_0_2)
2529 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); } 2668 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2()); }
2530) 2669)
2531; 2670;
2532finally { 2671finally {
@@ -3128,161 +3267,188 @@ finally {
3128} 3267}
3129 3268
3130 3269
3131rule__ExternPredicateDefinition__Group__0 3270rule__MetricDefinition__Group__0
3132 @init { 3271 @init {
3133 int stackSize = keepStackSize(); 3272 int stackSize = keepStackSize();
3134 } 3273 }
3135: 3274:
3136 rule__ExternPredicateDefinition__Group__0__Impl 3275 rule__MetricDefinition__Group__0__Impl
3137 rule__ExternPredicateDefinition__Group__1 3276 rule__MetricDefinition__Group__1
3138; 3277;
3139finally { 3278finally {
3140 restoreStackSize(stackSize); 3279 restoreStackSize(stackSize);
3141} 3280}
3142 3281
3143rule__ExternPredicateDefinition__Group__0__Impl 3282rule__MetricDefinition__Group__0__Impl
3144 @init { 3283 @init {
3145 int stackSize = keepStackSize(); 3284 int stackSize = keepStackSize();
3146 } 3285 }
3147: 3286:
3148( 3287(
3149 { before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); } 3288 { before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); }
3150 Extern 3289 (rule__MetricDefinition__TypeAssignment_0)
3151 { after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); } 3290 { after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); }
3152) 3291)
3153; 3292;
3154finally { 3293finally {
3155 restoreStackSize(stackSize); 3294 restoreStackSize(stackSize);
3156} 3295}
3157 3296
3158rule__ExternPredicateDefinition__Group__1 3297rule__MetricDefinition__Group__1
3159 @init { 3298 @init {
3160 int stackSize = keepStackSize(); 3299 int stackSize = keepStackSize();
3161 } 3300 }
3162: 3301:
3163 rule__ExternPredicateDefinition__Group__1__Impl 3302 rule__MetricDefinition__Group__1__Impl
3303 rule__MetricDefinition__Group__2
3164; 3304;
3165finally { 3305finally {
3166 restoreStackSize(stackSize); 3306 restoreStackSize(stackSize);
3167} 3307}
3168 3308
3169rule__ExternPredicateDefinition__Group__1__Impl 3309rule__MetricDefinition__Group__1__Impl
3170 @init { 3310 @init {
3171 int stackSize = keepStackSize(); 3311 int stackSize = keepStackSize();
3172 } 3312 }
3173: 3313:
3174( 3314(
3175 { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); } 3315 { before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); }
3176 (rule__ExternPredicateDefinition__HeadAssignment_1) 3316 (rule__MetricDefinition__HeadAssignment_1)
3177 { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); } 3317 { after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); }
3178) 3318)
3179; 3319;
3180finally { 3320finally {
3181 restoreStackSize(stackSize); 3321 restoreStackSize(stackSize);
3182} 3322}
3183 3323
3324rule__MetricDefinition__Group__2
3325 @init {
3326 int stackSize = keepStackSize();
3327 }
3328:
3329 rule__MetricDefinition__Group__2__Impl
3330 rule__MetricDefinition__Group__3
3331;
3332finally {
3333 restoreStackSize(stackSize);
3334}
3184 3335
3185rule__MetricDefinition__Group__0 3336rule__MetricDefinition__Group__2__Impl
3186 @init { 3337 @init {
3187 int stackSize = keepStackSize(); 3338 int stackSize = keepStackSize();
3188 } 3339 }
3189: 3340:
3190 rule__MetricDefinition__Group__0__Impl 3341(
3191 rule__MetricDefinition__Group__1 3342 { before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); }
3343 EqualsSign
3344 { after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); }
3345)
3192; 3346;
3193finally { 3347finally {
3194 restoreStackSize(stackSize); 3348 restoreStackSize(stackSize);
3195} 3349}
3196 3350
3197rule__MetricDefinition__Group__0__Impl 3351rule__MetricDefinition__Group__3
3352 @init {
3353 int stackSize = keepStackSize();
3354 }
3355:
3356 rule__MetricDefinition__Group__3__Impl
3357;
3358finally {
3359 restoreStackSize(stackSize);
3360}
3361
3362rule__MetricDefinition__Group__3__Impl
3198 @init { 3363 @init {
3199 int stackSize = keepStackSize(); 3364 int stackSize = keepStackSize();
3200 } 3365 }
3201: 3366:
3202( 3367(
3203 { before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); } 3368 { before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); }
3204 (rule__MetricDefinition__TypeAssignment_0) 3369 (rule__MetricDefinition__BodyAssignment_3)
3205 { after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); } 3370 { after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); }
3206) 3371)
3207; 3372;
3208finally { 3373finally {
3209 restoreStackSize(stackSize); 3374 restoreStackSize(stackSize);
3210} 3375}
3211 3376
3212rule__MetricDefinition__Group__1 3377
3378rule__ExternPredicateDefinition__Group__0
3213 @init { 3379 @init {
3214 int stackSize = keepStackSize(); 3380 int stackSize = keepStackSize();
3215 } 3381 }
3216: 3382:
3217 rule__MetricDefinition__Group__1__Impl 3383 rule__ExternPredicateDefinition__Group__0__Impl
3218 rule__MetricDefinition__Group__2 3384 rule__ExternPredicateDefinition__Group__1
3219; 3385;
3220finally { 3386finally {
3221 restoreStackSize(stackSize); 3387 restoreStackSize(stackSize);
3222} 3388}
3223 3389
3224rule__MetricDefinition__Group__1__Impl 3390rule__ExternPredicateDefinition__Group__0__Impl
3225 @init { 3391 @init {
3226 int stackSize = keepStackSize(); 3392 int stackSize = keepStackSize();
3227 } 3393 }
3228: 3394:
3229( 3395(
3230 { before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); } 3396 { before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); }
3231 (rule__MetricDefinition__HeadAssignment_1) 3397 Extern
3232 { after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); } 3398 { after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); }
3233) 3399)
3234; 3400;
3235finally { 3401finally {
3236 restoreStackSize(stackSize); 3402 restoreStackSize(stackSize);
3237} 3403}
3238 3404
3239rule__MetricDefinition__Group__2 3405rule__ExternPredicateDefinition__Group__1
3240 @init { 3406 @init {
3241 int stackSize = keepStackSize(); 3407 int stackSize = keepStackSize();
3242 } 3408 }
3243: 3409:
3244 rule__MetricDefinition__Group__2__Impl 3410 rule__ExternPredicateDefinition__Group__1__Impl
3245 rule__MetricDefinition__Group__3 3411 rule__ExternPredicateDefinition__Group__2
3246; 3412;
3247finally { 3413finally {
3248 restoreStackSize(stackSize); 3414 restoreStackSize(stackSize);
3249} 3415}
3250 3416
3251rule__MetricDefinition__Group__2__Impl 3417rule__ExternPredicateDefinition__Group__1__Impl
3252 @init { 3418 @init {
3253 int stackSize = keepStackSize(); 3419 int stackSize = keepStackSize();
3254 } 3420 }
3255: 3421:
3256( 3422(
3257 { before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); } 3423 { before(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1()); }
3258 EqualsSign 3424 (rule__ExternPredicateDefinition__NameAssignment_1)
3259 { after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); } 3425 { after(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1()); }
3260) 3426)
3261; 3427;
3262finally { 3428finally {
3263 restoreStackSize(stackSize); 3429 restoreStackSize(stackSize);
3264} 3430}
3265 3431
3266rule__MetricDefinition__Group__3 3432rule__ExternPredicateDefinition__Group__2
3267 @init { 3433 @init {
3268 int stackSize = keepStackSize(); 3434 int stackSize = keepStackSize();
3269 } 3435 }
3270: 3436:
3271 rule__MetricDefinition__Group__3__Impl 3437 rule__ExternPredicateDefinition__Group__2__Impl
3272; 3438;
3273finally { 3439finally {
3274 restoreStackSize(stackSize); 3440 restoreStackSize(stackSize);
3275} 3441}
3276 3442
3277rule__MetricDefinition__Group__3__Impl 3443rule__ExternPredicateDefinition__Group__2__Impl
3278 @init { 3444 @init {
3279 int stackSize = keepStackSize(); 3445 int stackSize = keepStackSize();
3280 } 3446 }
3281: 3447:
3282( 3448(
3283 { before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); } 3449 { before(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2()); }
3284 (rule__MetricDefinition__BodyAssignment_3) 3450 (rule__ExternPredicateDefinition__ArgumentListAssignment_2)
3285 { after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); } 3451 { after(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2()); }
3286) 3452)
3287; 3453;
3288finally { 3454finally {
@@ -3350,6 +3516,7 @@ rule__ExternMetricDefinition__Group__2
3350 } 3516 }
3351: 3517:
3352 rule__ExternMetricDefinition__Group__2__Impl 3518 rule__ExternMetricDefinition__Group__2__Impl
3519 rule__ExternMetricDefinition__Group__3
3353; 3520;
3354finally { 3521finally {
3355 restoreStackSize(stackSize); 3522 restoreStackSize(stackSize);
@@ -3361,9 +3528,521 @@ rule__ExternMetricDefinition__Group__2__Impl
3361 } 3528 }
3362: 3529:
3363( 3530(
3364 { before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); } 3531 { before(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2()); }
3365 (rule__ExternMetricDefinition__HeadAssignment_2) 3532 (rule__ExternMetricDefinition__NameAssignment_2)
3366 { after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); } 3533 { after(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2()); }
3534)
3535;
3536finally {
3537 restoreStackSize(stackSize);
3538}
3539
3540rule__ExternMetricDefinition__Group__3
3541 @init {
3542 int stackSize = keepStackSize();
3543 }
3544:
3545 rule__ExternMetricDefinition__Group__3__Impl
3546;
3547finally {
3548 restoreStackSize(stackSize);
3549}
3550
3551rule__ExternMetricDefinition__Group__3__Impl
3552 @init {
3553 int stackSize = keepStackSize();
3554 }
3555:
3556(
3557 { before(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3()); }
3558 (rule__ExternMetricDefinition__ArgumentListAssignment_3)
3559 { after(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3()); }
3560)
3561;
3562finally {
3563 restoreStackSize(stackSize);
3564}
3565
3566
3567rule__ExternAggregatorDefinition__Group__0
3568 @init {
3569 int stackSize = keepStackSize();
3570 }
3571:
3572 rule__ExternAggregatorDefinition__Group__0__Impl
3573 rule__ExternAggregatorDefinition__Group__1
3574;
3575finally {
3576 restoreStackSize(stackSize);
3577}
3578
3579rule__ExternAggregatorDefinition__Group__0__Impl
3580 @init {
3581 int stackSize = keepStackSize();
3582 }
3583:
3584(
3585 { before(grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); }
3586 Extern
3587 { after(grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); }
3588)
3589;
3590finally {
3591 restoreStackSize(stackSize);
3592}
3593
3594rule__ExternAggregatorDefinition__Group__1
3595 @init {
3596 int stackSize = keepStackSize();
3597 }
3598:
3599 rule__ExternAggregatorDefinition__Group__1__Impl
3600 rule__ExternAggregatorDefinition__Group__2
3601;
3602finally {
3603 restoreStackSize(stackSize);
3604}
3605
3606rule__ExternAggregatorDefinition__Group__1__Impl
3607 @init {
3608 int stackSize = keepStackSize();
3609 }
3610:
3611(
3612 { before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1()); }
3613 (rule__ExternAggregatorDefinition__TypeAssignment_1)
3614 { after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1()); }
3615)
3616;
3617finally {
3618 restoreStackSize(stackSize);
3619}
3620
3621rule__ExternAggregatorDefinition__Group__2
3622 @init {
3623 int stackSize = keepStackSize();
3624 }
3625:
3626 rule__ExternAggregatorDefinition__Group__2__Impl
3627 rule__ExternAggregatorDefinition__Group__3
3628;
3629finally {
3630 restoreStackSize(stackSize);
3631}
3632
3633rule__ExternAggregatorDefinition__Group__2__Impl
3634 @init {
3635 int stackSize = keepStackSize();
3636 }
3637:
3638(
3639 { before(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2()); }
3640 (rule__ExternAggregatorDefinition__NameAssignment_2)
3641 { after(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2()); }
3642)
3643;
3644finally {
3645 restoreStackSize(stackSize);
3646}
3647
3648rule__ExternAggregatorDefinition__Group__3
3649 @init {
3650 int stackSize = keepStackSize();
3651 }
3652:
3653 rule__ExternAggregatorDefinition__Group__3__Impl
3654 rule__ExternAggregatorDefinition__Group__4
3655;
3656finally {
3657 restoreStackSize(stackSize);
3658}
3659
3660rule__ExternAggregatorDefinition__Group__3__Impl
3661 @init {
3662 int stackSize = keepStackSize();
3663 }
3664:
3665(
3666 { before(grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); }
3667 LeftCurlyBracket
3668 { after(grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); }
3669)
3670;
3671finally {
3672 restoreStackSize(stackSize);
3673}
3674
3675rule__ExternAggregatorDefinition__Group__4
3676 @init {
3677 int stackSize = keepStackSize();
3678 }
3679:
3680 rule__ExternAggregatorDefinition__Group__4__Impl
3681 rule__ExternAggregatorDefinition__Group__5
3682;
3683finally {
3684 restoreStackSize(stackSize);
3685}
3686
3687rule__ExternAggregatorDefinition__Group__4__Impl
3688 @init {
3689 int stackSize = keepStackSize();
3690 }
3691:
3692(
3693 { before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4()); }
3694 (rule__ExternAggregatorDefinition__InputTypeAssignment_4)
3695 { after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4()); }
3696)
3697;
3698finally {
3699 restoreStackSize(stackSize);
3700}
3701
3702rule__ExternAggregatorDefinition__Group__5
3703 @init {
3704 int stackSize = keepStackSize();
3705 }
3706:
3707 rule__ExternAggregatorDefinition__Group__5__Impl
3708 rule__ExternAggregatorDefinition__Group__6
3709;
3710finally {
3711 restoreStackSize(stackSize);
3712}
3713
3714rule__ExternAggregatorDefinition__Group__5__Impl
3715 @init {
3716 int stackSize = keepStackSize();
3717 }
3718:
3719(
3720 { before(grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); }
3721 FullStopFullStopFullStop
3722 { after(grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); }
3723)
3724;
3725finally {
3726 restoreStackSize(stackSize);
3727}
3728
3729rule__ExternAggregatorDefinition__Group__6
3730 @init {
3731 int stackSize = keepStackSize();
3732 }
3733:
3734 rule__ExternAggregatorDefinition__Group__6__Impl
3735;
3736finally {
3737 restoreStackSize(stackSize);
3738}
3739
3740rule__ExternAggregatorDefinition__Group__6__Impl
3741 @init {
3742 int stackSize = keepStackSize();
3743 }
3744:
3745(
3746 { before(grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); }
3747 RightCurlyBracket
3748 { after(grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); }
3749)
3750;
3751finally {
3752 restoreStackSize(stackSize);
3753}
3754
3755
3756rule__ExternDatatypeDefinition__Group__0
3757 @init {
3758 int stackSize = keepStackSize();
3759 }
3760:
3761 rule__ExternDatatypeDefinition__Group__0__Impl
3762 rule__ExternDatatypeDefinition__Group__1
3763;
3764finally {
3765 restoreStackSize(stackSize);
3766}
3767
3768rule__ExternDatatypeDefinition__Group__0__Impl
3769 @init {
3770 int stackSize = keepStackSize();
3771 }
3772:
3773(
3774 { before(grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); }
3775 Extern
3776 { after(grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); }
3777)
3778;
3779finally {
3780 restoreStackSize(stackSize);
3781}
3782
3783rule__ExternDatatypeDefinition__Group__1
3784 @init {
3785 int stackSize = keepStackSize();
3786 }
3787:
3788 rule__ExternDatatypeDefinition__Group__1__Impl
3789 rule__ExternDatatypeDefinition__Group__2
3790;
3791finally {
3792 restoreStackSize(stackSize);
3793}
3794
3795rule__ExternDatatypeDefinition__Group__1__Impl
3796 @init {
3797 int stackSize = keepStackSize();
3798 }
3799:
3800(
3801 { before(grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); }
3802 Datatype
3803 { after(grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); }
3804)
3805;
3806finally {
3807 restoreStackSize(stackSize);
3808}
3809
3810rule__ExternDatatypeDefinition__Group__2
3811 @init {
3812 int stackSize = keepStackSize();
3813 }
3814:
3815 rule__ExternDatatypeDefinition__Group__2__Impl
3816 rule__ExternDatatypeDefinition__Group__3
3817;
3818finally {
3819 restoreStackSize(stackSize);
3820}
3821
3822rule__ExternDatatypeDefinition__Group__2__Impl
3823 @init {
3824 int stackSize = keepStackSize();
3825 }
3826:
3827(
3828 { before(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2()); }
3829 (rule__ExternDatatypeDefinition__NameAssignment_2)
3830 { after(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2()); }
3831)
3832;
3833finally {
3834 restoreStackSize(stackSize);
3835}
3836
3837rule__ExternDatatypeDefinition__Group__3
3838 @init {
3839 int stackSize = keepStackSize();
3840 }
3841:
3842 rule__ExternDatatypeDefinition__Group__3__Impl
3843;
3844finally {
3845 restoreStackSize(stackSize);
3846}
3847
3848rule__ExternDatatypeDefinition__Group__3__Impl
3849 @init {
3850 int stackSize = keepStackSize();
3851 }
3852:
3853(
3854 { before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3()); }
3855 (rule__ExternDatatypeDefinition__Group_3__0)
3856 { after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3()); }
3857)
3858;
3859finally {
3860 restoreStackSize(stackSize);
3861}
3862
3863
3864rule__ExternDatatypeDefinition__Group_3__0
3865 @init {
3866 int stackSize = keepStackSize();
3867 }
3868:
3869 rule__ExternDatatypeDefinition__Group_3__0__Impl
3870 rule__ExternDatatypeDefinition__Group_3__1
3871;
3872finally {
3873 restoreStackSize(stackSize);
3874}
3875
3876rule__ExternDatatypeDefinition__Group_3__0__Impl
3877 @init {
3878 int stackSize = keepStackSize();
3879 }
3880:
3881(
3882 { before(grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); }
3883 Extends
3884 { after(grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); }
3885)
3886;
3887finally {
3888 restoreStackSize(stackSize);
3889}
3890
3891rule__ExternDatatypeDefinition__Group_3__1
3892 @init {
3893 int stackSize = keepStackSize();
3894 }
3895:
3896 rule__ExternDatatypeDefinition__Group_3__1__Impl
3897 rule__ExternDatatypeDefinition__Group_3__2
3898;
3899finally {
3900 restoreStackSize(stackSize);
3901}
3902
3903rule__ExternDatatypeDefinition__Group_3__1__Impl
3904 @init {
3905 int stackSize = keepStackSize();
3906 }
3907:
3908(
3909 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1()); }
3910 (rule__ExternDatatypeDefinition__SupertypesAssignment_3_1)
3911 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1()); }
3912)
3913;
3914finally {
3915 restoreStackSize(stackSize);
3916}
3917
3918rule__ExternDatatypeDefinition__Group_3__2
3919 @init {
3920 int stackSize = keepStackSize();
3921 }
3922:
3923 rule__ExternDatatypeDefinition__Group_3__2__Impl
3924;
3925finally {
3926 restoreStackSize(stackSize);
3927}
3928
3929rule__ExternDatatypeDefinition__Group_3__2__Impl
3930 @init {
3931 int stackSize = keepStackSize();
3932 }
3933:
3934(
3935 { before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2()); }
3936 (rule__ExternDatatypeDefinition__Group_3_2__0)*
3937 { after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2()); }
3938)
3939;
3940finally {
3941 restoreStackSize(stackSize);
3942}
3943
3944
3945rule__ExternDatatypeDefinition__Group_3_2__0
3946 @init {
3947 int stackSize = keepStackSize();
3948 }
3949:
3950 rule__ExternDatatypeDefinition__Group_3_2__0__Impl
3951 rule__ExternDatatypeDefinition__Group_3_2__1
3952;
3953finally {
3954 restoreStackSize(stackSize);
3955}
3956
3957rule__ExternDatatypeDefinition__Group_3_2__0__Impl
3958 @init {
3959 int stackSize = keepStackSize();
3960 }
3961:
3962(
3963 { before(grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); }
3964 Comma
3965 { after(grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); }
3966)
3967;
3968finally {
3969 restoreStackSize(stackSize);
3970}
3971
3972rule__ExternDatatypeDefinition__Group_3_2__1
3973 @init {
3974 int stackSize = keepStackSize();
3975 }
3976:
3977 rule__ExternDatatypeDefinition__Group_3_2__1__Impl
3978;
3979finally {
3980 restoreStackSize(stackSize);
3981}
3982
3983rule__ExternDatatypeDefinition__Group_3_2__1__Impl
3984 @init {
3985 int stackSize = keepStackSize();
3986 }
3987:
3988(
3989 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1()); }
3990 (rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1)
3991 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1()); }
3992)
3993;
3994finally {
3995 restoreStackSize(stackSize);
3996}
3997
3998
3999rule__Variable__Group__0
4000 @init {
4001 int stackSize = keepStackSize();
4002 }
4003:
4004 rule__Variable__Group__0__Impl
4005 rule__Variable__Group__1
4006;
4007finally {
4008 restoreStackSize(stackSize);
4009}
4010
4011rule__Variable__Group__0__Impl
4012 @init {
4013 int stackSize = keepStackSize();
4014 }
4015:
4016(
4017 { before(grammarAccess.getVariableAccess().getTypeAssignment_0()); }
4018 (rule__Variable__TypeAssignment_0)?
4019 { after(grammarAccess.getVariableAccess().getTypeAssignment_0()); }
4020)
4021;
4022finally {
4023 restoreStackSize(stackSize);
4024}
4025
4026rule__Variable__Group__1
4027 @init {
4028 int stackSize = keepStackSize();
4029 }
4030:
4031 rule__Variable__Group__1__Impl
4032;
4033finally {
4034 restoreStackSize(stackSize);
4035}
4036
4037rule__Variable__Group__1__Impl
4038 @init {
4039 int stackSize = keepStackSize();
4040 }
4041:
4042(
4043 { before(grammarAccess.getVariableAccess().getNameAssignment_1()); }
4044 (rule__Variable__NameAssignment_1)
4045 { after(grammarAccess.getVariableAccess().getNameAssignment_1()); }
3367) 4046)
3368; 4047;
3369finally { 4048finally {
@@ -3533,6 +4212,411 @@ finally {
3533} 4212}
3534 4213
3535 4214
4215rule__Let__Group__0
4216 @init {
4217 int stackSize = keepStackSize();
4218 }
4219:
4220 rule__Let__Group__0__Impl
4221 rule__Let__Group__1
4222;
4223finally {
4224 restoreStackSize(stackSize);
4225}
4226
4227rule__Let__Group__0__Impl
4228 @init {
4229 int stackSize = keepStackSize();
4230 }
4231:
4232(
4233 { before(grammarAccess.getLetAccess().getLetKeyword_0()); }
4234 Let
4235 { after(grammarAccess.getLetAccess().getLetKeyword_0()); }
4236)
4237;
4238finally {
4239 restoreStackSize(stackSize);
4240}
4241
4242rule__Let__Group__1
4243 @init {
4244 int stackSize = keepStackSize();
4245 }
4246:
4247 rule__Let__Group__1__Impl
4248 rule__Let__Group__2
4249;
4250finally {
4251 restoreStackSize(stackSize);
4252}
4253
4254rule__Let__Group__1__Impl
4255 @init {
4256 int stackSize = keepStackSize();
4257 }
4258:
4259(
4260 { before(grammarAccess.getLetAccess().getBindingsAssignment_1()); }
4261 (rule__Let__BindingsAssignment_1)
4262 { after(grammarAccess.getLetAccess().getBindingsAssignment_1()); }
4263)
4264;
4265finally {
4266 restoreStackSize(stackSize);
4267}
4268
4269rule__Let__Group__2
4270 @init {
4271 int stackSize = keepStackSize();
4272 }
4273:
4274 rule__Let__Group__2__Impl
4275 rule__Let__Group__3
4276;
4277finally {
4278 restoreStackSize(stackSize);
4279}
4280
4281rule__Let__Group__2__Impl
4282 @init {
4283 int stackSize = keepStackSize();
4284 }
4285:
4286(
4287 { before(grammarAccess.getLetAccess().getGroup_2()); }
4288 (rule__Let__Group_2__0)*
4289 { after(grammarAccess.getLetAccess().getGroup_2()); }
4290)
4291;
4292finally {
4293 restoreStackSize(stackSize);
4294}
4295
4296rule__Let__Group__3
4297 @init {
4298 int stackSize = keepStackSize();
4299 }
4300:
4301 rule__Let__Group__3__Impl
4302 rule__Let__Group__4
4303;
4304finally {
4305 restoreStackSize(stackSize);
4306}
4307
4308rule__Let__Group__3__Impl
4309 @init {
4310 int stackSize = keepStackSize();
4311 }
4312:
4313(
4314 { before(grammarAccess.getLetAccess().getInKeyword_3()); }
4315 In
4316 { after(grammarAccess.getLetAccess().getInKeyword_3()); }
4317)
4318;
4319finally {
4320 restoreStackSize(stackSize);
4321}
4322
4323rule__Let__Group__4
4324 @init {
4325 int stackSize = keepStackSize();
4326 }
4327:
4328 rule__Let__Group__4__Impl
4329;
4330finally {
4331 restoreStackSize(stackSize);
4332}
4333
4334rule__Let__Group__4__Impl
4335 @init {
4336 int stackSize = keepStackSize();
4337 }
4338:
4339(
4340 { before(grammarAccess.getLetAccess().getBodyAssignment_4()); }
4341 (rule__Let__BodyAssignment_4)
4342 { after(grammarAccess.getLetAccess().getBodyAssignment_4()); }
4343)
4344;
4345finally {
4346 restoreStackSize(stackSize);
4347}
4348
4349
4350rule__Let__Group_2__0
4351 @init {
4352 int stackSize = keepStackSize();
4353 }
4354:
4355 rule__Let__Group_2__0__Impl
4356 rule__Let__Group_2__1
4357;
4358finally {
4359 restoreStackSize(stackSize);
4360}
4361
4362rule__Let__Group_2__0__Impl
4363 @init {
4364 int stackSize = keepStackSize();
4365 }
4366:
4367(
4368 { before(grammarAccess.getLetAccess().getCommaKeyword_2_0()); }
4369 Comma
4370 { after(grammarAccess.getLetAccess().getCommaKeyword_2_0()); }
4371)
4372;
4373finally {
4374 restoreStackSize(stackSize);
4375}
4376
4377rule__Let__Group_2__1
4378 @init {
4379 int stackSize = keepStackSize();
4380 }
4381:
4382 rule__Let__Group_2__1__Impl
4383;
4384finally {
4385 restoreStackSize(stackSize);
4386}
4387
4388rule__Let__Group_2__1__Impl
4389 @init {
4390 int stackSize = keepStackSize();
4391 }
4392:
4393(
4394 { before(grammarAccess.getLetAccess().getBindingsAssignment_2_1()); }
4395 (rule__Let__BindingsAssignment_2_1)
4396 { after(grammarAccess.getLetAccess().getBindingsAssignment_2_1()); }
4397)
4398;
4399finally {
4400 restoreStackSize(stackSize);
4401}
4402
4403
4404rule__LetBinding__Group__0
4405 @init {
4406 int stackSize = keepStackSize();
4407 }
4408:
4409 rule__LetBinding__Group__0__Impl
4410 rule__LetBinding__Group__1
4411;
4412finally {
4413 restoreStackSize(stackSize);
4414}
4415
4416rule__LetBinding__Group__0__Impl
4417 @init {
4418 int stackSize = keepStackSize();
4419 }
4420:
4421(
4422 { before(grammarAccess.getLetBindingAccess().getVariableAssignment_0()); }
4423 (rule__LetBinding__VariableAssignment_0)
4424 { after(grammarAccess.getLetBindingAccess().getVariableAssignment_0()); }
4425)
4426;
4427finally {
4428 restoreStackSize(stackSize);
4429}
4430
4431rule__LetBinding__Group__1
4432 @init {
4433 int stackSize = keepStackSize();
4434 }
4435:
4436 rule__LetBinding__Group__1__Impl
4437 rule__LetBinding__Group__2
4438;
4439finally {
4440 restoreStackSize(stackSize);
4441}
4442
4443rule__LetBinding__Group__1__Impl
4444 @init {
4445 int stackSize = keepStackSize();
4446 }
4447:
4448(
4449 { before(grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); }
4450 EqualsSign
4451 { after(grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); }
4452)
4453;
4454finally {
4455 restoreStackSize(stackSize);
4456}
4457
4458rule__LetBinding__Group__2
4459 @init {
4460 int stackSize = keepStackSize();
4461 }
4462:
4463 rule__LetBinding__Group__2__Impl
4464;
4465finally {
4466 restoreStackSize(stackSize);
4467}
4468
4469rule__LetBinding__Group__2__Impl
4470 @init {
4471 int stackSize = keepStackSize();
4472 }
4473:
4474(
4475 { before(grammarAccess.getLetBindingAccess().getValueAssignment_2()); }
4476 (rule__LetBinding__ValueAssignment_2)
4477 { after(grammarAccess.getLetBindingAccess().getValueAssignment_2()); }
4478)
4479;
4480finally {
4481 restoreStackSize(stackSize);
4482}
4483
4484
4485rule__ImplicationExpression__Group__0
4486 @init {
4487 int stackSize = keepStackSize();
4488 }
4489:
4490 rule__ImplicationExpression__Group__0__Impl
4491 rule__ImplicationExpression__Group__1
4492;
4493finally {
4494 restoreStackSize(stackSize);
4495}
4496
4497rule__ImplicationExpression__Group__0__Impl
4498 @init {
4499 int stackSize = keepStackSize();
4500 }
4501:
4502(
4503 { before(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); }
4504 ruleDisjunctiveExpression
4505 { after(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); }
4506)
4507;
4508finally {
4509 restoreStackSize(stackSize);
4510}
4511
4512rule__ImplicationExpression__Group__1
4513 @init {
4514 int stackSize = keepStackSize();
4515 }
4516:
4517 rule__ImplicationExpression__Group__1__Impl
4518;
4519finally {
4520 restoreStackSize(stackSize);
4521}
4522
4523rule__ImplicationExpression__Group__1__Impl
4524 @init {
4525 int stackSize = keepStackSize();
4526 }
4527:
4528(
4529 { before(grammarAccess.getImplicationExpressionAccess().getGroup_1()); }
4530 (rule__ImplicationExpression__Group_1__0)?
4531 { after(grammarAccess.getImplicationExpressionAccess().getGroup_1()); }
4532)
4533;
4534finally {
4535 restoreStackSize(stackSize);
4536}
4537
4538
4539rule__ImplicationExpression__Group_1__0
4540 @init {
4541 int stackSize = keepStackSize();
4542 }
4543:
4544 rule__ImplicationExpression__Group_1__0__Impl
4545 rule__ImplicationExpression__Group_1__1
4546;
4547finally {
4548 restoreStackSize(stackSize);
4549}
4550
4551rule__ImplicationExpression__Group_1__0__Impl
4552 @init {
4553 int stackSize = keepStackSize();
4554 }
4555:
4556(
4557 { before(grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
4558 ()
4559 { after(grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
4560)
4561;
4562finally {
4563 restoreStackSize(stackSize);
4564}
4565
4566rule__ImplicationExpression__Group_1__1
4567 @init {
4568 int stackSize = keepStackSize();
4569 }
4570:
4571 rule__ImplicationExpression__Group_1__1__Impl
4572 rule__ImplicationExpression__Group_1__2
4573;
4574finally {
4575 restoreStackSize(stackSize);
4576}
4577
4578rule__ImplicationExpression__Group_1__1__Impl
4579 @init {
4580 int stackSize = keepStackSize();
4581 }
4582:
4583(
4584 { before(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1()); }
4585 (rule__ImplicationExpression__OpAssignment_1_1)
4586 { after(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1()); }
4587)
4588;
4589finally {
4590 restoreStackSize(stackSize);
4591}
4592
4593rule__ImplicationExpression__Group_1__2
4594 @init {
4595 int stackSize = keepStackSize();
4596 }
4597:
4598 rule__ImplicationExpression__Group_1__2__Impl
4599;
4600finally {
4601 restoreStackSize(stackSize);
4602}
4603
4604rule__ImplicationExpression__Group_1__2__Impl
4605 @init {
4606 int stackSize = keepStackSize();
4607 }
4608:
4609(
4610 { before(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2()); }
4611 (rule__ImplicationExpression__RightAssignment_1_2)
4612 { after(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2()); }
4613)
4614;
4615finally {
4616 restoreStackSize(stackSize);
4617}
4618
4619
3536rule__DisjunctiveExpression__Group__0 4620rule__DisjunctiveExpression__Group__0
3537 @init { 4621 @init {
3538 int stackSize = keepStackSize(); 4622 int stackSize = keepStackSize();
@@ -4564,9 +5648,9 @@ rule__ExponentialExpression__Group__0__Impl
4564 } 5648 }
4565: 5649:
4566( 5650(
4567 { before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } 5651 { before(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); }
4568 ruleUnaryExpression 5652 ruleCastExpression
4569 { after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } 5653 { after(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); }
4570) 5654)
4571; 5655;
4572finally { 5656finally {
@@ -4681,6 +5765,141 @@ finally {
4681} 5765}
4682 5766
4683 5767
5768rule__CastExpression__Group__0
5769 @init {
5770 int stackSize = keepStackSize();
5771 }
5772:
5773 rule__CastExpression__Group__0__Impl
5774 rule__CastExpression__Group__1
5775;
5776finally {
5777 restoreStackSize(stackSize);
5778}
5779
5780rule__CastExpression__Group__0__Impl
5781 @init {
5782 int stackSize = keepStackSize();
5783 }
5784:
5785(
5786 { before(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); }
5787 ruleUnaryExpression
5788 { after(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); }
5789)
5790;
5791finally {
5792 restoreStackSize(stackSize);
5793}
5794
5795rule__CastExpression__Group__1
5796 @init {
5797 int stackSize = keepStackSize();
5798 }
5799:
5800 rule__CastExpression__Group__1__Impl
5801;
5802finally {
5803 restoreStackSize(stackSize);
5804}
5805
5806rule__CastExpression__Group__1__Impl
5807 @init {
5808 int stackSize = keepStackSize();
5809 }
5810:
5811(
5812 { before(grammarAccess.getCastExpressionAccess().getGroup_1()); }
5813 (rule__CastExpression__Group_1__0)?
5814 { after(grammarAccess.getCastExpressionAccess().getGroup_1()); }
5815)
5816;
5817finally {
5818 restoreStackSize(stackSize);
5819}
5820
5821
5822rule__CastExpression__Group_1__0
5823 @init {
5824 int stackSize = keepStackSize();
5825 }
5826:
5827 rule__CastExpression__Group_1__0__Impl
5828 rule__CastExpression__Group_1__1
5829;
5830finally {
5831 restoreStackSize(stackSize);
5832}
5833
5834rule__CastExpression__Group_1__0__Impl
5835 @init {
5836 int stackSize = keepStackSize();
5837 }
5838:
5839(
5840 { before(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0()); }
5841 ()
5842 { after(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0()); }
5843)
5844;
5845finally {
5846 restoreStackSize(stackSize);
5847}
5848
5849rule__CastExpression__Group_1__1
5850 @init {
5851 int stackSize = keepStackSize();
5852 }
5853:
5854 rule__CastExpression__Group_1__1__Impl
5855 rule__CastExpression__Group_1__2
5856;
5857finally {
5858 restoreStackSize(stackSize);
5859}
5860
5861rule__CastExpression__Group_1__1__Impl
5862 @init {
5863 int stackSize = keepStackSize();
5864 }
5865:
5866(
5867 { before(grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); }
5868 As
5869 { after(grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); }
5870)
5871;
5872finally {
5873 restoreStackSize(stackSize);
5874}
5875
5876rule__CastExpression__Group_1__2
5877 @init {
5878 int stackSize = keepStackSize();
5879 }
5880:
5881 rule__CastExpression__Group_1__2__Impl
5882;
5883finally {
5884 restoreStackSize(stackSize);
5885}
5886
5887rule__CastExpression__Group_1__2__Impl
5888 @init {
5889 int stackSize = keepStackSize();
5890 }
5891:
5892(
5893 { before(grammarAccess.getCastExpressionAccess().getTypeAssignment_1_2()); }
5894 (rule__CastExpression__TypeAssignment_1_2)
5895 { after(grammarAccess.getCastExpressionAccess().getTypeAssignment_1_2()); }
5896)
5897;
5898finally {
5899 restoreStackSize(stackSize);
5900}
5901
5902
4684rule__UnaryExpression__Group_1__0 5903rule__UnaryExpression__Group_1__0
4685 @init { 5904 @init {
4686 int stackSize = keepStackSize(); 5905 int stackSize = keepStackSize();
@@ -4762,107 +5981,350 @@ finally {
4762} 5981}
4763 5982
4764 5983
4765rule__Count__Group__0 5984rule__LocalVariables__Group__0
5985 @init {
5986 int stackSize = keepStackSize();
5987 }
5988:
5989 rule__LocalVariables__Group__0__Impl
5990 rule__LocalVariables__Group__1
5991;
5992finally {
5993 restoreStackSize(stackSize);
5994}
5995
5996rule__LocalVariables__Group__0__Impl
5997 @init {
5998 int stackSize = keepStackSize();
5999 }
6000:
6001(
6002 { before(grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0()); }
6003 ()
6004 { after(grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0()); }
6005)
6006;
6007finally {
6008 restoreStackSize(stackSize);
6009}
6010
6011rule__LocalVariables__Group__1
6012 @init {
6013 int stackSize = keepStackSize();
6014 }
6015:
6016 rule__LocalVariables__Group__1__Impl
6017 rule__LocalVariables__Group__2
6018;
6019finally {
6020 restoreStackSize(stackSize);
6021}
6022
6023rule__LocalVariables__Group__1__Impl
6024 @init {
6025 int stackSize = keepStackSize();
6026 }
6027:
6028(
6029 { before(grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1()); }
6030 LeftSquareBracket
6031 { after(grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1()); }
6032)
6033;
6034finally {
6035 restoreStackSize(stackSize);
6036}
6037
6038rule__LocalVariables__Group__2
6039 @init {
6040 int stackSize = keepStackSize();
6041 }
6042:
6043 rule__LocalVariables__Group__2__Impl
6044 rule__LocalVariables__Group__3
6045;
6046finally {
6047 restoreStackSize(stackSize);
6048}
6049
6050rule__LocalVariables__Group__2__Impl
6051 @init {
6052 int stackSize = keepStackSize();
6053 }
6054:
6055(
6056 { before(grammarAccess.getLocalVariablesAccess().getGroup_2()); }
6057 (rule__LocalVariables__Group_2__0)?
6058 { after(grammarAccess.getLocalVariablesAccess().getGroup_2()); }
6059)
6060;
6061finally {
6062 restoreStackSize(stackSize);
6063}
6064
6065rule__LocalVariables__Group__3
4766 @init { 6066 @init {
4767 int stackSize = keepStackSize(); 6067 int stackSize = keepStackSize();
4768 } 6068 }
4769: 6069:
4770 rule__Count__Group__0__Impl 6070 rule__LocalVariables__Group__3__Impl
4771 rule__Count__Group__1
4772; 6071;
4773finally { 6072finally {
4774 restoreStackSize(stackSize); 6073 restoreStackSize(stackSize);
4775} 6074}
4776 6075
4777rule__Count__Group__0__Impl 6076rule__LocalVariables__Group__3__Impl
4778 @init { 6077 @init {
4779 int stackSize = keepStackSize(); 6078 int stackSize = keepStackSize();
4780 } 6079 }
4781: 6080:
4782( 6081(
4783 { before(grammarAccess.getCountAccess().getCountKeyword_0()); } 6082 { before(grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); }
4784 Count 6083 RightSquareBracket
4785 { after(grammarAccess.getCountAccess().getCountKeyword_0()); } 6084 { after(grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); }
4786) 6085)
4787; 6086;
4788finally { 6087finally {
4789 restoreStackSize(stackSize); 6088 restoreStackSize(stackSize);
4790} 6089}
4791 6090
4792rule__Count__Group__1 6091
6092rule__LocalVariables__Group_2__0
4793 @init { 6093 @init {
4794 int stackSize = keepStackSize(); 6094 int stackSize = keepStackSize();
4795 } 6095 }
4796: 6096:
4797 rule__Count__Group__1__Impl 6097 rule__LocalVariables__Group_2__0__Impl
4798 rule__Count__Group__2 6098 rule__LocalVariables__Group_2__1
4799; 6099;
4800finally { 6100finally {
4801 restoreStackSize(stackSize); 6101 restoreStackSize(stackSize);
4802} 6102}
4803 6103
4804rule__Count__Group__1__Impl 6104rule__LocalVariables__Group_2__0__Impl
4805 @init { 6105 @init {
4806 int stackSize = keepStackSize(); 6106 int stackSize = keepStackSize();
4807 } 6107 }
4808: 6108:
4809( 6109(
4810 { before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); } 6110 { before(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_0()); }
6111 (rule__LocalVariables__VariablesAssignment_2_0)
6112 { after(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_0()); }
6113)
6114;
6115finally {
6116 restoreStackSize(stackSize);
6117}
6118
6119rule__LocalVariables__Group_2__1
6120 @init {
6121 int stackSize = keepStackSize();
6122 }
6123:
6124 rule__LocalVariables__Group_2__1__Impl
6125;
6126finally {
6127 restoreStackSize(stackSize);
6128}
6129
6130rule__LocalVariables__Group_2__1__Impl
6131 @init {
6132 int stackSize = keepStackSize();
6133 }
6134:
6135(
6136 { before(grammarAccess.getLocalVariablesAccess().getGroup_2_1()); }
6137 (rule__LocalVariables__Group_2_1__0)*
6138 { after(grammarAccess.getLocalVariablesAccess().getGroup_2_1()); }
6139)
6140;
6141finally {
6142 restoreStackSize(stackSize);
6143}
6144
6145
6146rule__LocalVariables__Group_2_1__0
6147 @init {
6148 int stackSize = keepStackSize();
6149 }
6150:
6151 rule__LocalVariables__Group_2_1__0__Impl
6152 rule__LocalVariables__Group_2_1__1
6153;
6154finally {
6155 restoreStackSize(stackSize);
6156}
6157
6158rule__LocalVariables__Group_2_1__0__Impl
6159 @init {
6160 int stackSize = keepStackSize();
6161 }
6162:
6163(
6164 { before(grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); }
6165 Comma
6166 { after(grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); }
6167)
6168;
6169finally {
6170 restoreStackSize(stackSize);
6171}
6172
6173rule__LocalVariables__Group_2_1__1
6174 @init {
6175 int stackSize = keepStackSize();
6176 }
6177:
6178 rule__LocalVariables__Group_2_1__1__Impl
6179;
6180finally {
6181 restoreStackSize(stackSize);
6182}
6183
6184rule__LocalVariables__Group_2_1__1__Impl
6185 @init {
6186 int stackSize = keepStackSize();
6187 }
6188:
6189(
6190 { before(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1()); }
6191 (rule__LocalVariables__VariablesAssignment_2_1_1)
6192 { after(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1()); }
6193)
6194;
6195finally {
6196 restoreStackSize(stackSize);
6197}
6198
6199
6200rule__QuantifiedExpression__Group__0
6201 @init {
6202 int stackSize = keepStackSize();
6203 }
6204:
6205 rule__QuantifiedExpression__Group__0__Impl
6206 rule__QuantifiedExpression__Group__1
6207;
6208finally {
6209 restoreStackSize(stackSize);
6210}
6211
6212rule__QuantifiedExpression__Group__0__Impl
6213 @init {
6214 int stackSize = keepStackSize();
6215 }
6216:
6217(
6218 { before(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0()); }
6219 (rule__QuantifiedExpression__QuantifierAssignment_0)
6220 { after(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0()); }
6221)
6222;
6223finally {
6224 restoreStackSize(stackSize);
6225}
6226
6227rule__QuantifiedExpression__Group__1
6228 @init {
6229 int stackSize = keepStackSize();
6230 }
6231:
6232 rule__QuantifiedExpression__Group__1__Impl
6233 rule__QuantifiedExpression__Group__2
6234;
6235finally {
6236 restoreStackSize(stackSize);
6237}
6238
6239rule__QuantifiedExpression__Group__1__Impl
6240 @init {
6241 int stackSize = keepStackSize();
6242 }
6243:
6244(
6245 { before(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1()); }
6246 (rule__QuantifiedExpression__LocalVariablesAssignment_1)?
6247 { after(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1()); }
6248)
6249;
6250finally {
6251 restoreStackSize(stackSize);
6252}
6253
6254rule__QuantifiedExpression__Group__2
6255 @init {
6256 int stackSize = keepStackSize();
6257 }
6258:
6259 rule__QuantifiedExpression__Group__2__Impl
6260 rule__QuantifiedExpression__Group__3
6261;
6262finally {
6263 restoreStackSize(stackSize);
6264}
6265
6266rule__QuantifiedExpression__Group__2__Impl
6267 @init {
6268 int stackSize = keepStackSize();
6269 }
6270:
6271(
6272 { before(grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); }
4811 LeftCurlyBracket 6273 LeftCurlyBracket
4812 { after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); } 6274 { after(grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); }
4813) 6275)
4814; 6276;
4815finally { 6277finally {
4816 restoreStackSize(stackSize); 6278 restoreStackSize(stackSize);
4817} 6279}
4818 6280
4819rule__Count__Group__2 6281rule__QuantifiedExpression__Group__3
4820 @init { 6282 @init {
4821 int stackSize = keepStackSize(); 6283 int stackSize = keepStackSize();
4822 } 6284 }
4823: 6285:
4824 rule__Count__Group__2__Impl 6286 rule__QuantifiedExpression__Group__3__Impl
4825 rule__Count__Group__3 6287 rule__QuantifiedExpression__Group__4
4826; 6288;
4827finally { 6289finally {
4828 restoreStackSize(stackSize); 6290 restoreStackSize(stackSize);
4829} 6291}
4830 6292
4831rule__Count__Group__2__Impl 6293rule__QuantifiedExpression__Group__3__Impl
4832 @init { 6294 @init {
4833 int stackSize = keepStackSize(); 6295 int stackSize = keepStackSize();
4834 } 6296 }
4835: 6297:
4836( 6298(
4837 { before(grammarAccess.getCountAccess().getBodyAssignment_2()); } 6299 { before(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3()); }
4838 (rule__Count__BodyAssignment_2) 6300 (rule__QuantifiedExpression__BodyAssignment_3)
4839 { after(grammarAccess.getCountAccess().getBodyAssignment_2()); } 6301 { after(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3()); }
4840) 6302)
4841; 6303;
4842finally { 6304finally {
4843 restoreStackSize(stackSize); 6305 restoreStackSize(stackSize);
4844} 6306}
4845 6307
4846rule__Count__Group__3 6308rule__QuantifiedExpression__Group__4
4847 @init { 6309 @init {
4848 int stackSize = keepStackSize(); 6310 int stackSize = keepStackSize();
4849 } 6311 }
4850: 6312:
4851 rule__Count__Group__3__Impl 6313 rule__QuantifiedExpression__Group__4__Impl
4852; 6314;
4853finally { 6315finally {
4854 restoreStackSize(stackSize); 6316 restoreStackSize(stackSize);
4855} 6317}
4856 6318
4857rule__Count__Group__3__Impl 6319rule__QuantifiedExpression__Group__4__Impl
4858 @init { 6320 @init {
4859 int stackSize = keepStackSize(); 6321 int stackSize = keepStackSize();
4860 } 6322 }
4861: 6323:
4862( 6324(
4863 { before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } 6325 { before(grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); }
4864 RightCurlyBracket 6326 RightCurlyBracket
4865 { after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } 6327 { after(grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); }
4866) 6328)
4867; 6329;
4868finally { 6330finally {
@@ -4915,9 +6377,9 @@ rule__Aggregation__Group__1__Impl
4915 } 6377 }
4916: 6378:
4917( 6379(
4918 { before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } 6380 { before(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1()); }
4919 LeftCurlyBracket 6381 (rule__Aggregation__LocalVariablesAssignment_1)?
4920 { after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } 6382 { after(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1()); }
4921) 6383)
4922; 6384;
4923finally { 6385finally {
@@ -4942,9 +6404,9 @@ rule__Aggregation__Group__2__Impl
4942 } 6404 }
4943: 6405:
4944( 6406(
4945 { before(grammarAccess.getAggregationAccess().getBodyAssignment_2()); } 6407 { before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); }
4946 (rule__Aggregation__BodyAssignment_2) 6408 LeftCurlyBracket
4947 { after(grammarAccess.getAggregationAccess().getBodyAssignment_2()); } 6409 { after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); }
4948) 6410)
4949; 6411;
4950finally { 6412finally {
@@ -4969,9 +6431,9 @@ rule__Aggregation__Group__3__Impl
4969 } 6431 }
4970: 6432:
4971( 6433(
4972 { before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); } 6434 { before(grammarAccess.getAggregationAccess().getBodyAssignment_3()); }
4973 VerticalLine 6435 (rule__Aggregation__BodyAssignment_3)
4974 { after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); } 6436 { after(grammarAccess.getAggregationAccess().getBodyAssignment_3()); }
4975) 6437)
4976; 6438;
4977finally { 6439finally {
@@ -4996,9 +6458,9 @@ rule__Aggregation__Group__4__Impl
4996 } 6458 }
4997: 6459:
4998( 6460(
4999 { before(grammarAccess.getAggregationAccess().getConditionAssignment_4()); } 6461 { before(grammarAccess.getAggregationAccess().getGroup_4()); }
5000 (rule__Aggregation__ConditionAssignment_4) 6462 (rule__Aggregation__Group_4__0)?
5001 { after(grammarAccess.getAggregationAccess().getConditionAssignment_4()); } 6463 { after(grammarAccess.getAggregationAccess().getGroup_4()); }
5002) 6464)
5003; 6465;
5004finally { 6466finally {
@@ -5032,6 +6494,60 @@ finally {
5032} 6494}
5033 6495
5034 6496
6497rule__Aggregation__Group_4__0
6498 @init {
6499 int stackSize = keepStackSize();
6500 }
6501:
6502 rule__Aggregation__Group_4__0__Impl
6503 rule__Aggregation__Group_4__1
6504;
6505finally {
6506 restoreStackSize(stackSize);
6507}
6508
6509rule__Aggregation__Group_4__0__Impl
6510 @init {
6511 int stackSize = keepStackSize();
6512 }
6513:
6514(
6515 { before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0()); }
6516 VerticalLine
6517 { after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0()); }
6518)
6519;
6520finally {
6521 restoreStackSize(stackSize);
6522}
6523
6524rule__Aggregation__Group_4__1
6525 @init {
6526 int stackSize = keepStackSize();
6527 }
6528:
6529 rule__Aggregation__Group_4__1__Impl
6530;
6531finally {
6532 restoreStackSize(stackSize);
6533}
6534
6535rule__Aggregation__Group_4__1__Impl
6536 @init {
6537 int stackSize = keepStackSize();
6538 }
6539:
6540(
6541 { before(grammarAccess.getAggregationAccess().getConditionAssignment_4_1()); }
6542 (rule__Aggregation__ConditionAssignment_4_1)
6543 { after(grammarAccess.getAggregationAccess().getConditionAssignment_4_1()); }
6544)
6545;
6546finally {
6547 restoreStackSize(stackSize);
6548}
6549
6550
5035rule__AtomicExpression__Group_4__0 6551rule__AtomicExpression__Group_4__0
5036 @init { 6552 @init {
5037 int stackSize = keepStackSize(); 6553 int stackSize = keepStackSize();
@@ -7639,15 +9155,15 @@ finally {
7639 restoreStackSize(stackSize); 9155 restoreStackSize(stackSize);
7640} 9156}
7641 9157
7642rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 9158rule__AssertionOrDefinition__RangeAssignment_1_0_2
7643 @init { 9159 @init {
7644 int stackSize = keepStackSize(); 9160 int stackSize = keepStackSize();
7645 } 9161 }
7646: 9162:
7647 ( 9163 (
7648 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); } 9164 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); }
7649 ruleExpression 9165 ruleExpression
7650 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); } 9166 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); }
7651 ) 9167 )
7652; 9168;
7653finally { 9169finally {
@@ -7850,60 +9366,79 @@ finally {
7850 restoreStackSize(stackSize); 9366 restoreStackSize(stackSize);
7851} 9367}
7852 9368
7853rule__ExternPredicateDefinition__HeadAssignment_1 9369rule__MetricDefinition__TypeAssignment_0
7854 @init { 9370 @init {
7855 int stackSize = keepStackSize(); 9371 int stackSize = keepStackSize();
7856 } 9372 }
7857: 9373:
7858 ( 9374 (
7859 { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } 9375 { before(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); }
7860 ruleCall 9376 (
7861 { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } 9377 { before(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
9378 ruleQualifiedName
9379 { after(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
9380 )
9381 { after(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); }
7862 ) 9382 )
7863; 9383;
7864finally { 9384finally {
7865 restoreStackSize(stackSize); 9385 restoreStackSize(stackSize);
7866} 9386}
7867 9387
7868rule__MetricDefinition__TypeAssignment_0 9388rule__MetricDefinition__HeadAssignment_1
7869 @init { 9389 @init {
7870 int stackSize = keepStackSize(); 9390 int stackSize = keepStackSize();
7871 } 9391 }
7872: 9392:
7873 ( 9393 (
7874 { before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); } 9394 { before(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
7875 ruleMetricType 9395 ruleCall
7876 { after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); } 9396 { after(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
7877 ) 9397 )
7878; 9398;
7879finally { 9399finally {
7880 restoreStackSize(stackSize); 9400 restoreStackSize(stackSize);
7881} 9401}
7882 9402
7883rule__MetricDefinition__HeadAssignment_1 9403rule__MetricDefinition__BodyAssignment_3
7884 @init { 9404 @init {
7885 int stackSize = keepStackSize(); 9405 int stackSize = keepStackSize();
7886 } 9406 }
7887: 9407:
7888 ( 9408 (
7889 { before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } 9409 { before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
7890 ruleExpression 9410 ruleExpression
7891 { after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } 9411 { after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
7892 ) 9412 )
7893; 9413;
7894finally { 9414finally {
7895 restoreStackSize(stackSize); 9415 restoreStackSize(stackSize);
7896} 9416}
7897 9417
7898rule__MetricDefinition__BodyAssignment_3 9418rule__ExternPredicateDefinition__NameAssignment_1
7899 @init { 9419 @init {
7900 int stackSize = keepStackSize(); 9420 int stackSize = keepStackSize();
7901 } 9421 }
7902: 9422:
7903 ( 9423 (
7904 { before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } 9424 { before(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); }
7905 ruleExpression 9425 ruleQualifiedName
7906 { after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } 9426 { after(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); }
9427 )
9428;
9429finally {
9430 restoreStackSize(stackSize);
9431}
9432
9433rule__ExternPredicateDefinition__ArgumentListAssignment_2
9434 @init {
9435 int stackSize = keepStackSize();
9436 }
9437:
9438 (
9439 { before(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); }
9440 ruleArgumentList
9441 { after(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); }
7907 ) 9442 )
7908; 9443;
7909finally { 9444finally {
@@ -7916,24 +9451,183 @@ rule__ExternMetricDefinition__TypeAssignment_1
7916 } 9451 }
7917: 9452:
7918 ( 9453 (
7919 { before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); } 9454 { before(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
7920 ruleMetricType 9455 (
7921 { after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); } 9456 { before(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
9457 ruleQualifiedName
9458 { after(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
9459 )
9460 { after(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
9461 )
9462;
9463finally {
9464 restoreStackSize(stackSize);
9465}
9466
9467rule__ExternMetricDefinition__NameAssignment_2
9468 @init {
9469 int stackSize = keepStackSize();
9470 }
9471:
9472 (
9473 { before(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
9474 ruleQualifiedName
9475 { after(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
7922 ) 9476 )
7923; 9477;
7924finally { 9478finally {
7925 restoreStackSize(stackSize); 9479 restoreStackSize(stackSize);
7926} 9480}
7927 9481
7928rule__ExternMetricDefinition__HeadAssignment_2 9482rule__ExternMetricDefinition__ArgumentListAssignment_3
7929 @init { 9483 @init {
7930 int stackSize = keepStackSize(); 9484 int stackSize = keepStackSize();
7931 } 9485 }
7932: 9486:
7933 ( 9487 (
7934 { before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); } 9488 { before(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); }
7935 ruleCall 9489 ruleArgumentList
7936 { after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); } 9490 { after(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); }
9491 )
9492;
9493finally {
9494 restoreStackSize(stackSize);
9495}
9496
9497rule__ExternAggregatorDefinition__TypeAssignment_1
9498 @init {
9499 int stackSize = keepStackSize();
9500 }
9501:
9502 (
9503 { before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
9504 (
9505 { before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
9506 ruleQualifiedName
9507 { after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
9508 )
9509 { after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
9510 )
9511;
9512finally {
9513 restoreStackSize(stackSize);
9514}
9515
9516rule__ExternAggregatorDefinition__NameAssignment_2
9517 @init {
9518 int stackSize = keepStackSize();
9519 }
9520:
9521 (
9522 { before(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
9523 ruleQualifiedName
9524 { after(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
9525 )
9526;
9527finally {
9528 restoreStackSize(stackSize);
9529}
9530
9531rule__ExternAggregatorDefinition__InputTypeAssignment_4
9532 @init {
9533 int stackSize = keepStackSize();
9534 }
9535:
9536 (
9537 { before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); }
9538 (
9539 { before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1()); }
9540 ruleQualifiedName
9541 { after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1()); }
9542 )
9543 { after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); }
9544 )
9545;
9546finally {
9547 restoreStackSize(stackSize);
9548}
9549
9550rule__ExternDatatypeDefinition__NameAssignment_2
9551 @init {
9552 int stackSize = keepStackSize();
9553 }
9554:
9555 (
9556 { before(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
9557 ruleQualifiedName
9558 { after(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); }
9559 )
9560;
9561finally {
9562 restoreStackSize(stackSize);
9563}
9564
9565rule__ExternDatatypeDefinition__SupertypesAssignment_3_1
9566 @init {
9567 int stackSize = keepStackSize();
9568 }
9569:
9570 (
9571 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); }
9572 (
9573 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); }
9574 ruleQualifiedName
9575 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); }
9576 )
9577 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); }
9578 )
9579;
9580finally {
9581 restoreStackSize(stackSize);
9582}
9583
9584rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1
9585 @init {
9586 int stackSize = keepStackSize();
9587 }
9588:
9589 (
9590 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0()); }
9591 (
9592 { before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); }
9593 ruleQualifiedName
9594 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); }
9595 )
9596 { after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0()); }
9597 )
9598;
9599finally {
9600 restoreStackSize(stackSize);
9601}
9602
9603rule__Variable__TypeAssignment_0
9604 @init {
9605 int stackSize = keepStackSize();
9606 }
9607:
9608 (
9609 { before(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0()); }
9610 (
9611 { before(grammarAccess.getVariableAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
9612 ruleQualifiedName
9613 { after(grammarAccess.getVariableAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
9614 )
9615 { after(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0()); }
9616 )
9617;
9618finally {
9619 restoreStackSize(stackSize);
9620}
9621
9622rule__Variable__NameAssignment_1
9623 @init {
9624 int stackSize = keepStackSize();
9625 }
9626:
9627 (
9628 { before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); }
9629 RULE_ID
9630 { after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); }
7937 ) 9631 )
7938; 9632;
7939finally { 9633finally {
@@ -7985,6 +9679,111 @@ finally {
7985 restoreStackSize(stackSize); 9679 restoreStackSize(stackSize);
7986} 9680}
7987 9681
9682rule__Let__BindingsAssignment_1
9683 @init {
9684 int stackSize = keepStackSize();
9685 }
9686:
9687 (
9688 { before(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); }
9689 ruleLetBinding
9690 { after(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); }
9691 )
9692;
9693finally {
9694 restoreStackSize(stackSize);
9695}
9696
9697rule__Let__BindingsAssignment_2_1
9698 @init {
9699 int stackSize = keepStackSize();
9700 }
9701:
9702 (
9703 { before(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); }
9704 ruleLetBinding
9705 { after(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); }
9706 )
9707;
9708finally {
9709 restoreStackSize(stackSize);
9710}
9711
9712rule__Let__BodyAssignment_4
9713 @init {
9714 int stackSize = keepStackSize();
9715 }
9716:
9717 (
9718 { before(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); }
9719 ruleExpression
9720 { after(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); }
9721 )
9722;
9723finally {
9724 restoreStackSize(stackSize);
9725}
9726
9727rule__LetBinding__VariableAssignment_0
9728 @init {
9729 int stackSize = keepStackSize();
9730 }
9731:
9732 (
9733 { before(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); }
9734 ruleVariable
9735 { after(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); }
9736 )
9737;
9738finally {
9739 restoreStackSize(stackSize);
9740}
9741
9742rule__LetBinding__ValueAssignment_2
9743 @init {
9744 int stackSize = keepStackSize();
9745 }
9746:
9747 (
9748 { before(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); }
9749 ruleAdditiveExpression
9750 { after(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); }
9751 )
9752;
9753finally {
9754 restoreStackSize(stackSize);
9755}
9756
9757rule__ImplicationExpression__OpAssignment_1_1
9758 @init {
9759 int stackSize = keepStackSize();
9760 }
9761:
9762 (
9763 { before(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0()); }
9764 ruleImplicationOperator
9765 { after(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0()); }
9766 )
9767;
9768finally {
9769 restoreStackSize(stackSize);
9770}
9771
9772rule__ImplicationExpression__RightAssignment_1_2
9773 @init {
9774 int stackSize = keepStackSize();
9775 }
9776:
9777 (
9778 { before(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0()); }
9779 ruleImplicationExpression
9780 { after(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0()); }
9781 )
9782;
9783finally {
9784 restoreStackSize(stackSize);
9785}
9786
7988rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 9787rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1
7989 @init { 9788 @init {
7990 int stackSize = keepStackSize(); 9789 int stackSize = keepStackSize();
@@ -8186,9 +9985,28 @@ rule__ExponentialExpression__RightAssignment_1_2
8186 } 9985 }
8187: 9986:
8188 ( 9987 (
8189 { before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } 9988 { before(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); }
8190 ruleExponentialExpression 9989 ruleCastExpression
8191 { after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } 9990 { after(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); }
9991 )
9992;
9993finally {
9994 restoreStackSize(stackSize);
9995}
9996
9997rule__CastExpression__TypeAssignment_1_2
9998 @init {
9999 int stackSize = keepStackSize();
10000 }
10001:
10002 (
10003 { before(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); }
10004 (
10005 { before(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1()); }
10006 ruleQualifiedName
10007 { after(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1()); }
10008 )
10009 { after(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); }
8192 ) 10010 )
8193; 10011;
8194finally { 10012finally {
@@ -8225,15 +10043,75 @@ finally {
8225 restoreStackSize(stackSize); 10043 restoreStackSize(stackSize);
8226} 10044}
8227 10045
8228rule__Count__BodyAssignment_2 10046rule__LocalVariables__VariablesAssignment_2_0
10047 @init {
10048 int stackSize = keepStackSize();
10049 }
10050:
10051 (
10052 { before(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); }
10053 ruleVariable
10054 { after(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); }
10055 )
10056;
10057finally {
10058 restoreStackSize(stackSize);
10059}
10060
10061rule__LocalVariables__VariablesAssignment_2_1_1
10062 @init {
10063 int stackSize = keepStackSize();
10064 }
10065:
10066 (
10067 { before(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0()); }
10068 ruleVariable
10069 { after(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0()); }
10070 )
10071;
10072finally {
10073 restoreStackSize(stackSize);
10074}
10075
10076rule__QuantifiedExpression__QuantifierAssignment_0
10077 @init {
10078 int stackSize = keepStackSize();
10079 }
10080:
10081 (
10082 { before(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); }
10083 ruleQuantifier
10084 { after(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); }
10085 )
10086;
10087finally {
10088 restoreStackSize(stackSize);
10089}
10090
10091rule__QuantifiedExpression__LocalVariablesAssignment_1
8229 @init { 10092 @init {
8230 int stackSize = keepStackSize(); 10093 int stackSize = keepStackSize();
8231 } 10094 }
8232: 10095:
8233 ( 10096 (
8234 { before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); } 10097 { before(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); }
10098 ruleLocalVariables
10099 { after(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); }
10100 )
10101;
10102finally {
10103 restoreStackSize(stackSize);
10104}
10105
10106rule__QuantifiedExpression__BodyAssignment_3
10107 @init {
10108 int stackSize = keepStackSize();
10109 }
10110:
10111 (
10112 { before(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); }
8235 ruleExpression 10113 ruleExpression
8236 { after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); } 10114 { after(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); }
8237 ) 10115 )
8238; 10116;
8239finally { 10117finally {
@@ -8246,39 +10124,58 @@ rule__Aggregation__OpAssignment_0
8246 } 10124 }
8247: 10125:
8248 ( 10126 (
8249 { before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); } 10127 { before(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); }
8250 ruleAggregationOp 10128 (
8251 { after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); } 10129 { before(grammarAccess.getAggregationAccess().getOpNamedElementQualifiedNameParserRuleCall_0_0_1()); }
10130 ruleQualifiedName
10131 { after(grammarAccess.getAggregationAccess().getOpNamedElementQualifiedNameParserRuleCall_0_0_1()); }
10132 )
10133 { after(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); }
10134 )
10135;
10136finally {
10137 restoreStackSize(stackSize);
10138}
10139
10140rule__Aggregation__LocalVariablesAssignment_1
10141 @init {
10142 int stackSize = keepStackSize();
10143 }
10144:
10145 (
10146 { before(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); }
10147 ruleLocalVariables
10148 { after(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); }
8252 ) 10149 )
8253; 10150;
8254finally { 10151finally {
8255 restoreStackSize(stackSize); 10152 restoreStackSize(stackSize);
8256} 10153}
8257 10154
8258rule__Aggregation__BodyAssignment_2 10155rule__Aggregation__BodyAssignment_3
8259 @init { 10156 @init {
8260 int stackSize = keepStackSize(); 10157 int stackSize = keepStackSize();
8261 } 10158 }
8262: 10159:
8263 ( 10160 (
8264 { before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); } 10161 { before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); }
8265 ruleExpression 10162 ruleExpression
8266 { after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); } 10163 { after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); }
8267 ) 10164 )
8268; 10165;
8269finally { 10166finally {
8270 restoreStackSize(stackSize); 10167 restoreStackSize(stackSize);
8271} 10168}
8272 10169
8273rule__Aggregation__ConditionAssignment_4 10170rule__Aggregation__ConditionAssignment_4_1
8274 @init { 10171 @init {
8275 int stackSize = keepStackSize(); 10172 int stackSize = keepStackSize();
8276 } 10173 }
8277: 10174:
8278 ( 10175 (
8279 { before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } 10176 { before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0()); }
8280 ruleExpression 10177 ruleExpression
8281 { after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } 10178 { after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0()); }
8282 ) 10179 )
8283; 10180;
8284finally { 10181finally {
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java
index 8664bb6d..6af30519 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java
@@ -24,92 +24,79 @@ import java.util.ArrayList;
24@SuppressWarnings("all") 24@SuppressWarnings("all")
25public class InternalSolverLanguageParser extends AbstractInternalContentAssistParser { 25public class InternalSolverLanguageParser extends AbstractInternalContentAssistParser {
26 public static final String[] tokenNames = new String[] { 26 public static final String[] tokenNames = new String[] {
27 "<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" 27 "<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"
28 }; 28 };
29 public static final int ADD=33; 29 public static final int EqualsSignGreaterThanSign=38;
30 public static final int True=32; 30 public static final int True=27;
31 public static final int GREATER_EQ=4; 31 public static final int Count=19;
32 public static final int Count=20; 32 public static final int False=22;
33 public static final int False=23; 33 public static final int Must=25;
34 public static final int Must=27; 34 public static final int FullStopFullStopFullStop=28;
35 public static final int LessThanSign=67; 35 public static final int LessThanSign=54;
36 public static final int LeftParenthesis=57; 36 public static final int Datatype=7;
37 public static final int Unknown=16; 37 public static final int LeftParenthesis=44;
38 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 38 public static final int Unknown=14;
39 public static final int FullStopFullStop=47; 39 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
40 public static final int Real=30; 40 public static final int FullStopFullStop=34;
41 public static final int Then=31; 41 public static final int Then=26;
42 public static final int Extends=15; 42 public static final int Extends=13;
43 public static final int RightSquareBracket=71; 43 public static final int Forall=17;
44 public static final int ExclamationMark=56; 44 public static final int RightSquareBracket=58;
45 public static final int ExclamationMark=43;
45 public static final int Opposite=10; 46 public static final int Opposite=10;
46 public static final int SUB=37; 47 public static final int GreaterThanSign=56;
47 public static final int GreaterThanSign=69; 48 public static final int RULE_ID=69;
48 public static final int NOT_EQ=17; 49 public static final int RULE_QUOTED_ID=64;
49 public static final int RULE_ID=82; 50 public static final int RightParenthesis=45;
50 public static final int MUL=35; 51 public static final int GreaterThanSignEqualsSign=39;
51 public static final int IN=53; 52 public static final int Functional=4;
52 public static final int RULE_QUOTED_ID=77; 53 public static final int EqualsSignEqualsSign=37;
53 public static final int RightParenthesis=58; 54 public static final int VerticalLine=61;
54 public static final int Sum=44; 55 public static final int PlusSign=47;
55 public static final int EQ=52; 56 public static final int RULE_INT=70;
56 public static final int GreaterThanSignEqualsSign=51; 57 public static final int Contains=6;
57 public static final int Functional=5; 58 public static final int RULE_ML_COMMENT=71;
58 public static final int EqualsSignEqualsSign=50; 59 public static final int RULE_TRANSITIVE_CLOSURE=66;
59 public static final int Avg=38; 60 public static final int Class=18;
60 public static final int Min=43; 61 public static final int LeftSquareBracket=57;
61 public static final int VerticalLine=74; 62 public static final int RULE_FULL_STOP=68;
62 public static final int PlusSign=60; 63 public static final int Current=11;
63 public static final int RULE_INT=83; 64 public static final int If=41;
64 public static final int Contains=7; 65 public static final int Inf=29;
65 public static final int RULE_ML_COMMENT=84; 66 public static final int May=31;
66 public static final int POW=36; 67 public static final int In=42;
67 public static final int RULE_TRANSITIVE_CLOSURE=79; 68 public static final int RULE_STRING=63;
68 public static final int Class=19; 69 public static final int Extern=16;
69 public static final int LESS=25; 70 public static final int RULE_SL_COMMENT=65;
70 public static final int LeftSquareBracket=70; 71 public static final int Comma=48;
71 public static final int RULE_FULL_STOP=81; 72 public static final int EqualsSign=55;
72 public static final int Current=13; 73 public static final int Empty=20;
73 public static final int If=54; 74 public static final int As=40;
74 public static final int Inf=39; 75 public static final int HyphenMinus=49;
75 public static final int LESS_EQ=12;
76 public static final int May=42;
77 public static final int Max=41;
78 public static final int In=55;
79 public static final int RULE_STRING=76;
80 public static final int Int=40;
81 public static final int Extern=18;
82 public static final int RULE_SL_COMMENT=78;
83 public static final int Prod=29;
84 public static final int Comma=61;
85 public static final int EqualsSign=68;
86 public static final int Empty=21;
87 public static final int HyphenMinus=62;
88 public static final int Maximize=8; 76 public static final int Maximize=8;
89 public static final int LessThanSignEqualsSign=49; 77 public static final int LessThanSignEqualsSign=36;
90 public static final int Solidus=64; 78 public static final int Solidus=51;
91 public static final int Colon=65; 79 public static final int Colon=52;
92 public static final int RightCurlyBracket=75; 80 public static final int RightCurlyBracket=62;
93 public static final int EOF=-1; 81 public static final int EOF=-1;
94 public static final int Asterisk=59; 82 public static final int Asterisk=46;
95 public static final int FullStop=63; 83 public static final int FullStop=50;
96 public static final int RULE_WS=85; 84 public static final int RULE_WS=72;
97 public static final int Abstract=6; 85 public static final int Abstract=5;
98 public static final int Minimize=9; 86 public static final int Minimize=9;
99 public static final int GREATER=11; 87 public static final int LeftCurlyBracket=60;
100 public static final int LeftCurlyBracket=73; 88 public static final int Error=21;
101 public static final int Error=22; 89 public static final int RULE_ANY_OTHER=73;
102 public static final int Only=28; 90 public static final int Default=12;
103 public static final int RULE_ANY_OTHER=86; 91 public static final int ColonHyphenMinus=35;
104 public static final int Default=14; 92 public static final int CircumflexAccent=59;
105 public static final int ColonHyphenMinus=48; 93 public static final int Semicolon=53;
106 public static final int CircumflexAccent=72; 94 public static final int Scope=23;
107 public static final int DIV=34; 95 public static final int Exists=15;
108 public static final int Semicolon=66; 96 public static final int Else=24;
109 public static final int Scope=24; 97 public static final int Let=30;
110 public static final int Else=26; 98 public static final int ExclamationMarkEqualsSign=32;
111 public static final int ExclamationMarkEqualsSign=45; 99 public static final int HyphenMinusGreaterThanSign=33;
112 public static final int HyphenMinusGreaterThanSign=46;
113 100
114 // delegates 101 // delegates
115 // delegators 102 // delegators
@@ -158,29 +145,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
158 tokenNameToValue.put("ColonHyphenMinus", "':-'"); 145 tokenNameToValue.put("ColonHyphenMinus", "':-'");
159 tokenNameToValue.put("LessThanSignEqualsSign", "'<='"); 146 tokenNameToValue.put("LessThanSignEqualsSign", "'<='");
160 tokenNameToValue.put("EqualsSignEqualsSign", "'=='"); 147 tokenNameToValue.put("EqualsSignEqualsSign", "'=='");
148 tokenNameToValue.put("EqualsSignGreaterThanSign", "'=>'");
161 tokenNameToValue.put("GreaterThanSignEqualsSign", "'>='"); 149 tokenNameToValue.put("GreaterThanSignEqualsSign", "'>='");
162 tokenNameToValue.put("EQ", "'EQ'"); 150 tokenNameToValue.put("As", "'as'");
163 tokenNameToValue.put("IN", "'IN'");
164 tokenNameToValue.put("If", "'if'"); 151 tokenNameToValue.put("If", "'if'");
165 tokenNameToValue.put("In", "'in'"); 152 tokenNameToValue.put("In", "'in'");
166 tokenNameToValue.put("ADD", "'ADD'"); 153 tokenNameToValue.put("FullStopFullStopFullStop", "'...'");
167 tokenNameToValue.put("DIV", "'DIV'");
168 tokenNameToValue.put("MUL", "'MUL'");
169 tokenNameToValue.put("POW", "'POW'");
170 tokenNameToValue.put("SUB", "'SUB'");
171 tokenNameToValue.put("Avg", "'avg'");
172 tokenNameToValue.put("Inf", "'inf'"); 154 tokenNameToValue.put("Inf", "'inf'");
173 tokenNameToValue.put("Int", "'int'"); 155 tokenNameToValue.put("Let", "'let'");
174 tokenNameToValue.put("Max", "'max'");
175 tokenNameToValue.put("May", "'may'"); 156 tokenNameToValue.put("May", "'may'");
176 tokenNameToValue.put("Min", "'min'");
177 tokenNameToValue.put("Sum", "'sum'");
178 tokenNameToValue.put("LESS", "'LESS'");
179 tokenNameToValue.put("Else", "'else'"); 157 tokenNameToValue.put("Else", "'else'");
180 tokenNameToValue.put("Must", "'must'"); 158 tokenNameToValue.put("Must", "'must'");
181 tokenNameToValue.put("Only", "'only'");
182 tokenNameToValue.put("Prod", "'prod'");
183 tokenNameToValue.put("Real", "'real'");
184 tokenNameToValue.put("Then", "'then'"); 159 tokenNameToValue.put("Then", "'then'");
185 tokenNameToValue.put("True", "'true'"); 160 tokenNameToValue.put("True", "'true'");
186 tokenNameToValue.put("Class", "'class'"); 161 tokenNameToValue.put("Class", "'class'");
@@ -189,20 +164,19 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
189 tokenNameToValue.put("Error", "'error'"); 164 tokenNameToValue.put("Error", "'error'");
190 tokenNameToValue.put("False", "'false'"); 165 tokenNameToValue.put("False", "'false'");
191 tokenNameToValue.put("Scope", "'scope'"); 166 tokenNameToValue.put("Scope", "'scope'");
192 tokenNameToValue.put("NOT_EQ", "'NOT_EQ'"); 167 tokenNameToValue.put("Exists", "'exists'");
193 tokenNameToValue.put("Extern", "'extern'"); 168 tokenNameToValue.put("Extern", "'extern'");
194 tokenNameToValue.put("GREATER", "'GREATER'"); 169 tokenNameToValue.put("Forall", "'forall'");
195 tokenNameToValue.put("LESS_EQ", "'LESS_EQ'");
196 tokenNameToValue.put("Current", "'current'"); 170 tokenNameToValue.put("Current", "'current'");
197 tokenNameToValue.put("Default", "'default'"); 171 tokenNameToValue.put("Default", "'default'");
198 tokenNameToValue.put("Extends", "'extends'"); 172 tokenNameToValue.put("Extends", "'extends'");
199 tokenNameToValue.put("Unknown", "'unknown'"); 173 tokenNameToValue.put("Unknown", "'unknown'");
200 tokenNameToValue.put("Abstract", "'abstract'"); 174 tokenNameToValue.put("Abstract", "'abstract'");
201 tokenNameToValue.put("Contains", "'contains'"); 175 tokenNameToValue.put("Contains", "'contains'");
176 tokenNameToValue.put("Datatype", "'datatype'");
202 tokenNameToValue.put("Maximize", "'maximize'"); 177 tokenNameToValue.put("Maximize", "'maximize'");
203 tokenNameToValue.put("Minimize", "'minimize'"); 178 tokenNameToValue.put("Minimize", "'minimize'");
204 tokenNameToValue.put("Opposite", "'opposite'"); 179 tokenNameToValue.put("Opposite", "'opposite'");
205 tokenNameToValue.put("GREATER_EQ", "'GREATER_EQ'");
206 tokenNameToValue.put("Functional", "'functional'"); 180 tokenNameToValue.put("Functional", "'functional'");
207 } 181 }
208 182
@@ -226,11 +200,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
226 200
227 201
228 // $ANTLR start "entryRuleProblem" 202 // $ANTLR start "entryRuleProblem"
229 // InternalSolverLanguageParser.g:127:1: entryRuleProblem : ruleProblem EOF ; 203 // InternalSolverLanguageParser.g:114:1: entryRuleProblem : ruleProblem EOF ;
230 public final void entryRuleProblem() throws RecognitionException { 204 public final void entryRuleProblem() throws RecognitionException {
231 try { 205 try {
232 // InternalSolverLanguageParser.g:128:1: ( ruleProblem EOF ) 206 // InternalSolverLanguageParser.g:115:1: ( ruleProblem EOF )
233 // InternalSolverLanguageParser.g:129:1: ruleProblem EOF 207 // InternalSolverLanguageParser.g:116:1: ruleProblem EOF
234 { 208 {
235 before(grammarAccess.getProblemRule()); 209 before(grammarAccess.getProblemRule());
236 pushFollow(FOLLOW_1); 210 pushFollow(FOLLOW_1);
@@ -256,33 +230,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
256 230
257 231
258 // $ANTLR start "ruleProblem" 232 // $ANTLR start "ruleProblem"
259 // InternalSolverLanguageParser.g:136:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ; 233 // InternalSolverLanguageParser.g:123:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ;
260 public final void ruleProblem() throws RecognitionException { 234 public final void ruleProblem() throws RecognitionException {
261 235
262 int stackSize = keepStackSize(); 236 int stackSize = keepStackSize();
263 237
264 try { 238 try {
265 // InternalSolverLanguageParser.g:140:2: ( ( ( rule__Problem__StatementsAssignment )* ) ) 239 // InternalSolverLanguageParser.g:127:2: ( ( ( rule__Problem__StatementsAssignment )* ) )
266 // InternalSolverLanguageParser.g:141:2: ( ( rule__Problem__StatementsAssignment )* ) 240 // InternalSolverLanguageParser.g:128:2: ( ( rule__Problem__StatementsAssignment )* )
267 { 241 {
268 // InternalSolverLanguageParser.g:141:2: ( ( rule__Problem__StatementsAssignment )* ) 242 // InternalSolverLanguageParser.g:128:2: ( ( rule__Problem__StatementsAssignment )* )
269 // InternalSolverLanguageParser.g:142:3: ( rule__Problem__StatementsAssignment )* 243 // InternalSolverLanguageParser.g:129:3: ( rule__Problem__StatementsAssignment )*
270 { 244 {
271 before(grammarAccess.getProblemAccess().getStatementsAssignment()); 245 before(grammarAccess.getProblemAccess().getStatementsAssignment());
272 // InternalSolverLanguageParser.g:143:3: ( rule__Problem__StatementsAssignment )* 246 // InternalSolverLanguageParser.g:130:3: ( rule__Problem__StatementsAssignment )*
273 loop1: 247 loop1:
274 do { 248 do {
275 int alt1=2; 249 int alt1=2;
276 int LA1_0 = input.LA(1); 250 int LA1_0 = input.LA(1);
277 251
278 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)) ) { 252 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)) ) {
279 alt1=1; 253 alt1=1;
280 } 254 }
281 255
282 256
283 switch (alt1) { 257 switch (alt1) {
284 case 1 : 258 case 1 :
285 // InternalSolverLanguageParser.g:143:4: rule__Problem__StatementsAssignment 259 // InternalSolverLanguageParser.g:130:4: rule__Problem__StatementsAssignment
286 { 260 {
287 pushFollow(FOLLOW_3); 261 pushFollow(FOLLOW_3);
288 rule__Problem__StatementsAssignment(); 262 rule__Problem__StatementsAssignment();
@@ -321,11 +295,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
321 295
322 296
323 // $ANTLR start "entryRuleStatement" 297 // $ANTLR start "entryRuleStatement"
324 // InternalSolverLanguageParser.g:152:1: entryRuleStatement : ruleStatement EOF ; 298 // InternalSolverLanguageParser.g:139:1: entryRuleStatement : ruleStatement EOF ;
325 public final void entryRuleStatement() throws RecognitionException { 299 public final void entryRuleStatement() throws RecognitionException {
326 try { 300 try {
327 // InternalSolverLanguageParser.g:153:1: ( ruleStatement EOF ) 301 // InternalSolverLanguageParser.g:140:1: ( ruleStatement EOF )
328 // InternalSolverLanguageParser.g:154:1: ruleStatement EOF 302 // InternalSolverLanguageParser.g:141:1: ruleStatement EOF
329 { 303 {
330 before(grammarAccess.getStatementRule()); 304 before(grammarAccess.getStatementRule());
331 pushFollow(FOLLOW_1); 305 pushFollow(FOLLOW_1);
@@ -351,21 +325,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
351 325
352 326
353 // $ANTLR start "ruleStatement" 327 // $ANTLR start "ruleStatement"
354 // InternalSolverLanguageParser.g:161:1: ruleStatement : ( ( rule__Statement__Group__0 ) ) ; 328 // InternalSolverLanguageParser.g:148:1: ruleStatement : ( ( rule__Statement__Group__0 ) ) ;
355 public final void ruleStatement() throws RecognitionException { 329 public final void ruleStatement() throws RecognitionException {
356 330
357 int stackSize = keepStackSize(); 331 int stackSize = keepStackSize();
358 332
359 try { 333 try {
360 // InternalSolverLanguageParser.g:165:2: ( ( ( rule__Statement__Group__0 ) ) ) 334 // InternalSolverLanguageParser.g:152:2: ( ( ( rule__Statement__Group__0 ) ) )
361 // InternalSolverLanguageParser.g:166:2: ( ( rule__Statement__Group__0 ) ) 335 // InternalSolverLanguageParser.g:153:2: ( ( rule__Statement__Group__0 ) )
362 { 336 {
363 // InternalSolverLanguageParser.g:166:2: ( ( rule__Statement__Group__0 ) ) 337 // InternalSolverLanguageParser.g:153:2: ( ( rule__Statement__Group__0 ) )
364 // InternalSolverLanguageParser.g:167:3: ( rule__Statement__Group__0 ) 338 // InternalSolverLanguageParser.g:154:3: ( rule__Statement__Group__0 )
365 { 339 {
366 before(grammarAccess.getStatementAccess().getGroup()); 340 before(grammarAccess.getStatementAccess().getGroup());
367 // InternalSolverLanguageParser.g:168:3: ( rule__Statement__Group__0 ) 341 // InternalSolverLanguageParser.g:155:3: ( rule__Statement__Group__0 )
368 // InternalSolverLanguageParser.g:168:4: rule__Statement__Group__0 342 // InternalSolverLanguageParser.g:155:4: rule__Statement__Group__0
369 { 343 {
370 pushFollow(FOLLOW_2); 344 pushFollow(FOLLOW_2);
371 rule__Statement__Group__0(); 345 rule__Statement__Group__0();
@@ -398,11 +372,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
398 372
399 373
400 // $ANTLR start "entryRuleAssertionOrDefinition" 374 // $ANTLR start "entryRuleAssertionOrDefinition"
401 // InternalSolverLanguageParser.g:177:1: entryRuleAssertionOrDefinition : ruleAssertionOrDefinition EOF ; 375 // InternalSolverLanguageParser.g:164:1: entryRuleAssertionOrDefinition : ruleAssertionOrDefinition EOF ;
402 public final void entryRuleAssertionOrDefinition() throws RecognitionException { 376 public final void entryRuleAssertionOrDefinition() throws RecognitionException {
403 try { 377 try {
404 // InternalSolverLanguageParser.g:178:1: ( ruleAssertionOrDefinition EOF ) 378 // InternalSolverLanguageParser.g:165:1: ( ruleAssertionOrDefinition EOF )
405 // InternalSolverLanguageParser.g:179:1: ruleAssertionOrDefinition EOF 379 // InternalSolverLanguageParser.g:166:1: ruleAssertionOrDefinition EOF
406 { 380 {
407 before(grammarAccess.getAssertionOrDefinitionRule()); 381 before(grammarAccess.getAssertionOrDefinitionRule());
408 pushFollow(FOLLOW_1); 382 pushFollow(FOLLOW_1);
@@ -428,21 +402,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
428 402
429 403
430 // $ANTLR start "ruleAssertionOrDefinition" 404 // $ANTLR start "ruleAssertionOrDefinition"
431 // InternalSolverLanguageParser.g:186:1: ruleAssertionOrDefinition : ( ( rule__AssertionOrDefinition__Group__0 ) ) ; 405 // InternalSolverLanguageParser.g:173:1: ruleAssertionOrDefinition : ( ( rule__AssertionOrDefinition__Group__0 ) ) ;
432 public final void ruleAssertionOrDefinition() throws RecognitionException { 406 public final void ruleAssertionOrDefinition() throws RecognitionException {
433 407
434 int stackSize = keepStackSize(); 408 int stackSize = keepStackSize();
435 409
436 try { 410 try {
437 // InternalSolverLanguageParser.g:190:2: ( ( ( rule__AssertionOrDefinition__Group__0 ) ) ) 411 // InternalSolverLanguageParser.g:177:2: ( ( ( rule__AssertionOrDefinition__Group__0 ) ) )
438 // InternalSolverLanguageParser.g:191:2: ( ( rule__AssertionOrDefinition__Group__0 ) ) 412 // InternalSolverLanguageParser.g:178:2: ( ( rule__AssertionOrDefinition__Group__0 ) )
439 { 413 {
440 // InternalSolverLanguageParser.g:191:2: ( ( rule__AssertionOrDefinition__Group__0 ) ) 414 // InternalSolverLanguageParser.g:178:2: ( ( rule__AssertionOrDefinition__Group__0 ) )
441 // InternalSolverLanguageParser.g:192:3: ( rule__AssertionOrDefinition__Group__0 ) 415 // InternalSolverLanguageParser.g:179:3: ( rule__AssertionOrDefinition__Group__0 )
442 { 416 {
443 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); 417 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup());
444 // InternalSolverLanguageParser.g:193:3: ( rule__AssertionOrDefinition__Group__0 ) 418 // InternalSolverLanguageParser.g:180:3: ( rule__AssertionOrDefinition__Group__0 )
445 // InternalSolverLanguageParser.g:193:4: rule__AssertionOrDefinition__Group__0 419 // InternalSolverLanguageParser.g:180:4: rule__AssertionOrDefinition__Group__0
446 { 420 {
447 pushFollow(FOLLOW_2); 421 pushFollow(FOLLOW_2);
448 rule__AssertionOrDefinition__Group__0(); 422 rule__AssertionOrDefinition__Group__0();
@@ -475,11 +449,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
475 449
476 450
477 // $ANTLR start "entryRulePredicateDefinition" 451 // $ANTLR start "entryRulePredicateDefinition"
478 // InternalSolverLanguageParser.g:202:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ; 452 // InternalSolverLanguageParser.g:189:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ;
479 public final void entryRulePredicateDefinition() throws RecognitionException { 453 public final void entryRulePredicateDefinition() throws RecognitionException {
480 try { 454 try {
481 // InternalSolverLanguageParser.g:203:1: ( rulePredicateDefinition EOF ) 455 // InternalSolverLanguageParser.g:190:1: ( rulePredicateDefinition EOF )
482 // InternalSolverLanguageParser.g:204:1: rulePredicateDefinition EOF 456 // InternalSolverLanguageParser.g:191:1: rulePredicateDefinition EOF
483 { 457 {
484 before(grammarAccess.getPredicateDefinitionRule()); 458 before(grammarAccess.getPredicateDefinitionRule());
485 pushFollow(FOLLOW_1); 459 pushFollow(FOLLOW_1);
@@ -505,21 +479,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
505 479
506 480
507 // $ANTLR start "rulePredicateDefinition" 481 // $ANTLR start "rulePredicateDefinition"
508 // InternalSolverLanguageParser.g:211:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ; 482 // InternalSolverLanguageParser.g:198:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ;
509 public final void rulePredicateDefinition() throws RecognitionException { 483 public final void rulePredicateDefinition() throws RecognitionException {
510 484
511 int stackSize = keepStackSize(); 485 int stackSize = keepStackSize();
512 486
513 try { 487 try {
514 // InternalSolverLanguageParser.g:215:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) ) 488 // InternalSolverLanguageParser.g:202:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) )
515 // InternalSolverLanguageParser.g:216:2: ( ( rule__PredicateDefinition__Group__0 ) ) 489 // InternalSolverLanguageParser.g:203:2: ( ( rule__PredicateDefinition__Group__0 ) )
516 { 490 {
517 // InternalSolverLanguageParser.g:216:2: ( ( rule__PredicateDefinition__Group__0 ) ) 491 // InternalSolverLanguageParser.g:203:2: ( ( rule__PredicateDefinition__Group__0 ) )
518 // InternalSolverLanguageParser.g:217:3: ( rule__PredicateDefinition__Group__0 ) 492 // InternalSolverLanguageParser.g:204:3: ( rule__PredicateDefinition__Group__0 )
519 { 493 {
520 before(grammarAccess.getPredicateDefinitionAccess().getGroup()); 494 before(grammarAccess.getPredicateDefinitionAccess().getGroup());
521 // InternalSolverLanguageParser.g:218:3: ( rule__PredicateDefinition__Group__0 ) 495 // InternalSolverLanguageParser.g:205:3: ( rule__PredicateDefinition__Group__0 )
522 // InternalSolverLanguageParser.g:218:4: rule__PredicateDefinition__Group__0 496 // InternalSolverLanguageParser.g:205:4: rule__PredicateDefinition__Group__0
523 { 497 {
524 pushFollow(FOLLOW_2); 498 pushFollow(FOLLOW_2);
525 rule__PredicateDefinition__Group__0(); 499 rule__PredicateDefinition__Group__0();
@@ -552,11 +526,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
552 526
553 527
554 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" 528 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
555 // InternalSolverLanguageParser.g:227:1: entryRuleUnnamedErrorPrediateDefinition : ruleUnnamedErrorPrediateDefinition EOF ; 529 // InternalSolverLanguageParser.g:214:1: entryRuleUnnamedErrorPrediateDefinition : ruleUnnamedErrorPrediateDefinition EOF ;
556 public final void entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { 530 public final void entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
557 try { 531 try {
558 // InternalSolverLanguageParser.g:228:1: ( ruleUnnamedErrorPrediateDefinition EOF ) 532 // InternalSolverLanguageParser.g:215:1: ( ruleUnnamedErrorPrediateDefinition EOF )
559 // InternalSolverLanguageParser.g:229:1: ruleUnnamedErrorPrediateDefinition EOF 533 // InternalSolverLanguageParser.g:216:1: ruleUnnamedErrorPrediateDefinition EOF
560 { 534 {
561 before(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 535 before(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
562 pushFollow(FOLLOW_1); 536 pushFollow(FOLLOW_1);
@@ -582,21 +556,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
582 556
583 557
584 // $ANTLR start "ruleUnnamedErrorPrediateDefinition" 558 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
585 // InternalSolverLanguageParser.g:236:1: ruleUnnamedErrorPrediateDefinition : ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ; 559 // InternalSolverLanguageParser.g:223:1: ruleUnnamedErrorPrediateDefinition : ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ;
586 public final void ruleUnnamedErrorPrediateDefinition() throws RecognitionException { 560 public final void ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
587 561
588 int stackSize = keepStackSize(); 562 int stackSize = keepStackSize();
589 563
590 try { 564 try {
591 // InternalSolverLanguageParser.g:240:2: ( ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ) 565 // InternalSolverLanguageParser.g:227:2: ( ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) )
592 // InternalSolverLanguageParser.g:241:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) 566 // InternalSolverLanguageParser.g:228:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) )
593 { 567 {
594 // InternalSolverLanguageParser.g:241:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) 568 // InternalSolverLanguageParser.g:228:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) )
595 // InternalSolverLanguageParser.g:242:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 ) 569 // InternalSolverLanguageParser.g:229:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 )
596 { 570 {
597 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); 571 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup());
598 // InternalSolverLanguageParser.g:243:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 ) 572 // InternalSolverLanguageParser.g:230:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 )
599 // InternalSolverLanguageParser.g:243:4: rule__UnnamedErrorPrediateDefinition__Group__0 573 // InternalSolverLanguageParser.g:230:4: rule__UnnamedErrorPrediateDefinition__Group__0
600 { 574 {
601 pushFollow(FOLLOW_2); 575 pushFollow(FOLLOW_2);
602 rule__UnnamedErrorPrediateDefinition__Group__0(); 576 rule__UnnamedErrorPrediateDefinition__Group__0();
@@ -629,11 +603,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
629 603
630 604
631 // $ANTLR start "entryRuleDefaultDefinition" 605 // $ANTLR start "entryRuleDefaultDefinition"
632 // InternalSolverLanguageParser.g:252:1: entryRuleDefaultDefinition : ruleDefaultDefinition EOF ; 606 // InternalSolverLanguageParser.g:239:1: entryRuleDefaultDefinition : ruleDefaultDefinition EOF ;
633 public final void entryRuleDefaultDefinition() throws RecognitionException { 607 public final void entryRuleDefaultDefinition() throws RecognitionException {
634 try { 608 try {
635 // InternalSolverLanguageParser.g:253:1: ( ruleDefaultDefinition EOF ) 609 // InternalSolverLanguageParser.g:240:1: ( ruleDefaultDefinition EOF )
636 // InternalSolverLanguageParser.g:254:1: ruleDefaultDefinition EOF 610 // InternalSolverLanguageParser.g:241:1: ruleDefaultDefinition EOF
637 { 611 {
638 before(grammarAccess.getDefaultDefinitionRule()); 612 before(grammarAccess.getDefaultDefinitionRule());
639 pushFollow(FOLLOW_1); 613 pushFollow(FOLLOW_1);
@@ -659,21 +633,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
659 633
660 634
661 // $ANTLR start "ruleDefaultDefinition" 635 // $ANTLR start "ruleDefaultDefinition"
662 // InternalSolverLanguageParser.g:261:1: ruleDefaultDefinition : ( ( rule__DefaultDefinition__Group__0 ) ) ; 636 // InternalSolverLanguageParser.g:248:1: ruleDefaultDefinition : ( ( rule__DefaultDefinition__Group__0 ) ) ;
663 public final void ruleDefaultDefinition() throws RecognitionException { 637 public final void ruleDefaultDefinition() throws RecognitionException {
664 638
665 int stackSize = keepStackSize(); 639 int stackSize = keepStackSize();
666 640
667 try { 641 try {
668 // InternalSolverLanguageParser.g:265:2: ( ( ( rule__DefaultDefinition__Group__0 ) ) ) 642 // InternalSolverLanguageParser.g:252:2: ( ( ( rule__DefaultDefinition__Group__0 ) ) )
669 // InternalSolverLanguageParser.g:266:2: ( ( rule__DefaultDefinition__Group__0 ) ) 643 // InternalSolverLanguageParser.g:253:2: ( ( rule__DefaultDefinition__Group__0 ) )
670 { 644 {
671 // InternalSolverLanguageParser.g:266:2: ( ( rule__DefaultDefinition__Group__0 ) ) 645 // InternalSolverLanguageParser.g:253:2: ( ( rule__DefaultDefinition__Group__0 ) )
672 // InternalSolverLanguageParser.g:267:3: ( rule__DefaultDefinition__Group__0 ) 646 // InternalSolverLanguageParser.g:254:3: ( rule__DefaultDefinition__Group__0 )
673 { 647 {
674 before(grammarAccess.getDefaultDefinitionAccess().getGroup()); 648 before(grammarAccess.getDefaultDefinitionAccess().getGroup());
675 // InternalSolverLanguageParser.g:268:3: ( rule__DefaultDefinition__Group__0 ) 649 // InternalSolverLanguageParser.g:255:3: ( rule__DefaultDefinition__Group__0 )
676 // InternalSolverLanguageParser.g:268:4: rule__DefaultDefinition__Group__0 650 // InternalSolverLanguageParser.g:255:4: rule__DefaultDefinition__Group__0
677 { 651 {
678 pushFollow(FOLLOW_2); 652 pushFollow(FOLLOW_2);
679 rule__DefaultDefinition__Group__0(); 653 rule__DefaultDefinition__Group__0();
@@ -705,20 +679,20 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
705 // $ANTLR end "ruleDefaultDefinition" 679 // $ANTLR end "ruleDefaultDefinition"
706 680
707 681
708 // $ANTLR start "entryRuleExternPredicateDefinition" 682 // $ANTLR start "entryRuleMetricDefinition"
709 // InternalSolverLanguageParser.g:277:1: entryRuleExternPredicateDefinition : ruleExternPredicateDefinition EOF ; 683 // InternalSolverLanguageParser.g:264:1: entryRuleMetricDefinition : ruleMetricDefinition EOF ;
710 public final void entryRuleExternPredicateDefinition() throws RecognitionException { 684 public final void entryRuleMetricDefinition() throws RecognitionException {
711 try { 685 try {
712 // InternalSolverLanguageParser.g:278:1: ( ruleExternPredicateDefinition EOF ) 686 // InternalSolverLanguageParser.g:265:1: ( ruleMetricDefinition EOF )
713 // InternalSolverLanguageParser.g:279:1: ruleExternPredicateDefinition EOF 687 // InternalSolverLanguageParser.g:266:1: ruleMetricDefinition EOF
714 { 688 {
715 before(grammarAccess.getExternPredicateDefinitionRule()); 689 before(grammarAccess.getMetricDefinitionRule());
716 pushFollow(FOLLOW_1); 690 pushFollow(FOLLOW_1);
717 ruleExternPredicateDefinition(); 691 ruleMetricDefinition();
718 692
719 state._fsp--; 693 state._fsp--;
720 694
721 after(grammarAccess.getExternPredicateDefinitionRule()); 695 after(grammarAccess.getMetricDefinitionRule());
722 match(input,EOF,FOLLOW_2); 696 match(input,EOF,FOLLOW_2);
723 697
724 } 698 }
@@ -732,35 +706,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
732 } 706 }
733 return ; 707 return ;
734 } 708 }
735 // $ANTLR end "entryRuleExternPredicateDefinition" 709 // $ANTLR end "entryRuleMetricDefinition"
736 710
737 711
738 // $ANTLR start "ruleExternPredicateDefinition" 712 // $ANTLR start "ruleMetricDefinition"
739 // InternalSolverLanguageParser.g:286:1: ruleExternPredicateDefinition : ( ( rule__ExternPredicateDefinition__Group__0 ) ) ; 713 // InternalSolverLanguageParser.g:273:1: ruleMetricDefinition : ( ( rule__MetricDefinition__Group__0 ) ) ;
740 public final void ruleExternPredicateDefinition() throws RecognitionException { 714 public final void ruleMetricDefinition() throws RecognitionException {
741 715
742 int stackSize = keepStackSize(); 716 int stackSize = keepStackSize();
743 717
744 try { 718 try {
745 // InternalSolverLanguageParser.g:290:2: ( ( ( rule__ExternPredicateDefinition__Group__0 ) ) ) 719 // InternalSolverLanguageParser.g:277:2: ( ( ( rule__MetricDefinition__Group__0 ) ) )
746 // InternalSolverLanguageParser.g:291:2: ( ( rule__ExternPredicateDefinition__Group__0 ) ) 720 // InternalSolverLanguageParser.g:278:2: ( ( rule__MetricDefinition__Group__0 ) )
747 { 721 {
748 // InternalSolverLanguageParser.g:291:2: ( ( rule__ExternPredicateDefinition__Group__0 ) ) 722 // InternalSolverLanguageParser.g:278:2: ( ( rule__MetricDefinition__Group__0 ) )
749 // InternalSolverLanguageParser.g:292:3: ( rule__ExternPredicateDefinition__Group__0 ) 723 // InternalSolverLanguageParser.g:279:3: ( rule__MetricDefinition__Group__0 )
750 { 724 {
751 before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); 725 before(grammarAccess.getMetricDefinitionAccess().getGroup());
752 // InternalSolverLanguageParser.g:293:3: ( rule__ExternPredicateDefinition__Group__0 ) 726 // InternalSolverLanguageParser.g:280:3: ( rule__MetricDefinition__Group__0 )
753 // InternalSolverLanguageParser.g:293:4: rule__ExternPredicateDefinition__Group__0 727 // InternalSolverLanguageParser.g:280:4: rule__MetricDefinition__Group__0
754 { 728 {
755 pushFollow(FOLLOW_2); 729 pushFollow(FOLLOW_2);
756 rule__ExternPredicateDefinition__Group__0(); 730 rule__MetricDefinition__Group__0();
757 731
758 state._fsp--; 732 state._fsp--;
759 733
760 734
761 } 735 }
762 736
763 after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); 737 after(grammarAccess.getMetricDefinitionAccess().getGroup());
764 738
765 } 739 }
766 740
@@ -779,23 +753,23 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
779 } 753 }
780 return ; 754 return ;
781 } 755 }
782 // $ANTLR end "ruleExternPredicateDefinition" 756 // $ANTLR end "ruleMetricDefinition"
783 757
784 758
785 // $ANTLR start "entryRuleMetricDefinition" 759 // $ANTLR start "entryRuleExternPredicateDefinition"
786 // InternalSolverLanguageParser.g:302:1: entryRuleMetricDefinition : ruleMetricDefinition EOF ; 760 // InternalSolverLanguageParser.g:289:1: entryRuleExternPredicateDefinition : ruleExternPredicateDefinition EOF ;
787 public final void entryRuleMetricDefinition() throws RecognitionException { 761 public final void entryRuleExternPredicateDefinition() throws RecognitionException {
788 try { 762 try {
789 // InternalSolverLanguageParser.g:303:1: ( ruleMetricDefinition EOF ) 763 // InternalSolverLanguageParser.g:290:1: ( ruleExternPredicateDefinition EOF )
790 // InternalSolverLanguageParser.g:304:1: ruleMetricDefinition EOF 764 // InternalSolverLanguageParser.g:291:1: ruleExternPredicateDefinition EOF
791 { 765 {
792 before(grammarAccess.getMetricDefinitionRule()); 766 before(grammarAccess.getExternPredicateDefinitionRule());
793 pushFollow(FOLLOW_1); 767 pushFollow(FOLLOW_1);
794 ruleMetricDefinition(); 768 ruleExternPredicateDefinition();
795 769
796 state._fsp--; 770 state._fsp--;
797 771
798 after(grammarAccess.getMetricDefinitionRule()); 772 after(grammarAccess.getExternPredicateDefinitionRule());
799 match(input,EOF,FOLLOW_2); 773 match(input,EOF,FOLLOW_2);
800 774
801 } 775 }
@@ -809,35 +783,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
809 } 783 }
810 return ; 784 return ;
811 } 785 }
812 // $ANTLR end "entryRuleMetricDefinition" 786 // $ANTLR end "entryRuleExternPredicateDefinition"
813 787
814 788
815 // $ANTLR start "ruleMetricDefinition" 789 // $ANTLR start "ruleExternPredicateDefinition"
816 // InternalSolverLanguageParser.g:311:1: ruleMetricDefinition : ( ( rule__MetricDefinition__Group__0 ) ) ; 790 // InternalSolverLanguageParser.g:298:1: ruleExternPredicateDefinition : ( ( rule__ExternPredicateDefinition__Group__0 ) ) ;
817 public final void ruleMetricDefinition() throws RecognitionException { 791 public final void ruleExternPredicateDefinition() throws RecognitionException {
818 792
819 int stackSize = keepStackSize(); 793 int stackSize = keepStackSize();
820 794
821 try { 795 try {
822 // InternalSolverLanguageParser.g:315:2: ( ( ( rule__MetricDefinition__Group__0 ) ) ) 796 // InternalSolverLanguageParser.g:302:2: ( ( ( rule__ExternPredicateDefinition__Group__0 ) ) )
823 // InternalSolverLanguageParser.g:316:2: ( ( rule__MetricDefinition__Group__0 ) ) 797 // InternalSolverLanguageParser.g:303:2: ( ( rule__ExternPredicateDefinition__Group__0 ) )
824 { 798 {
825 // InternalSolverLanguageParser.g:316:2: ( ( rule__MetricDefinition__Group__0 ) ) 799 // InternalSolverLanguageParser.g:303:2: ( ( rule__ExternPredicateDefinition__Group__0 ) )
826 // InternalSolverLanguageParser.g:317:3: ( rule__MetricDefinition__Group__0 ) 800 // InternalSolverLanguageParser.g:304:3: ( rule__ExternPredicateDefinition__Group__0 )
827 { 801 {
828 before(grammarAccess.getMetricDefinitionAccess().getGroup()); 802 before(grammarAccess.getExternPredicateDefinitionAccess().getGroup());
829 // InternalSolverLanguageParser.g:318:3: ( rule__MetricDefinition__Group__0 ) 803 // InternalSolverLanguageParser.g:305:3: ( rule__ExternPredicateDefinition__Group__0 )
830 // InternalSolverLanguageParser.g:318:4: rule__MetricDefinition__Group__0 804 // InternalSolverLanguageParser.g:305:4: rule__ExternPredicateDefinition__Group__0
831 { 805 {
832 pushFollow(FOLLOW_2); 806 pushFollow(FOLLOW_2);
833 rule__MetricDefinition__Group__0(); 807 rule__ExternPredicateDefinition__Group__0();
834 808
835 state._fsp--; 809 state._fsp--;
836 810
837 811
838 } 812 }
839 813
840 after(grammarAccess.getMetricDefinitionAccess().getGroup()); 814 after(grammarAccess.getExternPredicateDefinitionAccess().getGroup());
841 815
842 } 816 }
843 817
@@ -856,15 +830,15 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
856 } 830 }
857 return ; 831 return ;
858 } 832 }
859 // $ANTLR end "ruleMetricDefinition" 833 // $ANTLR end "ruleExternPredicateDefinition"
860 834
861 835
862 // $ANTLR start "entryRuleExternMetricDefinition" 836 // $ANTLR start "entryRuleExternMetricDefinition"
863 // InternalSolverLanguageParser.g:327:1: entryRuleExternMetricDefinition : ruleExternMetricDefinition EOF ; 837 // InternalSolverLanguageParser.g:314:1: entryRuleExternMetricDefinition : ruleExternMetricDefinition EOF ;
864 public final void entryRuleExternMetricDefinition() throws RecognitionException { 838 public final void entryRuleExternMetricDefinition() throws RecognitionException {
865 try { 839 try {
866 // InternalSolverLanguageParser.g:328:1: ( ruleExternMetricDefinition EOF ) 840 // InternalSolverLanguageParser.g:315:1: ( ruleExternMetricDefinition EOF )
867 // InternalSolverLanguageParser.g:329:1: ruleExternMetricDefinition EOF 841 // InternalSolverLanguageParser.g:316:1: ruleExternMetricDefinition EOF
868 { 842 {
869 before(grammarAccess.getExternMetricDefinitionRule()); 843 before(grammarAccess.getExternMetricDefinitionRule());
870 pushFollow(FOLLOW_1); 844 pushFollow(FOLLOW_1);
@@ -890,21 +864,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
890 864
891 865
892 // $ANTLR start "ruleExternMetricDefinition" 866 // $ANTLR start "ruleExternMetricDefinition"
893 // InternalSolverLanguageParser.g:336:1: ruleExternMetricDefinition : ( ( rule__ExternMetricDefinition__Group__0 ) ) ; 867 // InternalSolverLanguageParser.g:323:1: ruleExternMetricDefinition : ( ( rule__ExternMetricDefinition__Group__0 ) ) ;
894 public final void ruleExternMetricDefinition() throws RecognitionException { 868 public final void ruleExternMetricDefinition() throws RecognitionException {
895 869
896 int stackSize = keepStackSize(); 870 int stackSize = keepStackSize();
897 871
898 try { 872 try {
899 // InternalSolverLanguageParser.g:340:2: ( ( ( rule__ExternMetricDefinition__Group__0 ) ) ) 873 // InternalSolverLanguageParser.g:327:2: ( ( ( rule__ExternMetricDefinition__Group__0 ) ) )
900 // InternalSolverLanguageParser.g:341:2: ( ( rule__ExternMetricDefinition__Group__0 ) ) 874 // InternalSolverLanguageParser.g:328:2: ( ( rule__ExternMetricDefinition__Group__0 ) )
901 { 875 {
902 // InternalSolverLanguageParser.g:341:2: ( ( rule__ExternMetricDefinition__Group__0 ) ) 876 // InternalSolverLanguageParser.g:328:2: ( ( rule__ExternMetricDefinition__Group__0 ) )
903 // InternalSolverLanguageParser.g:342:3: ( rule__ExternMetricDefinition__Group__0 ) 877 // InternalSolverLanguageParser.g:329:3: ( rule__ExternMetricDefinition__Group__0 )
904 { 878 {
905 before(grammarAccess.getExternMetricDefinitionAccess().getGroup()); 879 before(grammarAccess.getExternMetricDefinitionAccess().getGroup());
906 // InternalSolverLanguageParser.g:343:3: ( rule__ExternMetricDefinition__Group__0 ) 880 // InternalSolverLanguageParser.g:330:3: ( rule__ExternMetricDefinition__Group__0 )
907 // InternalSolverLanguageParser.g:343:4: rule__ExternMetricDefinition__Group__0 881 // InternalSolverLanguageParser.g:330:4: rule__ExternMetricDefinition__Group__0
908 { 882 {
909 pushFollow(FOLLOW_2); 883 pushFollow(FOLLOW_2);
910 rule__ExternMetricDefinition__Group__0(); 884 rule__ExternMetricDefinition__Group__0();
@@ -936,12 +910,243 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
936 // $ANTLR end "ruleExternMetricDefinition" 910 // $ANTLR end "ruleExternMetricDefinition"
937 911
938 912
913 // $ANTLR start "entryRuleExternAggregatorDefinition"
914 // InternalSolverLanguageParser.g:339:1: entryRuleExternAggregatorDefinition : ruleExternAggregatorDefinition EOF ;
915 public final void entryRuleExternAggregatorDefinition() throws RecognitionException {
916 try {
917 // InternalSolverLanguageParser.g:340:1: ( ruleExternAggregatorDefinition EOF )
918 // InternalSolverLanguageParser.g:341:1: ruleExternAggregatorDefinition EOF
919 {
920 before(grammarAccess.getExternAggregatorDefinitionRule());
921 pushFollow(FOLLOW_1);
922 ruleExternAggregatorDefinition();
923
924 state._fsp--;
925
926 after(grammarAccess.getExternAggregatorDefinitionRule());
927 match(input,EOF,FOLLOW_2);
928
929 }
930
931 }
932 catch (RecognitionException re) {
933 reportError(re);
934 recover(input,re);
935 }
936 finally {
937 }
938 return ;
939 }
940 // $ANTLR end "entryRuleExternAggregatorDefinition"
941
942
943 // $ANTLR start "ruleExternAggregatorDefinition"
944 // InternalSolverLanguageParser.g:348:1: ruleExternAggregatorDefinition : ( ( rule__ExternAggregatorDefinition__Group__0 ) ) ;
945 public final void ruleExternAggregatorDefinition() throws RecognitionException {
946
947 int stackSize = keepStackSize();
948
949 try {
950 // InternalSolverLanguageParser.g:352:2: ( ( ( rule__ExternAggregatorDefinition__Group__0 ) ) )
951 // InternalSolverLanguageParser.g:353:2: ( ( rule__ExternAggregatorDefinition__Group__0 ) )
952 {
953 // InternalSolverLanguageParser.g:353:2: ( ( rule__ExternAggregatorDefinition__Group__0 ) )
954 // InternalSolverLanguageParser.g:354:3: ( rule__ExternAggregatorDefinition__Group__0 )
955 {
956 before(grammarAccess.getExternAggregatorDefinitionAccess().getGroup());
957 // InternalSolverLanguageParser.g:355:3: ( rule__ExternAggregatorDefinition__Group__0 )
958 // InternalSolverLanguageParser.g:355:4: rule__ExternAggregatorDefinition__Group__0
959 {
960 pushFollow(FOLLOW_2);
961 rule__ExternAggregatorDefinition__Group__0();
962
963 state._fsp--;
964
965
966 }
967
968 after(grammarAccess.getExternAggregatorDefinitionAccess().getGroup());
969
970 }
971
972
973 }
974
975 }
976 catch (RecognitionException re) {
977 reportError(re);
978 recover(input,re);
979 }
980 finally {
981
982 restoreStackSize(stackSize);
983
984 }
985 return ;
986 }
987 // $ANTLR end "ruleExternAggregatorDefinition"
988
989
990 // $ANTLR start "entryRuleExternDatatypeDefinition"
991 // InternalSolverLanguageParser.g:364:1: entryRuleExternDatatypeDefinition : ruleExternDatatypeDefinition EOF ;
992 public final void entryRuleExternDatatypeDefinition() throws RecognitionException {
993 try {
994 // InternalSolverLanguageParser.g:365:1: ( ruleExternDatatypeDefinition EOF )
995 // InternalSolverLanguageParser.g:366:1: ruleExternDatatypeDefinition EOF
996 {
997 before(grammarAccess.getExternDatatypeDefinitionRule());
998 pushFollow(FOLLOW_1);
999 ruleExternDatatypeDefinition();
1000
1001 state._fsp--;
1002
1003 after(grammarAccess.getExternDatatypeDefinitionRule());
1004 match(input,EOF,FOLLOW_2);
1005
1006 }
1007
1008 }
1009 catch (RecognitionException re) {
1010 reportError(re);
1011 recover(input,re);
1012 }
1013 finally {
1014 }
1015 return ;
1016 }
1017 // $ANTLR end "entryRuleExternDatatypeDefinition"
1018
1019
1020 // $ANTLR start "ruleExternDatatypeDefinition"
1021 // InternalSolverLanguageParser.g:373:1: ruleExternDatatypeDefinition : ( ( rule__ExternDatatypeDefinition__Group__0 ) ) ;
1022 public final void ruleExternDatatypeDefinition() throws RecognitionException {
1023
1024 int stackSize = keepStackSize();
1025
1026 try {
1027 // InternalSolverLanguageParser.g:377:2: ( ( ( rule__ExternDatatypeDefinition__Group__0 ) ) )
1028 // InternalSolverLanguageParser.g:378:2: ( ( rule__ExternDatatypeDefinition__Group__0 ) )
1029 {
1030 // InternalSolverLanguageParser.g:378:2: ( ( rule__ExternDatatypeDefinition__Group__0 ) )
1031 // InternalSolverLanguageParser.g:379:3: ( rule__ExternDatatypeDefinition__Group__0 )
1032 {
1033 before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup());
1034 // InternalSolverLanguageParser.g:380:3: ( rule__ExternDatatypeDefinition__Group__0 )
1035 // InternalSolverLanguageParser.g:380:4: rule__ExternDatatypeDefinition__Group__0
1036 {
1037 pushFollow(FOLLOW_2);
1038 rule__ExternDatatypeDefinition__Group__0();
1039
1040 state._fsp--;
1041
1042
1043 }
1044
1045 after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup());
1046
1047 }
1048
1049
1050 }
1051
1052 }
1053 catch (RecognitionException re) {
1054 reportError(re);
1055 recover(input,re);
1056 }
1057 finally {
1058
1059 restoreStackSize(stackSize);
1060
1061 }
1062 return ;
1063 }
1064 // $ANTLR end "ruleExternDatatypeDefinition"
1065
1066
1067 // $ANTLR start "entryRuleVariable"
1068 // InternalSolverLanguageParser.g:389:1: entryRuleVariable : ruleVariable EOF ;
1069 public final void entryRuleVariable() throws RecognitionException {
1070 try {
1071 // InternalSolverLanguageParser.g:390:1: ( ruleVariable EOF )
1072 // InternalSolverLanguageParser.g:391:1: ruleVariable EOF
1073 {
1074 before(grammarAccess.getVariableRule());
1075 pushFollow(FOLLOW_1);
1076 ruleVariable();
1077
1078 state._fsp--;
1079
1080 after(grammarAccess.getVariableRule());
1081 match(input,EOF,FOLLOW_2);
1082
1083 }
1084
1085 }
1086 catch (RecognitionException re) {
1087 reportError(re);
1088 recover(input,re);
1089 }
1090 finally {
1091 }
1092 return ;
1093 }
1094 // $ANTLR end "entryRuleVariable"
1095
1096
1097 // $ANTLR start "ruleVariable"
1098 // InternalSolverLanguageParser.g:398:1: ruleVariable : ( ( rule__Variable__Group__0 ) ) ;
1099 public final void ruleVariable() throws RecognitionException {
1100
1101 int stackSize = keepStackSize();
1102
1103 try {
1104 // InternalSolverLanguageParser.g:402:2: ( ( ( rule__Variable__Group__0 ) ) )
1105 // InternalSolverLanguageParser.g:403:2: ( ( rule__Variable__Group__0 ) )
1106 {
1107 // InternalSolverLanguageParser.g:403:2: ( ( rule__Variable__Group__0 ) )
1108 // InternalSolverLanguageParser.g:404:3: ( rule__Variable__Group__0 )
1109 {
1110 before(grammarAccess.getVariableAccess().getGroup());
1111 // InternalSolverLanguageParser.g:405:3: ( rule__Variable__Group__0 )
1112 // InternalSolverLanguageParser.g:405:4: rule__Variable__Group__0
1113 {
1114 pushFollow(FOLLOW_2);
1115 rule__Variable__Group__0();
1116
1117 state._fsp--;
1118
1119
1120 }
1121
1122 after(grammarAccess.getVariableAccess().getGroup());
1123
1124 }
1125
1126
1127 }
1128
1129 }
1130 catch (RecognitionException re) {
1131 reportError(re);
1132 recover(input,re);
1133 }
1134 finally {
1135
1136 restoreStackSize(stackSize);
1137
1138 }
1139 return ;
1140 }
1141 // $ANTLR end "ruleVariable"
1142
1143
939 // $ANTLR start "entryRuleExpression" 1144 // $ANTLR start "entryRuleExpression"
940 // InternalSolverLanguageParser.g:352:1: entryRuleExpression : ruleExpression EOF ; 1145 // InternalSolverLanguageParser.g:414:1: entryRuleExpression : ruleExpression EOF ;
941 public final void entryRuleExpression() throws RecognitionException { 1146 public final void entryRuleExpression() throws RecognitionException {
942 try { 1147 try {
943 // InternalSolverLanguageParser.g:353:1: ( ruleExpression EOF ) 1148 // InternalSolverLanguageParser.g:415:1: ( ruleExpression EOF )
944 // InternalSolverLanguageParser.g:354:1: ruleExpression EOF 1149 // InternalSolverLanguageParser.g:416:1: ruleExpression EOF
945 { 1150 {
946 before(grammarAccess.getExpressionRule()); 1151 before(grammarAccess.getExpressionRule());
947 pushFollow(FOLLOW_1); 1152 pushFollow(FOLLOW_1);
@@ -967,21 +1172,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
967 1172
968 1173
969 // $ANTLR start "ruleExpression" 1174 // $ANTLR start "ruleExpression"
970 // InternalSolverLanguageParser.g:361:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ; 1175 // InternalSolverLanguageParser.g:423:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
971 public final void ruleExpression() throws RecognitionException { 1176 public final void ruleExpression() throws RecognitionException {
972 1177
973 int stackSize = keepStackSize(); 1178 int stackSize = keepStackSize();
974 1179
975 try { 1180 try {
976 // InternalSolverLanguageParser.g:365:2: ( ( ( rule__Expression__Alternatives ) ) ) 1181 // InternalSolverLanguageParser.g:427:2: ( ( ( rule__Expression__Alternatives ) ) )
977 // InternalSolverLanguageParser.g:366:2: ( ( rule__Expression__Alternatives ) ) 1182 // InternalSolverLanguageParser.g:428:2: ( ( rule__Expression__Alternatives ) )
978 { 1183 {
979 // InternalSolverLanguageParser.g:366:2: ( ( rule__Expression__Alternatives ) ) 1184 // InternalSolverLanguageParser.g:428:2: ( ( rule__Expression__Alternatives ) )
980 // InternalSolverLanguageParser.g:367:3: ( rule__Expression__Alternatives ) 1185 // InternalSolverLanguageParser.g:429:3: ( rule__Expression__Alternatives )
981 { 1186 {
982 before(grammarAccess.getExpressionAccess().getAlternatives()); 1187 before(grammarAccess.getExpressionAccess().getAlternatives());
983 // InternalSolverLanguageParser.g:368:3: ( rule__Expression__Alternatives ) 1188 // InternalSolverLanguageParser.g:430:3: ( rule__Expression__Alternatives )
984 // InternalSolverLanguageParser.g:368:4: rule__Expression__Alternatives 1189 // InternalSolverLanguageParser.g:430:4: rule__Expression__Alternatives
985 { 1190 {
986 pushFollow(FOLLOW_2); 1191 pushFollow(FOLLOW_2);
987 rule__Expression__Alternatives(); 1192 rule__Expression__Alternatives();
@@ -1014,11 +1219,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1014 1219
1015 1220
1016 // $ANTLR start "entryRuleIfElse" 1221 // $ANTLR start "entryRuleIfElse"
1017 // InternalSolverLanguageParser.g:377:1: entryRuleIfElse : ruleIfElse EOF ; 1222 // InternalSolverLanguageParser.g:439:1: entryRuleIfElse : ruleIfElse EOF ;
1018 public final void entryRuleIfElse() throws RecognitionException { 1223 public final void entryRuleIfElse() throws RecognitionException {
1019 try { 1224 try {
1020 // InternalSolverLanguageParser.g:378:1: ( ruleIfElse EOF ) 1225 // InternalSolverLanguageParser.g:440:1: ( ruleIfElse EOF )
1021 // InternalSolverLanguageParser.g:379:1: ruleIfElse EOF 1226 // InternalSolverLanguageParser.g:441:1: ruleIfElse EOF
1022 { 1227 {
1023 before(grammarAccess.getIfElseRule()); 1228 before(grammarAccess.getIfElseRule());
1024 pushFollow(FOLLOW_1); 1229 pushFollow(FOLLOW_1);
@@ -1044,21 +1249,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1044 1249
1045 1250
1046 // $ANTLR start "ruleIfElse" 1251 // $ANTLR start "ruleIfElse"
1047 // InternalSolverLanguageParser.g:386:1: ruleIfElse : ( ( rule__IfElse__Group__0 ) ) ; 1252 // InternalSolverLanguageParser.g:448:1: ruleIfElse : ( ( rule__IfElse__Group__0 ) ) ;
1048 public final void ruleIfElse() throws RecognitionException { 1253 public final void ruleIfElse() throws RecognitionException {
1049 1254
1050 int stackSize = keepStackSize(); 1255 int stackSize = keepStackSize();
1051 1256
1052 try { 1257 try {
1053 // InternalSolverLanguageParser.g:390:2: ( ( ( rule__IfElse__Group__0 ) ) ) 1258 // InternalSolverLanguageParser.g:452:2: ( ( ( rule__IfElse__Group__0 ) ) )
1054 // InternalSolverLanguageParser.g:391:2: ( ( rule__IfElse__Group__0 ) ) 1259 // InternalSolverLanguageParser.g:453:2: ( ( rule__IfElse__Group__0 ) )
1055 { 1260 {
1056 // InternalSolverLanguageParser.g:391:2: ( ( rule__IfElse__Group__0 ) ) 1261 // InternalSolverLanguageParser.g:453:2: ( ( rule__IfElse__Group__0 ) )
1057 // InternalSolverLanguageParser.g:392:3: ( rule__IfElse__Group__0 ) 1262 // InternalSolverLanguageParser.g:454:3: ( rule__IfElse__Group__0 )
1058 { 1263 {
1059 before(grammarAccess.getIfElseAccess().getGroup()); 1264 before(grammarAccess.getIfElseAccess().getGroup());
1060 // InternalSolverLanguageParser.g:393:3: ( rule__IfElse__Group__0 ) 1265 // InternalSolverLanguageParser.g:455:3: ( rule__IfElse__Group__0 )
1061 // InternalSolverLanguageParser.g:393:4: rule__IfElse__Group__0 1266 // InternalSolverLanguageParser.g:455:4: rule__IfElse__Group__0
1062 { 1267 {
1063 pushFollow(FOLLOW_2); 1268 pushFollow(FOLLOW_2);
1064 rule__IfElse__Group__0(); 1269 rule__IfElse__Group__0();
@@ -1090,12 +1295,243 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1090 // $ANTLR end "ruleIfElse" 1295 // $ANTLR end "ruleIfElse"
1091 1296
1092 1297
1298 // $ANTLR start "entryRuleLet"
1299 // InternalSolverLanguageParser.g:464:1: entryRuleLet : ruleLet EOF ;
1300 public final void entryRuleLet() throws RecognitionException {
1301 try {
1302 // InternalSolverLanguageParser.g:465:1: ( ruleLet EOF )
1303 // InternalSolverLanguageParser.g:466:1: ruleLet EOF
1304 {
1305 before(grammarAccess.getLetRule());
1306 pushFollow(FOLLOW_1);
1307 ruleLet();
1308
1309 state._fsp--;
1310
1311 after(grammarAccess.getLetRule());
1312 match(input,EOF,FOLLOW_2);
1313
1314 }
1315
1316 }
1317 catch (RecognitionException re) {
1318 reportError(re);
1319 recover(input,re);
1320 }
1321 finally {
1322 }
1323 return ;
1324 }
1325 // $ANTLR end "entryRuleLet"
1326
1327
1328 // $ANTLR start "ruleLet"
1329 // InternalSolverLanguageParser.g:473:1: ruleLet : ( ( rule__Let__Group__0 ) ) ;
1330 public final void ruleLet() throws RecognitionException {
1331
1332 int stackSize = keepStackSize();
1333
1334 try {
1335 // InternalSolverLanguageParser.g:477:2: ( ( ( rule__Let__Group__0 ) ) )
1336 // InternalSolverLanguageParser.g:478:2: ( ( rule__Let__Group__0 ) )
1337 {
1338 // InternalSolverLanguageParser.g:478:2: ( ( rule__Let__Group__0 ) )
1339 // InternalSolverLanguageParser.g:479:3: ( rule__Let__Group__0 )
1340 {
1341 before(grammarAccess.getLetAccess().getGroup());
1342 // InternalSolverLanguageParser.g:480:3: ( rule__Let__Group__0 )
1343 // InternalSolverLanguageParser.g:480:4: rule__Let__Group__0
1344 {
1345 pushFollow(FOLLOW_2);
1346 rule__Let__Group__0();
1347
1348 state._fsp--;
1349
1350
1351 }
1352
1353 after(grammarAccess.getLetAccess().getGroup());
1354
1355 }
1356
1357
1358 }
1359
1360 }
1361 catch (RecognitionException re) {
1362 reportError(re);
1363 recover(input,re);
1364 }
1365 finally {
1366
1367 restoreStackSize(stackSize);
1368
1369 }
1370 return ;
1371 }
1372 // $ANTLR end "ruleLet"
1373
1374
1375 // $ANTLR start "entryRuleLetBinding"
1376 // InternalSolverLanguageParser.g:489:1: entryRuleLetBinding : ruleLetBinding EOF ;
1377 public final void entryRuleLetBinding() throws RecognitionException {
1378 try {
1379 // InternalSolverLanguageParser.g:490:1: ( ruleLetBinding EOF )
1380 // InternalSolverLanguageParser.g:491:1: ruleLetBinding EOF
1381 {
1382 before(grammarAccess.getLetBindingRule());
1383 pushFollow(FOLLOW_1);
1384 ruleLetBinding();
1385
1386 state._fsp--;
1387
1388 after(grammarAccess.getLetBindingRule());
1389 match(input,EOF,FOLLOW_2);
1390
1391 }
1392
1393 }
1394 catch (RecognitionException re) {
1395 reportError(re);
1396 recover(input,re);
1397 }
1398 finally {
1399 }
1400 return ;
1401 }
1402 // $ANTLR end "entryRuleLetBinding"
1403
1404
1405 // $ANTLR start "ruleLetBinding"
1406 // InternalSolverLanguageParser.g:498:1: ruleLetBinding : ( ( rule__LetBinding__Group__0 ) ) ;
1407 public final void ruleLetBinding() throws RecognitionException {
1408
1409 int stackSize = keepStackSize();
1410
1411 try {
1412 // InternalSolverLanguageParser.g:502:2: ( ( ( rule__LetBinding__Group__0 ) ) )
1413 // InternalSolverLanguageParser.g:503:2: ( ( rule__LetBinding__Group__0 ) )
1414 {
1415 // InternalSolverLanguageParser.g:503:2: ( ( rule__LetBinding__Group__0 ) )
1416 // InternalSolverLanguageParser.g:504:3: ( rule__LetBinding__Group__0 )
1417 {
1418 before(grammarAccess.getLetBindingAccess().getGroup());
1419 // InternalSolverLanguageParser.g:505:3: ( rule__LetBinding__Group__0 )
1420 // InternalSolverLanguageParser.g:505:4: rule__LetBinding__Group__0
1421 {
1422 pushFollow(FOLLOW_2);
1423 rule__LetBinding__Group__0();
1424
1425 state._fsp--;
1426
1427
1428 }
1429
1430 after(grammarAccess.getLetBindingAccess().getGroup());
1431
1432 }
1433
1434
1435 }
1436
1437 }
1438 catch (RecognitionException re) {
1439 reportError(re);
1440 recover(input,re);
1441 }
1442 finally {
1443
1444 restoreStackSize(stackSize);
1445
1446 }
1447 return ;
1448 }
1449 // $ANTLR end "ruleLetBinding"
1450
1451
1452 // $ANTLR start "entryRuleImplicationExpression"
1453 // InternalSolverLanguageParser.g:514:1: entryRuleImplicationExpression : ruleImplicationExpression EOF ;
1454 public final void entryRuleImplicationExpression() throws RecognitionException {
1455 try {
1456 // InternalSolverLanguageParser.g:515:1: ( ruleImplicationExpression EOF )
1457 // InternalSolverLanguageParser.g:516:1: ruleImplicationExpression EOF
1458 {
1459 before(grammarAccess.getImplicationExpressionRule());
1460 pushFollow(FOLLOW_1);
1461 ruleImplicationExpression();
1462
1463 state._fsp--;
1464
1465 after(grammarAccess.getImplicationExpressionRule());
1466 match(input,EOF,FOLLOW_2);
1467
1468 }
1469
1470 }
1471 catch (RecognitionException re) {
1472 reportError(re);
1473 recover(input,re);
1474 }
1475 finally {
1476 }
1477 return ;
1478 }
1479 // $ANTLR end "entryRuleImplicationExpression"
1480
1481
1482 // $ANTLR start "ruleImplicationExpression"
1483 // InternalSolverLanguageParser.g:523:1: ruleImplicationExpression : ( ( rule__ImplicationExpression__Group__0 ) ) ;
1484 public final void ruleImplicationExpression() throws RecognitionException {
1485
1486 int stackSize = keepStackSize();
1487
1488 try {
1489 // InternalSolverLanguageParser.g:527:2: ( ( ( rule__ImplicationExpression__Group__0 ) ) )
1490 // InternalSolverLanguageParser.g:528:2: ( ( rule__ImplicationExpression__Group__0 ) )
1491 {
1492 // InternalSolverLanguageParser.g:528:2: ( ( rule__ImplicationExpression__Group__0 ) )
1493 // InternalSolverLanguageParser.g:529:3: ( rule__ImplicationExpression__Group__0 )
1494 {
1495 before(grammarAccess.getImplicationExpressionAccess().getGroup());
1496 // InternalSolverLanguageParser.g:530:3: ( rule__ImplicationExpression__Group__0 )
1497 // InternalSolverLanguageParser.g:530:4: rule__ImplicationExpression__Group__0
1498 {
1499 pushFollow(FOLLOW_2);
1500 rule__ImplicationExpression__Group__0();
1501
1502 state._fsp--;
1503
1504
1505 }
1506
1507 after(grammarAccess.getImplicationExpressionAccess().getGroup());
1508
1509 }
1510
1511
1512 }
1513
1514 }
1515 catch (RecognitionException re) {
1516 reportError(re);
1517 recover(input,re);
1518 }
1519 finally {
1520
1521 restoreStackSize(stackSize);
1522
1523 }
1524 return ;
1525 }
1526 // $ANTLR end "ruleImplicationExpression"
1527
1528
1093 // $ANTLR start "entryRuleDisjunctiveExpression" 1529 // $ANTLR start "entryRuleDisjunctiveExpression"
1094 // InternalSolverLanguageParser.g:402:1: entryRuleDisjunctiveExpression : ruleDisjunctiveExpression EOF ; 1530 // InternalSolverLanguageParser.g:539:1: entryRuleDisjunctiveExpression : ruleDisjunctiveExpression EOF ;
1095 public final void entryRuleDisjunctiveExpression() throws RecognitionException { 1531 public final void entryRuleDisjunctiveExpression() throws RecognitionException {
1096 try { 1532 try {
1097 // InternalSolverLanguageParser.g:403:1: ( ruleDisjunctiveExpression EOF ) 1533 // InternalSolverLanguageParser.g:540:1: ( ruleDisjunctiveExpression EOF )
1098 // InternalSolverLanguageParser.g:404:1: ruleDisjunctiveExpression EOF 1534 // InternalSolverLanguageParser.g:541:1: ruleDisjunctiveExpression EOF
1099 { 1535 {
1100 before(grammarAccess.getDisjunctiveExpressionRule()); 1536 before(grammarAccess.getDisjunctiveExpressionRule());
1101 pushFollow(FOLLOW_1); 1537 pushFollow(FOLLOW_1);
@@ -1121,21 +1557,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1121 1557
1122 1558
1123 // $ANTLR start "ruleDisjunctiveExpression" 1559 // $ANTLR start "ruleDisjunctiveExpression"
1124 // InternalSolverLanguageParser.g:411:1: ruleDisjunctiveExpression : ( ( rule__DisjunctiveExpression__Group__0 ) ) ; 1560 // InternalSolverLanguageParser.g:548:1: ruleDisjunctiveExpression : ( ( rule__DisjunctiveExpression__Group__0 ) ) ;
1125 public final void ruleDisjunctiveExpression() throws RecognitionException { 1561 public final void ruleDisjunctiveExpression() throws RecognitionException {
1126 1562
1127 int stackSize = keepStackSize(); 1563 int stackSize = keepStackSize();
1128 1564
1129 try { 1565 try {
1130 // InternalSolverLanguageParser.g:415:2: ( ( ( rule__DisjunctiveExpression__Group__0 ) ) ) 1566 // InternalSolverLanguageParser.g:552:2: ( ( ( rule__DisjunctiveExpression__Group__0 ) ) )
1131 // InternalSolverLanguageParser.g:416:2: ( ( rule__DisjunctiveExpression__Group__0 ) ) 1567 // InternalSolverLanguageParser.g:553:2: ( ( rule__DisjunctiveExpression__Group__0 ) )
1132 { 1568 {
1133 // InternalSolverLanguageParser.g:416:2: ( ( rule__DisjunctiveExpression__Group__0 ) ) 1569 // InternalSolverLanguageParser.g:553:2: ( ( rule__DisjunctiveExpression__Group__0 ) )
1134 // InternalSolverLanguageParser.g:417:3: ( rule__DisjunctiveExpression__Group__0 ) 1570 // InternalSolverLanguageParser.g:554:3: ( rule__DisjunctiveExpression__Group__0 )
1135 { 1571 {
1136 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); 1572 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup());
1137 // InternalSolverLanguageParser.g:418:3: ( rule__DisjunctiveExpression__Group__0 ) 1573 // InternalSolverLanguageParser.g:555:3: ( rule__DisjunctiveExpression__Group__0 )
1138 // InternalSolverLanguageParser.g:418:4: rule__DisjunctiveExpression__Group__0 1574 // InternalSolverLanguageParser.g:555:4: rule__DisjunctiveExpression__Group__0
1139 { 1575 {
1140 pushFollow(FOLLOW_2); 1576 pushFollow(FOLLOW_2);
1141 rule__DisjunctiveExpression__Group__0(); 1577 rule__DisjunctiveExpression__Group__0();
@@ -1168,11 +1604,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1168 1604
1169 1605
1170 // $ANTLR start "entryRuleCase" 1606 // $ANTLR start "entryRuleCase"
1171 // InternalSolverLanguageParser.g:427:1: entryRuleCase : ruleCase EOF ; 1607 // InternalSolverLanguageParser.g:564:1: entryRuleCase : ruleCase EOF ;
1172 public final void entryRuleCase() throws RecognitionException { 1608 public final void entryRuleCase() throws RecognitionException {
1173 try { 1609 try {
1174 // InternalSolverLanguageParser.g:428:1: ( ruleCase EOF ) 1610 // InternalSolverLanguageParser.g:565:1: ( ruleCase EOF )
1175 // InternalSolverLanguageParser.g:429:1: ruleCase EOF 1611 // InternalSolverLanguageParser.g:566:1: ruleCase EOF
1176 { 1612 {
1177 before(grammarAccess.getCaseRule()); 1613 before(grammarAccess.getCaseRule());
1178 pushFollow(FOLLOW_1); 1614 pushFollow(FOLLOW_1);
@@ -1198,21 +1634,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1198 1634
1199 1635
1200 // $ANTLR start "ruleCase" 1636 // $ANTLR start "ruleCase"
1201 // InternalSolverLanguageParser.g:436:1: ruleCase : ( ( rule__Case__Group__0 ) ) ; 1637 // InternalSolverLanguageParser.g:573:1: ruleCase : ( ( rule__Case__Group__0 ) ) ;
1202 public final void ruleCase() throws RecognitionException { 1638 public final void ruleCase() throws RecognitionException {
1203 1639
1204 int stackSize = keepStackSize(); 1640 int stackSize = keepStackSize();
1205 1641
1206 try { 1642 try {
1207 // InternalSolverLanguageParser.g:440:2: ( ( ( rule__Case__Group__0 ) ) ) 1643 // InternalSolverLanguageParser.g:577:2: ( ( ( rule__Case__Group__0 ) ) )
1208 // InternalSolverLanguageParser.g:441:2: ( ( rule__Case__Group__0 ) ) 1644 // InternalSolverLanguageParser.g:578:2: ( ( rule__Case__Group__0 ) )
1209 { 1645 {
1210 // InternalSolverLanguageParser.g:441:2: ( ( rule__Case__Group__0 ) ) 1646 // InternalSolverLanguageParser.g:578:2: ( ( rule__Case__Group__0 ) )
1211 // InternalSolverLanguageParser.g:442:3: ( rule__Case__Group__0 ) 1647 // InternalSolverLanguageParser.g:579:3: ( rule__Case__Group__0 )
1212 { 1648 {
1213 before(grammarAccess.getCaseAccess().getGroup()); 1649 before(grammarAccess.getCaseAccess().getGroup());
1214 // InternalSolverLanguageParser.g:443:3: ( rule__Case__Group__0 ) 1650 // InternalSolverLanguageParser.g:580:3: ( rule__Case__Group__0 )
1215 // InternalSolverLanguageParser.g:443:4: rule__Case__Group__0 1651 // InternalSolverLanguageParser.g:580:4: rule__Case__Group__0
1216 { 1652 {
1217 pushFollow(FOLLOW_2); 1653 pushFollow(FOLLOW_2);
1218 rule__Case__Group__0(); 1654 rule__Case__Group__0();
@@ -1245,11 +1681,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1245 1681
1246 1682
1247 // $ANTLR start "entryRuleConjunctiveExpression" 1683 // $ANTLR start "entryRuleConjunctiveExpression"
1248 // InternalSolverLanguageParser.g:452:1: entryRuleConjunctiveExpression : ruleConjunctiveExpression EOF ; 1684 // InternalSolverLanguageParser.g:589:1: entryRuleConjunctiveExpression : ruleConjunctiveExpression EOF ;
1249 public final void entryRuleConjunctiveExpression() throws RecognitionException { 1685 public final void entryRuleConjunctiveExpression() throws RecognitionException {
1250 try { 1686 try {
1251 // InternalSolverLanguageParser.g:453:1: ( ruleConjunctiveExpression EOF ) 1687 // InternalSolverLanguageParser.g:590:1: ( ruleConjunctiveExpression EOF )
1252 // InternalSolverLanguageParser.g:454:1: ruleConjunctiveExpression EOF 1688 // InternalSolverLanguageParser.g:591:1: ruleConjunctiveExpression EOF
1253 { 1689 {
1254 before(grammarAccess.getConjunctiveExpressionRule()); 1690 before(grammarAccess.getConjunctiveExpressionRule());
1255 pushFollow(FOLLOW_1); 1691 pushFollow(FOLLOW_1);
@@ -1275,21 +1711,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1275 1711
1276 1712
1277 // $ANTLR start "ruleConjunctiveExpression" 1713 // $ANTLR start "ruleConjunctiveExpression"
1278 // InternalSolverLanguageParser.g:461:1: ruleConjunctiveExpression : ( ( rule__ConjunctiveExpression__Group__0 ) ) ; 1714 // InternalSolverLanguageParser.g:598:1: ruleConjunctiveExpression : ( ( rule__ConjunctiveExpression__Group__0 ) ) ;
1279 public final void ruleConjunctiveExpression() throws RecognitionException { 1715 public final void ruleConjunctiveExpression() throws RecognitionException {
1280 1716
1281 int stackSize = keepStackSize(); 1717 int stackSize = keepStackSize();
1282 1718
1283 try { 1719 try {
1284 // InternalSolverLanguageParser.g:465:2: ( ( ( rule__ConjunctiveExpression__Group__0 ) ) ) 1720 // InternalSolverLanguageParser.g:602:2: ( ( ( rule__ConjunctiveExpression__Group__0 ) ) )
1285 // InternalSolverLanguageParser.g:466:2: ( ( rule__ConjunctiveExpression__Group__0 ) ) 1721 // InternalSolverLanguageParser.g:603:2: ( ( rule__ConjunctiveExpression__Group__0 ) )
1286 { 1722 {
1287 // InternalSolverLanguageParser.g:466:2: ( ( rule__ConjunctiveExpression__Group__0 ) ) 1723 // InternalSolverLanguageParser.g:603:2: ( ( rule__ConjunctiveExpression__Group__0 ) )
1288 // InternalSolverLanguageParser.g:467:3: ( rule__ConjunctiveExpression__Group__0 ) 1724 // InternalSolverLanguageParser.g:604:3: ( rule__ConjunctiveExpression__Group__0 )
1289 { 1725 {
1290 before(grammarAccess.getConjunctiveExpressionAccess().getGroup()); 1726 before(grammarAccess.getConjunctiveExpressionAccess().getGroup());
1291 // InternalSolverLanguageParser.g:468:3: ( rule__ConjunctiveExpression__Group__0 ) 1727 // InternalSolverLanguageParser.g:605:3: ( rule__ConjunctiveExpression__Group__0 )
1292 // InternalSolverLanguageParser.g:468:4: rule__ConjunctiveExpression__Group__0 1728 // InternalSolverLanguageParser.g:605:4: rule__ConjunctiveExpression__Group__0
1293 { 1729 {
1294 pushFollow(FOLLOW_2); 1730 pushFollow(FOLLOW_2);
1295 rule__ConjunctiveExpression__Group__0(); 1731 rule__ConjunctiveExpression__Group__0();
@@ -1322,11 +1758,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1322 1758
1323 1759
1324 // $ANTLR start "entryRuleComparisonExpression" 1760 // $ANTLR start "entryRuleComparisonExpression"
1325 // InternalSolverLanguageParser.g:477:1: entryRuleComparisonExpression : ruleComparisonExpression EOF ; 1761 // InternalSolverLanguageParser.g:614:1: entryRuleComparisonExpression : ruleComparisonExpression EOF ;
1326 public final void entryRuleComparisonExpression() throws RecognitionException { 1762 public final void entryRuleComparisonExpression() throws RecognitionException {
1327 try { 1763 try {
1328 // InternalSolverLanguageParser.g:478:1: ( ruleComparisonExpression EOF ) 1764 // InternalSolverLanguageParser.g:615:1: ( ruleComparisonExpression EOF )
1329 // InternalSolverLanguageParser.g:479:1: ruleComparisonExpression EOF 1765 // InternalSolverLanguageParser.g:616:1: ruleComparisonExpression EOF
1330 { 1766 {
1331 before(grammarAccess.getComparisonExpressionRule()); 1767 before(grammarAccess.getComparisonExpressionRule());
1332 pushFollow(FOLLOW_1); 1768 pushFollow(FOLLOW_1);
@@ -1352,21 +1788,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1352 1788
1353 1789
1354 // $ANTLR start "ruleComparisonExpression" 1790 // $ANTLR start "ruleComparisonExpression"
1355 // InternalSolverLanguageParser.g:486:1: ruleComparisonExpression : ( ( rule__ComparisonExpression__Group__0 ) ) ; 1791 // InternalSolverLanguageParser.g:623:1: ruleComparisonExpression : ( ( rule__ComparisonExpression__Group__0 ) ) ;
1356 public final void ruleComparisonExpression() throws RecognitionException { 1792 public final void ruleComparisonExpression() throws RecognitionException {
1357 1793
1358 int stackSize = keepStackSize(); 1794 int stackSize = keepStackSize();
1359 1795
1360 try { 1796 try {
1361 // InternalSolverLanguageParser.g:490:2: ( ( ( rule__ComparisonExpression__Group__0 ) ) ) 1797 // InternalSolverLanguageParser.g:627:2: ( ( ( rule__ComparisonExpression__Group__0 ) ) )
1362 // InternalSolverLanguageParser.g:491:2: ( ( rule__ComparisonExpression__Group__0 ) ) 1798 // InternalSolverLanguageParser.g:628:2: ( ( rule__ComparisonExpression__Group__0 ) )
1363 { 1799 {
1364 // InternalSolverLanguageParser.g:491:2: ( ( rule__ComparisonExpression__Group__0 ) ) 1800 // InternalSolverLanguageParser.g:628:2: ( ( rule__ComparisonExpression__Group__0 ) )
1365 // InternalSolverLanguageParser.g:492:3: ( rule__ComparisonExpression__Group__0 ) 1801 // InternalSolverLanguageParser.g:629:3: ( rule__ComparisonExpression__Group__0 )
1366 { 1802 {
1367 before(grammarAccess.getComparisonExpressionAccess().getGroup()); 1803 before(grammarAccess.getComparisonExpressionAccess().getGroup());
1368 // InternalSolverLanguageParser.g:493:3: ( rule__ComparisonExpression__Group__0 ) 1804 // InternalSolverLanguageParser.g:630:3: ( rule__ComparisonExpression__Group__0 )
1369 // InternalSolverLanguageParser.g:493:4: rule__ComparisonExpression__Group__0 1805 // InternalSolverLanguageParser.g:630:4: rule__ComparisonExpression__Group__0
1370 { 1806 {
1371 pushFollow(FOLLOW_2); 1807 pushFollow(FOLLOW_2);
1372 rule__ComparisonExpression__Group__0(); 1808 rule__ComparisonExpression__Group__0();
@@ -1399,11 +1835,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1399 1835
1400 1836
1401 // $ANTLR start "entryRuleAdditiveExpression" 1837 // $ANTLR start "entryRuleAdditiveExpression"
1402 // InternalSolverLanguageParser.g:502:1: entryRuleAdditiveExpression : ruleAdditiveExpression EOF ; 1838 // InternalSolverLanguageParser.g:639:1: entryRuleAdditiveExpression : ruleAdditiveExpression EOF ;
1403 public final void entryRuleAdditiveExpression() throws RecognitionException { 1839 public final void entryRuleAdditiveExpression() throws RecognitionException {
1404 try { 1840 try {
1405 // InternalSolverLanguageParser.g:503:1: ( ruleAdditiveExpression EOF ) 1841 // InternalSolverLanguageParser.g:640:1: ( ruleAdditiveExpression EOF )
1406 // InternalSolverLanguageParser.g:504:1: ruleAdditiveExpression EOF 1842 // InternalSolverLanguageParser.g:641:1: ruleAdditiveExpression EOF
1407 { 1843 {
1408 before(grammarAccess.getAdditiveExpressionRule()); 1844 before(grammarAccess.getAdditiveExpressionRule());
1409 pushFollow(FOLLOW_1); 1845 pushFollow(FOLLOW_1);
@@ -1429,21 +1865,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1429 1865
1430 1866
1431 // $ANTLR start "ruleAdditiveExpression" 1867 // $ANTLR start "ruleAdditiveExpression"
1432 // InternalSolverLanguageParser.g:511:1: ruleAdditiveExpression : ( ( rule__AdditiveExpression__Group__0 ) ) ; 1868 // InternalSolverLanguageParser.g:648:1: ruleAdditiveExpression : ( ( rule__AdditiveExpression__Group__0 ) ) ;
1433 public final void ruleAdditiveExpression() throws RecognitionException { 1869 public final void ruleAdditiveExpression() throws RecognitionException {
1434 1870
1435 int stackSize = keepStackSize(); 1871 int stackSize = keepStackSize();
1436 1872
1437 try { 1873 try {
1438 // InternalSolverLanguageParser.g:515:2: ( ( ( rule__AdditiveExpression__Group__0 ) ) ) 1874 // InternalSolverLanguageParser.g:652:2: ( ( ( rule__AdditiveExpression__Group__0 ) ) )
1439 // InternalSolverLanguageParser.g:516:2: ( ( rule__AdditiveExpression__Group__0 ) ) 1875 // InternalSolverLanguageParser.g:653:2: ( ( rule__AdditiveExpression__Group__0 ) )
1440 { 1876 {
1441 // InternalSolverLanguageParser.g:516:2: ( ( rule__AdditiveExpression__Group__0 ) ) 1877 // InternalSolverLanguageParser.g:653:2: ( ( rule__AdditiveExpression__Group__0 ) )
1442 // InternalSolverLanguageParser.g:517:3: ( rule__AdditiveExpression__Group__0 ) 1878 // InternalSolverLanguageParser.g:654:3: ( rule__AdditiveExpression__Group__0 )
1443 { 1879 {
1444 before(grammarAccess.getAdditiveExpressionAccess().getGroup()); 1880 before(grammarAccess.getAdditiveExpressionAccess().getGroup());
1445 // InternalSolverLanguageParser.g:518:3: ( rule__AdditiveExpression__Group__0 ) 1881 // InternalSolverLanguageParser.g:655:3: ( rule__AdditiveExpression__Group__0 )
1446 // InternalSolverLanguageParser.g:518:4: rule__AdditiveExpression__Group__0 1882 // InternalSolverLanguageParser.g:655:4: rule__AdditiveExpression__Group__0
1447 { 1883 {
1448 pushFollow(FOLLOW_2); 1884 pushFollow(FOLLOW_2);
1449 rule__AdditiveExpression__Group__0(); 1885 rule__AdditiveExpression__Group__0();
@@ -1476,11 +1912,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1476 1912
1477 1913
1478 // $ANTLR start "entryRuleMultiplicativeExpression" 1914 // $ANTLR start "entryRuleMultiplicativeExpression"
1479 // InternalSolverLanguageParser.g:527:1: entryRuleMultiplicativeExpression : ruleMultiplicativeExpression EOF ; 1915 // InternalSolverLanguageParser.g:664:1: entryRuleMultiplicativeExpression : ruleMultiplicativeExpression EOF ;
1480 public final void entryRuleMultiplicativeExpression() throws RecognitionException { 1916 public final void entryRuleMultiplicativeExpression() throws RecognitionException {
1481 try { 1917 try {
1482 // InternalSolverLanguageParser.g:528:1: ( ruleMultiplicativeExpression EOF ) 1918 // InternalSolverLanguageParser.g:665:1: ( ruleMultiplicativeExpression EOF )
1483 // InternalSolverLanguageParser.g:529:1: ruleMultiplicativeExpression EOF 1919 // InternalSolverLanguageParser.g:666:1: ruleMultiplicativeExpression EOF
1484 { 1920 {
1485 before(grammarAccess.getMultiplicativeExpressionRule()); 1921 before(grammarAccess.getMultiplicativeExpressionRule());
1486 pushFollow(FOLLOW_1); 1922 pushFollow(FOLLOW_1);
@@ -1506,21 +1942,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1506 1942
1507 1943
1508 // $ANTLR start "ruleMultiplicativeExpression" 1944 // $ANTLR start "ruleMultiplicativeExpression"
1509 // InternalSolverLanguageParser.g:536:1: ruleMultiplicativeExpression : ( ( rule__MultiplicativeExpression__Group__0 ) ) ; 1945 // InternalSolverLanguageParser.g:673:1: ruleMultiplicativeExpression : ( ( rule__MultiplicativeExpression__Group__0 ) ) ;
1510 public final void ruleMultiplicativeExpression() throws RecognitionException { 1946 public final void ruleMultiplicativeExpression() throws RecognitionException {
1511 1947
1512 int stackSize = keepStackSize(); 1948 int stackSize = keepStackSize();
1513 1949
1514 try { 1950 try {
1515 // InternalSolverLanguageParser.g:540:2: ( ( ( rule__MultiplicativeExpression__Group__0 ) ) ) 1951 // InternalSolverLanguageParser.g:677:2: ( ( ( rule__MultiplicativeExpression__Group__0 ) ) )
1516 // InternalSolverLanguageParser.g:541:2: ( ( rule__MultiplicativeExpression__Group__0 ) ) 1952 // InternalSolverLanguageParser.g:678:2: ( ( rule__MultiplicativeExpression__Group__0 ) )
1517 { 1953 {
1518 // InternalSolverLanguageParser.g:541:2: ( ( rule__MultiplicativeExpression__Group__0 ) ) 1954 // InternalSolverLanguageParser.g:678:2: ( ( rule__MultiplicativeExpression__Group__0 ) )
1519 // InternalSolverLanguageParser.g:542:3: ( rule__MultiplicativeExpression__Group__0 ) 1955 // InternalSolverLanguageParser.g:679:3: ( rule__MultiplicativeExpression__Group__0 )
1520 { 1956 {
1521 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); 1957 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup());
1522 // InternalSolverLanguageParser.g:543:3: ( rule__MultiplicativeExpression__Group__0 ) 1958 // InternalSolverLanguageParser.g:680:3: ( rule__MultiplicativeExpression__Group__0 )
1523 // InternalSolverLanguageParser.g:543:4: rule__MultiplicativeExpression__Group__0 1959 // InternalSolverLanguageParser.g:680:4: rule__MultiplicativeExpression__Group__0
1524 { 1960 {
1525 pushFollow(FOLLOW_2); 1961 pushFollow(FOLLOW_2);
1526 rule__MultiplicativeExpression__Group__0(); 1962 rule__MultiplicativeExpression__Group__0();
@@ -1553,11 +1989,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1553 1989
1554 1990
1555 // $ANTLR start "entryRuleExponentialExpression" 1991 // $ANTLR start "entryRuleExponentialExpression"
1556 // InternalSolverLanguageParser.g:552:1: entryRuleExponentialExpression : ruleExponentialExpression EOF ; 1992 // InternalSolverLanguageParser.g:689:1: entryRuleExponentialExpression : ruleExponentialExpression EOF ;
1557 public final void entryRuleExponentialExpression() throws RecognitionException { 1993 public final void entryRuleExponentialExpression() throws RecognitionException {
1558 try { 1994 try {
1559 // InternalSolverLanguageParser.g:553:1: ( ruleExponentialExpression EOF ) 1995 // InternalSolverLanguageParser.g:690:1: ( ruleExponentialExpression EOF )
1560 // InternalSolverLanguageParser.g:554:1: ruleExponentialExpression EOF 1996 // InternalSolverLanguageParser.g:691:1: ruleExponentialExpression EOF
1561 { 1997 {
1562 before(grammarAccess.getExponentialExpressionRule()); 1998 before(grammarAccess.getExponentialExpressionRule());
1563 pushFollow(FOLLOW_1); 1999 pushFollow(FOLLOW_1);
@@ -1583,21 +2019,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1583 2019
1584 2020
1585 // $ANTLR start "ruleExponentialExpression" 2021 // $ANTLR start "ruleExponentialExpression"
1586 // InternalSolverLanguageParser.g:561:1: ruleExponentialExpression : ( ( rule__ExponentialExpression__Group__0 ) ) ; 2022 // InternalSolverLanguageParser.g:698:1: ruleExponentialExpression : ( ( rule__ExponentialExpression__Group__0 ) ) ;
1587 public final void ruleExponentialExpression() throws RecognitionException { 2023 public final void ruleExponentialExpression() throws RecognitionException {
1588 2024
1589 int stackSize = keepStackSize(); 2025 int stackSize = keepStackSize();
1590 2026
1591 try { 2027 try {
1592 // InternalSolverLanguageParser.g:565:2: ( ( ( rule__ExponentialExpression__Group__0 ) ) ) 2028 // InternalSolverLanguageParser.g:702:2: ( ( ( rule__ExponentialExpression__Group__0 ) ) )
1593 // InternalSolverLanguageParser.g:566:2: ( ( rule__ExponentialExpression__Group__0 ) ) 2029 // InternalSolverLanguageParser.g:703:2: ( ( rule__ExponentialExpression__Group__0 ) )
1594 { 2030 {
1595 // InternalSolverLanguageParser.g:566:2: ( ( rule__ExponentialExpression__Group__0 ) ) 2031 // InternalSolverLanguageParser.g:703:2: ( ( rule__ExponentialExpression__Group__0 ) )
1596 // InternalSolverLanguageParser.g:567:3: ( rule__ExponentialExpression__Group__0 ) 2032 // InternalSolverLanguageParser.g:704:3: ( rule__ExponentialExpression__Group__0 )
1597 { 2033 {
1598 before(grammarAccess.getExponentialExpressionAccess().getGroup()); 2034 before(grammarAccess.getExponentialExpressionAccess().getGroup());
1599 // InternalSolverLanguageParser.g:568:3: ( rule__ExponentialExpression__Group__0 ) 2035 // InternalSolverLanguageParser.g:705:3: ( rule__ExponentialExpression__Group__0 )
1600 // InternalSolverLanguageParser.g:568:4: rule__ExponentialExpression__Group__0 2036 // InternalSolverLanguageParser.g:705:4: rule__ExponentialExpression__Group__0
1601 { 2037 {
1602 pushFollow(FOLLOW_2); 2038 pushFollow(FOLLOW_2);
1603 rule__ExponentialExpression__Group__0(); 2039 rule__ExponentialExpression__Group__0();
@@ -1629,12 +2065,89 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1629 // $ANTLR end "ruleExponentialExpression" 2065 // $ANTLR end "ruleExponentialExpression"
1630 2066
1631 2067
2068 // $ANTLR start "entryRuleCastExpression"
2069 // InternalSolverLanguageParser.g:714:1: entryRuleCastExpression : ruleCastExpression EOF ;
2070 public final void entryRuleCastExpression() throws RecognitionException {
2071 try {
2072 // InternalSolverLanguageParser.g:715:1: ( ruleCastExpression EOF )
2073 // InternalSolverLanguageParser.g:716:1: ruleCastExpression EOF
2074 {
2075 before(grammarAccess.getCastExpressionRule());
2076 pushFollow(FOLLOW_1);
2077 ruleCastExpression();
2078
2079 state._fsp--;
2080
2081 after(grammarAccess.getCastExpressionRule());
2082 match(input,EOF,FOLLOW_2);
2083
2084 }
2085
2086 }
2087 catch (RecognitionException re) {
2088 reportError(re);
2089 recover(input,re);
2090 }
2091 finally {
2092 }
2093 return ;
2094 }
2095 // $ANTLR end "entryRuleCastExpression"
2096
2097
2098 // $ANTLR start "ruleCastExpression"
2099 // InternalSolverLanguageParser.g:723:1: ruleCastExpression : ( ( rule__CastExpression__Group__0 ) ) ;
2100 public final void ruleCastExpression() throws RecognitionException {
2101
2102 int stackSize = keepStackSize();
2103
2104 try {
2105 // InternalSolverLanguageParser.g:727:2: ( ( ( rule__CastExpression__Group__0 ) ) )
2106 // InternalSolverLanguageParser.g:728:2: ( ( rule__CastExpression__Group__0 ) )
2107 {
2108 // InternalSolverLanguageParser.g:728:2: ( ( rule__CastExpression__Group__0 ) )
2109 // InternalSolverLanguageParser.g:729:3: ( rule__CastExpression__Group__0 )
2110 {
2111 before(grammarAccess.getCastExpressionAccess().getGroup());
2112 // InternalSolverLanguageParser.g:730:3: ( rule__CastExpression__Group__0 )
2113 // InternalSolverLanguageParser.g:730:4: rule__CastExpression__Group__0
2114 {
2115 pushFollow(FOLLOW_2);
2116 rule__CastExpression__Group__0();
2117
2118 state._fsp--;
2119
2120
2121 }
2122
2123 after(grammarAccess.getCastExpressionAccess().getGroup());
2124
2125 }
2126
2127
2128 }
2129
2130 }
2131 catch (RecognitionException re) {
2132 reportError(re);
2133 recover(input,re);
2134 }
2135 finally {
2136
2137 restoreStackSize(stackSize);
2138
2139 }
2140 return ;
2141 }
2142 // $ANTLR end "ruleCastExpression"
2143
2144
1632 // $ANTLR start "entryRuleUnaryExpression" 2145 // $ANTLR start "entryRuleUnaryExpression"
1633 // InternalSolverLanguageParser.g:577:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ; 2146 // InternalSolverLanguageParser.g:739:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ;
1634 public final void entryRuleUnaryExpression() throws RecognitionException { 2147 public final void entryRuleUnaryExpression() throws RecognitionException {
1635 try { 2148 try {
1636 // InternalSolverLanguageParser.g:578:1: ( ruleUnaryExpression EOF ) 2149 // InternalSolverLanguageParser.g:740:1: ( ruleUnaryExpression EOF )
1637 // InternalSolverLanguageParser.g:579:1: ruleUnaryExpression EOF 2150 // InternalSolverLanguageParser.g:741:1: ruleUnaryExpression EOF
1638 { 2151 {
1639 before(grammarAccess.getUnaryExpressionRule()); 2152 before(grammarAccess.getUnaryExpressionRule());
1640 pushFollow(FOLLOW_1); 2153 pushFollow(FOLLOW_1);
@@ -1660,21 +2173,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1660 2173
1661 2174
1662 // $ANTLR start "ruleUnaryExpression" 2175 // $ANTLR start "ruleUnaryExpression"
1663 // InternalSolverLanguageParser.g:586:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ; 2176 // InternalSolverLanguageParser.g:748:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ;
1664 public final void ruleUnaryExpression() throws RecognitionException { 2177 public final void ruleUnaryExpression() throws RecognitionException {
1665 2178
1666 int stackSize = keepStackSize(); 2179 int stackSize = keepStackSize();
1667 2180
1668 try { 2181 try {
1669 // InternalSolverLanguageParser.g:590:2: ( ( ( rule__UnaryExpression__Alternatives ) ) ) 2182 // InternalSolverLanguageParser.g:752:2: ( ( ( rule__UnaryExpression__Alternatives ) ) )
1670 // InternalSolverLanguageParser.g:591:2: ( ( rule__UnaryExpression__Alternatives ) ) 2183 // InternalSolverLanguageParser.g:753:2: ( ( rule__UnaryExpression__Alternatives ) )
1671 { 2184 {
1672 // InternalSolverLanguageParser.g:591:2: ( ( rule__UnaryExpression__Alternatives ) ) 2185 // InternalSolverLanguageParser.g:753:2: ( ( rule__UnaryExpression__Alternatives ) )
1673 // InternalSolverLanguageParser.g:592:3: ( rule__UnaryExpression__Alternatives ) 2186 // InternalSolverLanguageParser.g:754:3: ( rule__UnaryExpression__Alternatives )
1674 { 2187 {
1675 before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); 2188 before(grammarAccess.getUnaryExpressionAccess().getAlternatives());
1676 // InternalSolverLanguageParser.g:593:3: ( rule__UnaryExpression__Alternatives ) 2189 // InternalSolverLanguageParser.g:755:3: ( rule__UnaryExpression__Alternatives )
1677 // InternalSolverLanguageParser.g:593:4: rule__UnaryExpression__Alternatives 2190 // InternalSolverLanguageParser.g:755:4: rule__UnaryExpression__Alternatives
1678 { 2191 {
1679 pushFollow(FOLLOW_2); 2192 pushFollow(FOLLOW_2);
1680 rule__UnaryExpression__Alternatives(); 2193 rule__UnaryExpression__Alternatives();
@@ -1707,11 +2220,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1707 2220
1708 2221
1709 // $ANTLR start "entryRuleAggregationExpression" 2222 // $ANTLR start "entryRuleAggregationExpression"
1710 // InternalSolverLanguageParser.g:602:1: entryRuleAggregationExpression : ruleAggregationExpression EOF ; 2223 // InternalSolverLanguageParser.g:764:1: entryRuleAggregationExpression : ruleAggregationExpression EOF ;
1711 public final void entryRuleAggregationExpression() throws RecognitionException { 2224 public final void entryRuleAggregationExpression() throws RecognitionException {
1712 try { 2225 try {
1713 // InternalSolverLanguageParser.g:603:1: ( ruleAggregationExpression EOF ) 2226 // InternalSolverLanguageParser.g:765:1: ( ruleAggregationExpression EOF )
1714 // InternalSolverLanguageParser.g:604:1: ruleAggregationExpression EOF 2227 // InternalSolverLanguageParser.g:766:1: ruleAggregationExpression EOF
1715 { 2228 {
1716 before(grammarAccess.getAggregationExpressionRule()); 2229 before(grammarAccess.getAggregationExpressionRule());
1717 pushFollow(FOLLOW_1); 2230 pushFollow(FOLLOW_1);
@@ -1737,21 +2250,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1737 2250
1738 2251
1739 // $ANTLR start "ruleAggregationExpression" 2252 // $ANTLR start "ruleAggregationExpression"
1740 // InternalSolverLanguageParser.g:611:1: ruleAggregationExpression : ( ( rule__AggregationExpression__Alternatives ) ) ; 2253 // InternalSolverLanguageParser.g:773:1: ruleAggregationExpression : ( ( rule__AggregationExpression__Alternatives ) ) ;
1741 public final void ruleAggregationExpression() throws RecognitionException { 2254 public final void ruleAggregationExpression() throws RecognitionException {
1742 2255
1743 int stackSize = keepStackSize(); 2256 int stackSize = keepStackSize();
1744 2257
1745 try { 2258 try {
1746 // InternalSolverLanguageParser.g:615:2: ( ( ( rule__AggregationExpression__Alternatives ) ) ) 2259 // InternalSolverLanguageParser.g:777:2: ( ( ( rule__AggregationExpression__Alternatives ) ) )
1747 // InternalSolverLanguageParser.g:616:2: ( ( rule__AggregationExpression__Alternatives ) ) 2260 // InternalSolverLanguageParser.g:778:2: ( ( rule__AggregationExpression__Alternatives ) )
1748 { 2261 {
1749 // InternalSolverLanguageParser.g:616:2: ( ( rule__AggregationExpression__Alternatives ) ) 2262 // InternalSolverLanguageParser.g:778:2: ( ( rule__AggregationExpression__Alternatives ) )
1750 // InternalSolverLanguageParser.g:617:3: ( rule__AggregationExpression__Alternatives ) 2263 // InternalSolverLanguageParser.g:779:3: ( rule__AggregationExpression__Alternatives )
1751 { 2264 {
1752 before(grammarAccess.getAggregationExpressionAccess().getAlternatives()); 2265 before(grammarAccess.getAggregationExpressionAccess().getAlternatives());
1753 // InternalSolverLanguageParser.g:618:3: ( rule__AggregationExpression__Alternatives ) 2266 // InternalSolverLanguageParser.g:780:3: ( rule__AggregationExpression__Alternatives )
1754 // InternalSolverLanguageParser.g:618:4: rule__AggregationExpression__Alternatives 2267 // InternalSolverLanguageParser.g:780:4: rule__AggregationExpression__Alternatives
1755 { 2268 {
1756 pushFollow(FOLLOW_2); 2269 pushFollow(FOLLOW_2);
1757 rule__AggregationExpression__Alternatives(); 2270 rule__AggregationExpression__Alternatives();
@@ -1783,20 +2296,97 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1783 // $ANTLR end "ruleAggregationExpression" 2296 // $ANTLR end "ruleAggregationExpression"
1784 2297
1785 2298
1786 // $ANTLR start "entryRuleCount" 2299 // $ANTLR start "entryRuleLocalVariables"
1787 // InternalSolverLanguageParser.g:627:1: entryRuleCount : ruleCount EOF ; 2300 // InternalSolverLanguageParser.g:789:1: entryRuleLocalVariables : ruleLocalVariables EOF ;
1788 public final void entryRuleCount() throws RecognitionException { 2301 public final void entryRuleLocalVariables() throws RecognitionException {
2302 try {
2303 // InternalSolverLanguageParser.g:790:1: ( ruleLocalVariables EOF )
2304 // InternalSolverLanguageParser.g:791:1: ruleLocalVariables EOF
2305 {
2306 before(grammarAccess.getLocalVariablesRule());
2307 pushFollow(FOLLOW_1);
2308 ruleLocalVariables();
2309
2310 state._fsp--;
2311
2312 after(grammarAccess.getLocalVariablesRule());
2313 match(input,EOF,FOLLOW_2);
2314
2315 }
2316
2317 }
2318 catch (RecognitionException re) {
2319 reportError(re);
2320 recover(input,re);
2321 }
2322 finally {
2323 }
2324 return ;
2325 }
2326 // $ANTLR end "entryRuleLocalVariables"
2327
2328
2329 // $ANTLR start "ruleLocalVariables"
2330 // InternalSolverLanguageParser.g:798:1: ruleLocalVariables : ( ( rule__LocalVariables__Group__0 ) ) ;
2331 public final void ruleLocalVariables() throws RecognitionException {
2332
2333 int stackSize = keepStackSize();
2334
1789 try { 2335 try {
1790 // InternalSolverLanguageParser.g:628:1: ( ruleCount EOF ) 2336 // InternalSolverLanguageParser.g:802:2: ( ( ( rule__LocalVariables__Group__0 ) ) )
1791 // InternalSolverLanguageParser.g:629:1: ruleCount EOF 2337 // InternalSolverLanguageParser.g:803:2: ( ( rule__LocalVariables__Group__0 ) )
2338 {
2339 // InternalSolverLanguageParser.g:803:2: ( ( rule__LocalVariables__Group__0 ) )
2340 // InternalSolverLanguageParser.g:804:3: ( rule__LocalVariables__Group__0 )
1792 { 2341 {
1793 before(grammarAccess.getCountRule()); 2342 before(grammarAccess.getLocalVariablesAccess().getGroup());
2343 // InternalSolverLanguageParser.g:805:3: ( rule__LocalVariables__Group__0 )
2344 // InternalSolverLanguageParser.g:805:4: rule__LocalVariables__Group__0
2345 {
2346 pushFollow(FOLLOW_2);
2347 rule__LocalVariables__Group__0();
2348
2349 state._fsp--;
2350
2351
2352 }
2353
2354 after(grammarAccess.getLocalVariablesAccess().getGroup());
2355
2356 }
2357
2358
2359 }
2360
2361 }
2362 catch (RecognitionException re) {
2363 reportError(re);
2364 recover(input,re);
2365 }
2366 finally {
2367
2368 restoreStackSize(stackSize);
2369
2370 }
2371 return ;
2372 }
2373 // $ANTLR end "ruleLocalVariables"
2374
2375
2376 // $ANTLR start "entryRuleQuantifiedExpression"
2377 // InternalSolverLanguageParser.g:814:1: entryRuleQuantifiedExpression : ruleQuantifiedExpression EOF ;
2378 public final void entryRuleQuantifiedExpression() throws RecognitionException {
2379 try {
2380 // InternalSolverLanguageParser.g:815:1: ( ruleQuantifiedExpression EOF )
2381 // InternalSolverLanguageParser.g:816:1: ruleQuantifiedExpression EOF
2382 {
2383 before(grammarAccess.getQuantifiedExpressionRule());
1794 pushFollow(FOLLOW_1); 2384 pushFollow(FOLLOW_1);
1795 ruleCount(); 2385 ruleQuantifiedExpression();
1796 2386
1797 state._fsp--; 2387 state._fsp--;
1798 2388
1799 after(grammarAccess.getCountRule()); 2389 after(grammarAccess.getQuantifiedExpressionRule());
1800 match(input,EOF,FOLLOW_2); 2390 match(input,EOF,FOLLOW_2);
1801 2391
1802 } 2392 }
@@ -1810,35 +2400,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1810 } 2400 }
1811 return ; 2401 return ;
1812 } 2402 }
1813 // $ANTLR end "entryRuleCount" 2403 // $ANTLR end "entryRuleQuantifiedExpression"
1814 2404
1815 2405
1816 // $ANTLR start "ruleCount" 2406 // $ANTLR start "ruleQuantifiedExpression"
1817 // InternalSolverLanguageParser.g:636:1: ruleCount : ( ( rule__Count__Group__0 ) ) ; 2407 // InternalSolverLanguageParser.g:823:1: ruleQuantifiedExpression : ( ( rule__QuantifiedExpression__Group__0 ) ) ;
1818 public final void ruleCount() throws RecognitionException { 2408 public final void ruleQuantifiedExpression() throws RecognitionException {
1819 2409
1820 int stackSize = keepStackSize(); 2410 int stackSize = keepStackSize();
1821 2411
1822 try { 2412 try {
1823 // InternalSolverLanguageParser.g:640:2: ( ( ( rule__Count__Group__0 ) ) ) 2413 // InternalSolverLanguageParser.g:827:2: ( ( ( rule__QuantifiedExpression__Group__0 ) ) )
1824 // InternalSolverLanguageParser.g:641:2: ( ( rule__Count__Group__0 ) ) 2414 // InternalSolverLanguageParser.g:828:2: ( ( rule__QuantifiedExpression__Group__0 ) )
1825 { 2415 {
1826 // InternalSolverLanguageParser.g:641:2: ( ( rule__Count__Group__0 ) ) 2416 // InternalSolverLanguageParser.g:828:2: ( ( rule__QuantifiedExpression__Group__0 ) )
1827 // InternalSolverLanguageParser.g:642:3: ( rule__Count__Group__0 ) 2417 // InternalSolverLanguageParser.g:829:3: ( rule__QuantifiedExpression__Group__0 )
1828 { 2418 {
1829 before(grammarAccess.getCountAccess().getGroup()); 2419 before(grammarAccess.getQuantifiedExpressionAccess().getGroup());
1830 // InternalSolverLanguageParser.g:643:3: ( rule__Count__Group__0 ) 2420 // InternalSolverLanguageParser.g:830:3: ( rule__QuantifiedExpression__Group__0 )
1831 // InternalSolverLanguageParser.g:643:4: rule__Count__Group__0 2421 // InternalSolverLanguageParser.g:830:4: rule__QuantifiedExpression__Group__0
1832 { 2422 {
1833 pushFollow(FOLLOW_2); 2423 pushFollow(FOLLOW_2);
1834 rule__Count__Group__0(); 2424 rule__QuantifiedExpression__Group__0();
1835 2425
1836 state._fsp--; 2426 state._fsp--;
1837 2427
1838 2428
1839 } 2429 }
1840 2430
1841 after(grammarAccess.getCountAccess().getGroup()); 2431 after(grammarAccess.getQuantifiedExpressionAccess().getGroup());
1842 2432
1843 } 2433 }
1844 2434
@@ -1857,15 +2447,15 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1857 } 2447 }
1858 return ; 2448 return ;
1859 } 2449 }
1860 // $ANTLR end "ruleCount" 2450 // $ANTLR end "ruleQuantifiedExpression"
1861 2451
1862 2452
1863 // $ANTLR start "entryRuleAggregation" 2453 // $ANTLR start "entryRuleAggregation"
1864 // InternalSolverLanguageParser.g:652:1: entryRuleAggregation : ruleAggregation EOF ; 2454 // InternalSolverLanguageParser.g:839:1: entryRuleAggregation : ruleAggregation EOF ;
1865 public final void entryRuleAggregation() throws RecognitionException { 2455 public final void entryRuleAggregation() throws RecognitionException {
1866 try { 2456 try {
1867 // InternalSolverLanguageParser.g:653:1: ( ruleAggregation EOF ) 2457 // InternalSolverLanguageParser.g:840:1: ( ruleAggregation EOF )
1868 // InternalSolverLanguageParser.g:654:1: ruleAggregation EOF 2458 // InternalSolverLanguageParser.g:841:1: ruleAggregation EOF
1869 { 2459 {
1870 before(grammarAccess.getAggregationRule()); 2460 before(grammarAccess.getAggregationRule());
1871 pushFollow(FOLLOW_1); 2461 pushFollow(FOLLOW_1);
@@ -1891,21 +2481,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1891 2481
1892 2482
1893 // $ANTLR start "ruleAggregation" 2483 // $ANTLR start "ruleAggregation"
1894 // InternalSolverLanguageParser.g:661:1: ruleAggregation : ( ( rule__Aggregation__Group__0 ) ) ; 2484 // InternalSolverLanguageParser.g:848:1: ruleAggregation : ( ( rule__Aggregation__Group__0 ) ) ;
1895 public final void ruleAggregation() throws RecognitionException { 2485 public final void ruleAggregation() throws RecognitionException {
1896 2486
1897 int stackSize = keepStackSize(); 2487 int stackSize = keepStackSize();
1898 2488
1899 try { 2489 try {
1900 // InternalSolverLanguageParser.g:665:2: ( ( ( rule__Aggregation__Group__0 ) ) ) 2490 // InternalSolverLanguageParser.g:852:2: ( ( ( rule__Aggregation__Group__0 ) ) )
1901 // InternalSolverLanguageParser.g:666:2: ( ( rule__Aggregation__Group__0 ) ) 2491 // InternalSolverLanguageParser.g:853:2: ( ( rule__Aggregation__Group__0 ) )
1902 { 2492 {
1903 // InternalSolverLanguageParser.g:666:2: ( ( rule__Aggregation__Group__0 ) ) 2493 // InternalSolverLanguageParser.g:853:2: ( ( rule__Aggregation__Group__0 ) )
1904 // InternalSolverLanguageParser.g:667:3: ( rule__Aggregation__Group__0 ) 2494 // InternalSolverLanguageParser.g:854:3: ( rule__Aggregation__Group__0 )
1905 { 2495 {
1906 before(grammarAccess.getAggregationAccess().getGroup()); 2496 before(grammarAccess.getAggregationAccess().getGroup());
1907 // InternalSolverLanguageParser.g:668:3: ( rule__Aggregation__Group__0 ) 2497 // InternalSolverLanguageParser.g:855:3: ( rule__Aggregation__Group__0 )
1908 // InternalSolverLanguageParser.g:668:4: rule__Aggregation__Group__0 2498 // InternalSolverLanguageParser.g:855:4: rule__Aggregation__Group__0
1909 { 2499 {
1910 pushFollow(FOLLOW_2); 2500 pushFollow(FOLLOW_2);
1911 rule__Aggregation__Group__0(); 2501 rule__Aggregation__Group__0();
@@ -1938,11 +2528,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1938 2528
1939 2529
1940 // $ANTLR start "entryRuleAtomicExpression" 2530 // $ANTLR start "entryRuleAtomicExpression"
1941 // InternalSolverLanguageParser.g:677:1: entryRuleAtomicExpression : ruleAtomicExpression EOF ; 2531 // InternalSolverLanguageParser.g:864:1: entryRuleAtomicExpression : ruleAtomicExpression EOF ;
1942 public final void entryRuleAtomicExpression() throws RecognitionException { 2532 public final void entryRuleAtomicExpression() throws RecognitionException {
1943 try { 2533 try {
1944 // InternalSolverLanguageParser.g:678:1: ( ruleAtomicExpression EOF ) 2534 // InternalSolverLanguageParser.g:865:1: ( ruleAtomicExpression EOF )
1945 // InternalSolverLanguageParser.g:679:1: ruleAtomicExpression EOF 2535 // InternalSolverLanguageParser.g:866:1: ruleAtomicExpression EOF
1946 { 2536 {
1947 before(grammarAccess.getAtomicExpressionRule()); 2537 before(grammarAccess.getAtomicExpressionRule());
1948 pushFollow(FOLLOW_1); 2538 pushFollow(FOLLOW_1);
@@ -1968,21 +2558,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1968 2558
1969 2559
1970 // $ANTLR start "ruleAtomicExpression" 2560 // $ANTLR start "ruleAtomicExpression"
1971 // InternalSolverLanguageParser.g:686:1: ruleAtomicExpression : ( ( rule__AtomicExpression__Alternatives ) ) ; 2561 // InternalSolverLanguageParser.g:873:1: ruleAtomicExpression : ( ( rule__AtomicExpression__Alternatives ) ) ;
1972 public final void ruleAtomicExpression() throws RecognitionException { 2562 public final void ruleAtomicExpression() throws RecognitionException {
1973 2563
1974 int stackSize = keepStackSize(); 2564 int stackSize = keepStackSize();
1975 2565
1976 try { 2566 try {
1977 // InternalSolverLanguageParser.g:690:2: ( ( ( rule__AtomicExpression__Alternatives ) ) ) 2567 // InternalSolverLanguageParser.g:877:2: ( ( ( rule__AtomicExpression__Alternatives ) ) )
1978 // InternalSolverLanguageParser.g:691:2: ( ( rule__AtomicExpression__Alternatives ) ) 2568 // InternalSolverLanguageParser.g:878:2: ( ( rule__AtomicExpression__Alternatives ) )
1979 { 2569 {
1980 // InternalSolverLanguageParser.g:691:2: ( ( rule__AtomicExpression__Alternatives ) ) 2570 // InternalSolverLanguageParser.g:878:2: ( ( rule__AtomicExpression__Alternatives ) )
1981 // InternalSolverLanguageParser.g:692:3: ( rule__AtomicExpression__Alternatives ) 2571 // InternalSolverLanguageParser.g:879:3: ( rule__AtomicExpression__Alternatives )
1982 { 2572 {
1983 before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); 2573 before(grammarAccess.getAtomicExpressionAccess().getAlternatives());
1984 // InternalSolverLanguageParser.g:693:3: ( rule__AtomicExpression__Alternatives ) 2574 // InternalSolverLanguageParser.g:880:3: ( rule__AtomicExpression__Alternatives )
1985 // InternalSolverLanguageParser.g:693:4: rule__AtomicExpression__Alternatives 2575 // InternalSolverLanguageParser.g:880:4: rule__AtomicExpression__Alternatives
1986 { 2576 {
1987 pushFollow(FOLLOW_2); 2577 pushFollow(FOLLOW_2);
1988 rule__AtomicExpression__Alternatives(); 2578 rule__AtomicExpression__Alternatives();
@@ -2015,11 +2605,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2015 2605
2016 2606
2017 // $ANTLR start "entryRuleCall" 2607 // $ANTLR start "entryRuleCall"
2018 // InternalSolverLanguageParser.g:702:1: entryRuleCall : ruleCall EOF ; 2608 // InternalSolverLanguageParser.g:889:1: entryRuleCall : ruleCall EOF ;
2019 public final void entryRuleCall() throws RecognitionException { 2609 public final void entryRuleCall() throws RecognitionException {
2020 try { 2610 try {
2021 // InternalSolverLanguageParser.g:703:1: ( ruleCall EOF ) 2611 // InternalSolverLanguageParser.g:890:1: ( ruleCall EOF )
2022 // InternalSolverLanguageParser.g:704:1: ruleCall EOF 2612 // InternalSolverLanguageParser.g:891:1: ruleCall EOF
2023 { 2613 {
2024 before(grammarAccess.getCallRule()); 2614 before(grammarAccess.getCallRule());
2025 pushFollow(FOLLOW_1); 2615 pushFollow(FOLLOW_1);
@@ -2045,21 +2635,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2045 2635
2046 2636
2047 // $ANTLR start "ruleCall" 2637 // $ANTLR start "ruleCall"
2048 // InternalSolverLanguageParser.g:711:1: ruleCall : ( ( rule__Call__Group__0 ) ) ; 2638 // InternalSolverLanguageParser.g:898:1: ruleCall : ( ( rule__Call__Group__0 ) ) ;
2049 public final void ruleCall() throws RecognitionException { 2639 public final void ruleCall() throws RecognitionException {
2050 2640
2051 int stackSize = keepStackSize(); 2641 int stackSize = keepStackSize();
2052 2642
2053 try { 2643 try {
2054 // InternalSolverLanguageParser.g:715:2: ( ( ( rule__Call__Group__0 ) ) ) 2644 // InternalSolverLanguageParser.g:902:2: ( ( ( rule__Call__Group__0 ) ) )
2055 // InternalSolverLanguageParser.g:716:2: ( ( rule__Call__Group__0 ) ) 2645 // InternalSolverLanguageParser.g:903:2: ( ( rule__Call__Group__0 ) )
2056 { 2646 {
2057 // InternalSolverLanguageParser.g:716:2: ( ( rule__Call__Group__0 ) ) 2647 // InternalSolverLanguageParser.g:903:2: ( ( rule__Call__Group__0 ) )
2058 // InternalSolverLanguageParser.g:717:3: ( rule__Call__Group__0 ) 2648 // InternalSolverLanguageParser.g:904:3: ( rule__Call__Group__0 )
2059 { 2649 {
2060 before(grammarAccess.getCallAccess().getGroup()); 2650 before(grammarAccess.getCallAccess().getGroup());
2061 // InternalSolverLanguageParser.g:718:3: ( rule__Call__Group__0 ) 2651 // InternalSolverLanguageParser.g:905:3: ( rule__Call__Group__0 )
2062 // InternalSolverLanguageParser.g:718:4: rule__Call__Group__0 2652 // InternalSolverLanguageParser.g:905:4: rule__Call__Group__0
2063 { 2653 {
2064 pushFollow(FOLLOW_2); 2654 pushFollow(FOLLOW_2);
2065 rule__Call__Group__0(); 2655 rule__Call__Group__0();
@@ -2092,11 +2682,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2092 2682
2093 2683
2094 // $ANTLR start "entryRuleArgumentList" 2684 // $ANTLR start "entryRuleArgumentList"
2095 // InternalSolverLanguageParser.g:727:1: entryRuleArgumentList : ruleArgumentList EOF ; 2685 // InternalSolverLanguageParser.g:914:1: entryRuleArgumentList : ruleArgumentList EOF ;
2096 public final void entryRuleArgumentList() throws RecognitionException { 2686 public final void entryRuleArgumentList() throws RecognitionException {
2097 try { 2687 try {
2098 // InternalSolverLanguageParser.g:728:1: ( ruleArgumentList EOF ) 2688 // InternalSolverLanguageParser.g:915:1: ( ruleArgumentList EOF )
2099 // InternalSolverLanguageParser.g:729:1: ruleArgumentList EOF 2689 // InternalSolverLanguageParser.g:916:1: ruleArgumentList EOF
2100 { 2690 {
2101 before(grammarAccess.getArgumentListRule()); 2691 before(grammarAccess.getArgumentListRule());
2102 pushFollow(FOLLOW_1); 2692 pushFollow(FOLLOW_1);
@@ -2122,21 +2712,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2122 2712
2123 2713
2124 // $ANTLR start "ruleArgumentList" 2714 // $ANTLR start "ruleArgumentList"
2125 // InternalSolverLanguageParser.g:736:1: ruleArgumentList : ( ( rule__ArgumentList__Group__0 ) ) ; 2715 // InternalSolverLanguageParser.g:923:1: ruleArgumentList : ( ( rule__ArgumentList__Group__0 ) ) ;
2126 public final void ruleArgumentList() throws RecognitionException { 2716 public final void ruleArgumentList() throws RecognitionException {
2127 2717
2128 int stackSize = keepStackSize(); 2718 int stackSize = keepStackSize();
2129 2719
2130 try { 2720 try {
2131 // InternalSolverLanguageParser.g:740:2: ( ( ( rule__ArgumentList__Group__0 ) ) ) 2721 // InternalSolverLanguageParser.g:927:2: ( ( ( rule__ArgumentList__Group__0 ) ) )
2132 // InternalSolverLanguageParser.g:741:2: ( ( rule__ArgumentList__Group__0 ) ) 2722 // InternalSolverLanguageParser.g:928:2: ( ( rule__ArgumentList__Group__0 ) )
2133 { 2723 {
2134 // InternalSolverLanguageParser.g:741:2: ( ( rule__ArgumentList__Group__0 ) ) 2724 // InternalSolverLanguageParser.g:928:2: ( ( rule__ArgumentList__Group__0 ) )
2135 // InternalSolverLanguageParser.g:742:3: ( rule__ArgumentList__Group__0 ) 2725 // InternalSolverLanguageParser.g:929:3: ( rule__ArgumentList__Group__0 )
2136 { 2726 {
2137 before(grammarAccess.getArgumentListAccess().getGroup()); 2727 before(grammarAccess.getArgumentListAccess().getGroup());
2138 // InternalSolverLanguageParser.g:743:3: ( rule__ArgumentList__Group__0 ) 2728 // InternalSolverLanguageParser.g:930:3: ( rule__ArgumentList__Group__0 )
2139 // InternalSolverLanguageParser.g:743:4: rule__ArgumentList__Group__0 2729 // InternalSolverLanguageParser.g:930:4: rule__ArgumentList__Group__0
2140 { 2730 {
2141 pushFollow(FOLLOW_2); 2731 pushFollow(FOLLOW_2);
2142 rule__ArgumentList__Group__0(); 2732 rule__ArgumentList__Group__0();
@@ -2169,11 +2759,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2169 2759
2170 2760
2171 // $ANTLR start "entryRuleArgument" 2761 // $ANTLR start "entryRuleArgument"
2172 // InternalSolverLanguageParser.g:752:1: entryRuleArgument : ruleArgument EOF ; 2762 // InternalSolverLanguageParser.g:939:1: entryRuleArgument : ruleArgument EOF ;
2173 public final void entryRuleArgument() throws RecognitionException { 2763 public final void entryRuleArgument() throws RecognitionException {
2174 try { 2764 try {
2175 // InternalSolverLanguageParser.g:753:1: ( ruleArgument EOF ) 2765 // InternalSolverLanguageParser.g:940:1: ( ruleArgument EOF )
2176 // InternalSolverLanguageParser.g:754:1: ruleArgument EOF 2766 // InternalSolverLanguageParser.g:941:1: ruleArgument EOF
2177 { 2767 {
2178 before(grammarAccess.getArgumentRule()); 2768 before(grammarAccess.getArgumentRule());
2179 pushFollow(FOLLOW_1); 2769 pushFollow(FOLLOW_1);
@@ -2199,21 +2789,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2199 2789
2200 2790
2201 // $ANTLR start "ruleArgument" 2791 // $ANTLR start "ruleArgument"
2202 // InternalSolverLanguageParser.g:761:1: ruleArgument : ( ( rule__Argument__Alternatives ) ) ; 2792 // InternalSolverLanguageParser.g:948:1: ruleArgument : ( ( rule__Argument__Alternatives ) ) ;
2203 public final void ruleArgument() throws RecognitionException { 2793 public final void ruleArgument() throws RecognitionException {
2204 2794
2205 int stackSize = keepStackSize(); 2795 int stackSize = keepStackSize();
2206 2796
2207 try { 2797 try {
2208 // InternalSolverLanguageParser.g:765:2: ( ( ( rule__Argument__Alternatives ) ) ) 2798 // InternalSolverLanguageParser.g:952:2: ( ( ( rule__Argument__Alternatives ) ) )
2209 // InternalSolverLanguageParser.g:766:2: ( ( rule__Argument__Alternatives ) ) 2799 // InternalSolverLanguageParser.g:953:2: ( ( rule__Argument__Alternatives ) )
2210 { 2800 {
2211 // InternalSolverLanguageParser.g:766:2: ( ( rule__Argument__Alternatives ) ) 2801 // InternalSolverLanguageParser.g:953:2: ( ( rule__Argument__Alternatives ) )
2212 // InternalSolverLanguageParser.g:767:3: ( rule__Argument__Alternatives ) 2802 // InternalSolverLanguageParser.g:954:3: ( rule__Argument__Alternatives )
2213 { 2803 {
2214 before(grammarAccess.getArgumentAccess().getAlternatives()); 2804 before(grammarAccess.getArgumentAccess().getAlternatives());
2215 // InternalSolverLanguageParser.g:768:3: ( rule__Argument__Alternatives ) 2805 // InternalSolverLanguageParser.g:955:3: ( rule__Argument__Alternatives )
2216 // InternalSolverLanguageParser.g:768:4: rule__Argument__Alternatives 2806 // InternalSolverLanguageParser.g:955:4: rule__Argument__Alternatives
2217 { 2807 {
2218 pushFollow(FOLLOW_2); 2808 pushFollow(FOLLOW_2);
2219 rule__Argument__Alternatives(); 2809 rule__Argument__Alternatives();
@@ -2246,11 +2836,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2246 2836
2247 2837
2248 // $ANTLR start "entryRuleExpressionArgument" 2838 // $ANTLR start "entryRuleExpressionArgument"
2249 // InternalSolverLanguageParser.g:777:1: entryRuleExpressionArgument : ruleExpressionArgument EOF ; 2839 // InternalSolverLanguageParser.g:964:1: entryRuleExpressionArgument : ruleExpressionArgument EOF ;
2250 public final void entryRuleExpressionArgument() throws RecognitionException { 2840 public final void entryRuleExpressionArgument() throws RecognitionException {
2251 try { 2841 try {
2252 // InternalSolverLanguageParser.g:778:1: ( ruleExpressionArgument EOF ) 2842 // InternalSolverLanguageParser.g:965:1: ( ruleExpressionArgument EOF )
2253 // InternalSolverLanguageParser.g:779:1: ruleExpressionArgument EOF 2843 // InternalSolverLanguageParser.g:966:1: ruleExpressionArgument EOF
2254 { 2844 {
2255 before(grammarAccess.getExpressionArgumentRule()); 2845 before(grammarAccess.getExpressionArgumentRule());
2256 pushFollow(FOLLOW_1); 2846 pushFollow(FOLLOW_1);
@@ -2276,21 +2866,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2276 2866
2277 2867
2278 // $ANTLR start "ruleExpressionArgument" 2868 // $ANTLR start "ruleExpressionArgument"
2279 // InternalSolverLanguageParser.g:786:1: ruleExpressionArgument : ( ( rule__ExpressionArgument__BodyAssignment ) ) ; 2869 // InternalSolverLanguageParser.g:973:1: ruleExpressionArgument : ( ( rule__ExpressionArgument__BodyAssignment ) ) ;
2280 public final void ruleExpressionArgument() throws RecognitionException { 2870 public final void ruleExpressionArgument() throws RecognitionException {
2281 2871
2282 int stackSize = keepStackSize(); 2872 int stackSize = keepStackSize();
2283 2873
2284 try { 2874 try {
2285 // InternalSolverLanguageParser.g:790:2: ( ( ( rule__ExpressionArgument__BodyAssignment ) ) ) 2875 // InternalSolverLanguageParser.g:977:2: ( ( ( rule__ExpressionArgument__BodyAssignment ) ) )
2286 // InternalSolverLanguageParser.g:791:2: ( ( rule__ExpressionArgument__BodyAssignment ) ) 2876 // InternalSolverLanguageParser.g:978:2: ( ( rule__ExpressionArgument__BodyAssignment ) )
2287 { 2877 {
2288 // InternalSolverLanguageParser.g:791:2: ( ( rule__ExpressionArgument__BodyAssignment ) ) 2878 // InternalSolverLanguageParser.g:978:2: ( ( rule__ExpressionArgument__BodyAssignment ) )
2289 // InternalSolverLanguageParser.g:792:3: ( rule__ExpressionArgument__BodyAssignment ) 2879 // InternalSolverLanguageParser.g:979:3: ( rule__ExpressionArgument__BodyAssignment )
2290 { 2880 {
2291 before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); 2881 before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment());
2292 // InternalSolverLanguageParser.g:793:3: ( rule__ExpressionArgument__BodyAssignment ) 2882 // InternalSolverLanguageParser.g:980:3: ( rule__ExpressionArgument__BodyAssignment )
2293 // InternalSolverLanguageParser.g:793:4: rule__ExpressionArgument__BodyAssignment 2883 // InternalSolverLanguageParser.g:980:4: rule__ExpressionArgument__BodyAssignment
2294 { 2884 {
2295 pushFollow(FOLLOW_2); 2885 pushFollow(FOLLOW_2);
2296 rule__ExpressionArgument__BodyAssignment(); 2886 rule__ExpressionArgument__BodyAssignment();
@@ -2323,11 +2913,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2323 2913
2324 2914
2325 // $ANTLR start "entryRuleStarArgument" 2915 // $ANTLR start "entryRuleStarArgument"
2326 // InternalSolverLanguageParser.g:802:1: entryRuleStarArgument : ruleStarArgument EOF ; 2916 // InternalSolverLanguageParser.g:989:1: entryRuleStarArgument : ruleStarArgument EOF ;
2327 public final void entryRuleStarArgument() throws RecognitionException { 2917 public final void entryRuleStarArgument() throws RecognitionException {
2328 try { 2918 try {
2329 // InternalSolverLanguageParser.g:803:1: ( ruleStarArgument EOF ) 2919 // InternalSolverLanguageParser.g:990:1: ( ruleStarArgument EOF )
2330 // InternalSolverLanguageParser.g:804:1: ruleStarArgument EOF 2920 // InternalSolverLanguageParser.g:991:1: ruleStarArgument EOF
2331 { 2921 {
2332 before(grammarAccess.getStarArgumentRule()); 2922 before(grammarAccess.getStarArgumentRule());
2333 pushFollow(FOLLOW_1); 2923 pushFollow(FOLLOW_1);
@@ -2353,21 +2943,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2353 2943
2354 2944
2355 // $ANTLR start "ruleStarArgument" 2945 // $ANTLR start "ruleStarArgument"
2356 // InternalSolverLanguageParser.g:811:1: ruleStarArgument : ( ( rule__StarArgument__Group__0 ) ) ; 2946 // InternalSolverLanguageParser.g:998:1: ruleStarArgument : ( ( rule__StarArgument__Group__0 ) ) ;
2357 public final void ruleStarArgument() throws RecognitionException { 2947 public final void ruleStarArgument() throws RecognitionException {
2358 2948
2359 int stackSize = keepStackSize(); 2949 int stackSize = keepStackSize();
2360 2950
2361 try { 2951 try {
2362 // InternalSolverLanguageParser.g:815:2: ( ( ( rule__StarArgument__Group__0 ) ) ) 2952 // InternalSolverLanguageParser.g:1002:2: ( ( ( rule__StarArgument__Group__0 ) ) )
2363 // InternalSolverLanguageParser.g:816:2: ( ( rule__StarArgument__Group__0 ) ) 2953 // InternalSolverLanguageParser.g:1003:2: ( ( rule__StarArgument__Group__0 ) )
2364 { 2954 {
2365 // InternalSolverLanguageParser.g:816:2: ( ( rule__StarArgument__Group__0 ) ) 2955 // InternalSolverLanguageParser.g:1003:2: ( ( rule__StarArgument__Group__0 ) )
2366 // InternalSolverLanguageParser.g:817:3: ( rule__StarArgument__Group__0 ) 2956 // InternalSolverLanguageParser.g:1004:3: ( rule__StarArgument__Group__0 )
2367 { 2957 {
2368 before(grammarAccess.getStarArgumentAccess().getGroup()); 2958 before(grammarAccess.getStarArgumentAccess().getGroup());
2369 // InternalSolverLanguageParser.g:818:3: ( rule__StarArgument__Group__0 ) 2959 // InternalSolverLanguageParser.g:1005:3: ( rule__StarArgument__Group__0 )
2370 // InternalSolverLanguageParser.g:818:4: rule__StarArgument__Group__0 2960 // InternalSolverLanguageParser.g:1005:4: rule__StarArgument__Group__0
2371 { 2961 {
2372 pushFollow(FOLLOW_2); 2962 pushFollow(FOLLOW_2);
2373 rule__StarArgument__Group__0(); 2963 rule__StarArgument__Group__0();
@@ -2400,11 +2990,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2400 2990
2401 2991
2402 // $ANTLR start "entryRuleTypedArgument" 2992 // $ANTLR start "entryRuleTypedArgument"
2403 // InternalSolverLanguageParser.g:827:1: entryRuleTypedArgument : ruleTypedArgument EOF ; 2993 // InternalSolverLanguageParser.g:1014:1: entryRuleTypedArgument : ruleTypedArgument EOF ;
2404 public final void entryRuleTypedArgument() throws RecognitionException { 2994 public final void entryRuleTypedArgument() throws RecognitionException {
2405 try { 2995 try {
2406 // InternalSolverLanguageParser.g:828:1: ( ruleTypedArgument EOF ) 2996 // InternalSolverLanguageParser.g:1015:1: ( ruleTypedArgument EOF )
2407 // InternalSolverLanguageParser.g:829:1: ruleTypedArgument EOF 2997 // InternalSolverLanguageParser.g:1016:1: ruleTypedArgument EOF
2408 { 2998 {
2409 before(grammarAccess.getTypedArgumentRule()); 2999 before(grammarAccess.getTypedArgumentRule());
2410 pushFollow(FOLLOW_1); 3000 pushFollow(FOLLOW_1);
@@ -2430,21 +3020,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2430 3020
2431 3021
2432 // $ANTLR start "ruleTypedArgument" 3022 // $ANTLR start "ruleTypedArgument"
2433 // InternalSolverLanguageParser.g:836:1: ruleTypedArgument : ( ( rule__TypedArgument__Group__0 ) ) ; 3023 // InternalSolverLanguageParser.g:1023:1: ruleTypedArgument : ( ( rule__TypedArgument__Group__0 ) ) ;
2434 public final void ruleTypedArgument() throws RecognitionException { 3024 public final void ruleTypedArgument() throws RecognitionException {
2435 3025
2436 int stackSize = keepStackSize(); 3026 int stackSize = keepStackSize();
2437 3027
2438 try { 3028 try {
2439 // InternalSolverLanguageParser.g:840:2: ( ( ( rule__TypedArgument__Group__0 ) ) ) 3029 // InternalSolverLanguageParser.g:1027:2: ( ( ( rule__TypedArgument__Group__0 ) ) )
2440 // InternalSolverLanguageParser.g:841:2: ( ( rule__TypedArgument__Group__0 ) ) 3030 // InternalSolverLanguageParser.g:1028:2: ( ( rule__TypedArgument__Group__0 ) )
2441 { 3031 {
2442 // InternalSolverLanguageParser.g:841:2: ( ( rule__TypedArgument__Group__0 ) ) 3032 // InternalSolverLanguageParser.g:1028:2: ( ( rule__TypedArgument__Group__0 ) )
2443 // InternalSolverLanguageParser.g:842:3: ( rule__TypedArgument__Group__0 ) 3033 // InternalSolverLanguageParser.g:1029:3: ( rule__TypedArgument__Group__0 )
2444 { 3034 {
2445 before(grammarAccess.getTypedArgumentAccess().getGroup()); 3035 before(grammarAccess.getTypedArgumentAccess().getGroup());
2446 // InternalSolverLanguageParser.g:843:3: ( rule__TypedArgument__Group__0 ) 3036 // InternalSolverLanguageParser.g:1030:3: ( rule__TypedArgument__Group__0 )
2447 // InternalSolverLanguageParser.g:843:4: rule__TypedArgument__Group__0 3037 // InternalSolverLanguageParser.g:1030:4: rule__TypedArgument__Group__0
2448 { 3038 {
2449 pushFollow(FOLLOW_2); 3039 pushFollow(FOLLOW_2);
2450 rule__TypedArgument__Group__0(); 3040 rule__TypedArgument__Group__0();
@@ -2477,11 +3067,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2477 3067
2478 3068
2479 // $ANTLR start "entryRuleTypedStarArgument" 3069 // $ANTLR start "entryRuleTypedStarArgument"
2480 // InternalSolverLanguageParser.g:852:1: entryRuleTypedStarArgument : ruleTypedStarArgument EOF ; 3070 // InternalSolverLanguageParser.g:1039:1: entryRuleTypedStarArgument : ruleTypedStarArgument EOF ;
2481 public final void entryRuleTypedStarArgument() throws RecognitionException { 3071 public final void entryRuleTypedStarArgument() throws RecognitionException {
2482 try { 3072 try {
2483 // InternalSolverLanguageParser.g:853:1: ( ruleTypedStarArgument EOF ) 3073 // InternalSolverLanguageParser.g:1040:1: ( ruleTypedStarArgument EOF )
2484 // InternalSolverLanguageParser.g:854:1: ruleTypedStarArgument EOF 3074 // InternalSolverLanguageParser.g:1041:1: ruleTypedStarArgument EOF
2485 { 3075 {
2486 before(grammarAccess.getTypedStarArgumentRule()); 3076 before(grammarAccess.getTypedStarArgumentRule());
2487 pushFollow(FOLLOW_1); 3077 pushFollow(FOLLOW_1);
@@ -2507,21 +3097,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2507 3097
2508 3098
2509 // $ANTLR start "ruleTypedStarArgument" 3099 // $ANTLR start "ruleTypedStarArgument"
2510 // InternalSolverLanguageParser.g:861:1: ruleTypedStarArgument : ( ( rule__TypedStarArgument__Group__0 ) ) ; 3100 // InternalSolverLanguageParser.g:1048:1: ruleTypedStarArgument : ( ( rule__TypedStarArgument__Group__0 ) ) ;
2511 public final void ruleTypedStarArgument() throws RecognitionException { 3101 public final void ruleTypedStarArgument() throws RecognitionException {
2512 3102
2513 int stackSize = keepStackSize(); 3103 int stackSize = keepStackSize();
2514 3104
2515 try { 3105 try {
2516 // InternalSolverLanguageParser.g:865:2: ( ( ( rule__TypedStarArgument__Group__0 ) ) ) 3106 // InternalSolverLanguageParser.g:1052:2: ( ( ( rule__TypedStarArgument__Group__0 ) ) )
2517 // InternalSolverLanguageParser.g:866:2: ( ( rule__TypedStarArgument__Group__0 ) ) 3107 // InternalSolverLanguageParser.g:1053:2: ( ( rule__TypedStarArgument__Group__0 ) )
2518 { 3108 {
2519 // InternalSolverLanguageParser.g:866:2: ( ( rule__TypedStarArgument__Group__0 ) ) 3109 // InternalSolverLanguageParser.g:1053:2: ( ( rule__TypedStarArgument__Group__0 ) )
2520 // InternalSolverLanguageParser.g:867:3: ( rule__TypedStarArgument__Group__0 ) 3110 // InternalSolverLanguageParser.g:1054:3: ( rule__TypedStarArgument__Group__0 )
2521 { 3111 {
2522 before(grammarAccess.getTypedStarArgumentAccess().getGroup()); 3112 before(grammarAccess.getTypedStarArgumentAccess().getGroup());
2523 // InternalSolverLanguageParser.g:868:3: ( rule__TypedStarArgument__Group__0 ) 3113 // InternalSolverLanguageParser.g:1055:3: ( rule__TypedStarArgument__Group__0 )
2524 // InternalSolverLanguageParser.g:868:4: rule__TypedStarArgument__Group__0 3114 // InternalSolverLanguageParser.g:1055:4: rule__TypedStarArgument__Group__0
2525 { 3115 {
2526 pushFollow(FOLLOW_2); 3116 pushFollow(FOLLOW_2);
2527 rule__TypedStarArgument__Group__0(); 3117 rule__TypedStarArgument__Group__0();
@@ -2554,11 +3144,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2554 3144
2555 3145
2556 // $ANTLR start "entryRuleReference" 3146 // $ANTLR start "entryRuleReference"
2557 // InternalSolverLanguageParser.g:877:1: entryRuleReference : ruleReference EOF ; 3147 // InternalSolverLanguageParser.g:1064:1: entryRuleReference : ruleReference EOF ;
2558 public final void entryRuleReference() throws RecognitionException { 3148 public final void entryRuleReference() throws RecognitionException {
2559 try { 3149 try {
2560 // InternalSolverLanguageParser.g:878:1: ( ruleReference EOF ) 3150 // InternalSolverLanguageParser.g:1065:1: ( ruleReference EOF )
2561 // InternalSolverLanguageParser.g:879:1: ruleReference EOF 3151 // InternalSolverLanguageParser.g:1066:1: ruleReference EOF
2562 { 3152 {
2563 before(grammarAccess.getReferenceRule()); 3153 before(grammarAccess.getReferenceRule());
2564 pushFollow(FOLLOW_1); 3154 pushFollow(FOLLOW_1);
@@ -2584,21 +3174,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2584 3174
2585 3175
2586 // $ANTLR start "ruleReference" 3176 // $ANTLR start "ruleReference"
2587 // InternalSolverLanguageParser.g:886:1: ruleReference : ( ( rule__Reference__ReferredAssignment ) ) ; 3177 // InternalSolverLanguageParser.g:1073:1: ruleReference : ( ( rule__Reference__ReferredAssignment ) ) ;
2588 public final void ruleReference() throws RecognitionException { 3178 public final void ruleReference() throws RecognitionException {
2589 3179
2590 int stackSize = keepStackSize(); 3180 int stackSize = keepStackSize();
2591 3181
2592 try { 3182 try {
2593 // InternalSolverLanguageParser.g:890:2: ( ( ( rule__Reference__ReferredAssignment ) ) ) 3183 // InternalSolverLanguageParser.g:1077:2: ( ( ( rule__Reference__ReferredAssignment ) ) )
2594 // InternalSolverLanguageParser.g:891:2: ( ( rule__Reference__ReferredAssignment ) ) 3184 // InternalSolverLanguageParser.g:1078:2: ( ( rule__Reference__ReferredAssignment ) )
2595 { 3185 {
2596 // InternalSolverLanguageParser.g:891:2: ( ( rule__Reference__ReferredAssignment ) ) 3186 // InternalSolverLanguageParser.g:1078:2: ( ( rule__Reference__ReferredAssignment ) )
2597 // InternalSolverLanguageParser.g:892:3: ( rule__Reference__ReferredAssignment ) 3187 // InternalSolverLanguageParser.g:1079:3: ( rule__Reference__ReferredAssignment )
2598 { 3188 {
2599 before(grammarAccess.getReferenceAccess().getReferredAssignment()); 3189 before(grammarAccess.getReferenceAccess().getReferredAssignment());
2600 // InternalSolverLanguageParser.g:893:3: ( rule__Reference__ReferredAssignment ) 3190 // InternalSolverLanguageParser.g:1080:3: ( rule__Reference__ReferredAssignment )
2601 // InternalSolverLanguageParser.g:893:4: rule__Reference__ReferredAssignment 3191 // InternalSolverLanguageParser.g:1080:4: rule__Reference__ReferredAssignment
2602 { 3192 {
2603 pushFollow(FOLLOW_2); 3193 pushFollow(FOLLOW_2);
2604 rule__Reference__ReferredAssignment(); 3194 rule__Reference__ReferredAssignment();
@@ -2631,11 +3221,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2631 3221
2632 3222
2633 // $ANTLR start "entryRuleInterval" 3223 // $ANTLR start "entryRuleInterval"
2634 // InternalSolverLanguageParser.g:902:1: entryRuleInterval : ruleInterval EOF ; 3224 // InternalSolverLanguageParser.g:1089:1: entryRuleInterval : ruleInterval EOF ;
2635 public final void entryRuleInterval() throws RecognitionException { 3225 public final void entryRuleInterval() throws RecognitionException {
2636 try { 3226 try {
2637 // InternalSolverLanguageParser.g:903:1: ( ruleInterval EOF ) 3227 // InternalSolverLanguageParser.g:1090:1: ( ruleInterval EOF )
2638 // InternalSolverLanguageParser.g:904:1: ruleInterval EOF 3228 // InternalSolverLanguageParser.g:1091:1: ruleInterval EOF
2639 { 3229 {
2640 before(grammarAccess.getIntervalRule()); 3230 before(grammarAccess.getIntervalRule());
2641 pushFollow(FOLLOW_1); 3231 pushFollow(FOLLOW_1);
@@ -2661,21 +3251,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2661 3251
2662 3252
2663 // $ANTLR start "ruleInterval" 3253 // $ANTLR start "ruleInterval"
2664 // InternalSolverLanguageParser.g:911:1: ruleInterval : ( ( rule__Interval__Group__0 ) ) ; 3254 // InternalSolverLanguageParser.g:1098:1: ruleInterval : ( ( rule__Interval__Group__0 ) ) ;
2665 public final void ruleInterval() throws RecognitionException { 3255 public final void ruleInterval() throws RecognitionException {
2666 3256
2667 int stackSize = keepStackSize(); 3257 int stackSize = keepStackSize();
2668 3258
2669 try { 3259 try {
2670 // InternalSolverLanguageParser.g:915:2: ( ( ( rule__Interval__Group__0 ) ) ) 3260 // InternalSolverLanguageParser.g:1102:2: ( ( ( rule__Interval__Group__0 ) ) )
2671 // InternalSolverLanguageParser.g:916:2: ( ( rule__Interval__Group__0 ) ) 3261 // InternalSolverLanguageParser.g:1103:2: ( ( rule__Interval__Group__0 ) )
2672 { 3262 {
2673 // InternalSolverLanguageParser.g:916:2: ( ( rule__Interval__Group__0 ) ) 3263 // InternalSolverLanguageParser.g:1103:2: ( ( rule__Interval__Group__0 ) )
2674 // InternalSolverLanguageParser.g:917:3: ( rule__Interval__Group__0 ) 3264 // InternalSolverLanguageParser.g:1104:3: ( rule__Interval__Group__0 )
2675 { 3265 {
2676 before(grammarAccess.getIntervalAccess().getGroup()); 3266 before(grammarAccess.getIntervalAccess().getGroup());
2677 // InternalSolverLanguageParser.g:918:3: ( rule__Interval__Group__0 ) 3267 // InternalSolverLanguageParser.g:1105:3: ( rule__Interval__Group__0 )
2678 // InternalSolverLanguageParser.g:918:4: rule__Interval__Group__0 3268 // InternalSolverLanguageParser.g:1105:4: rule__Interval__Group__0
2679 { 3269 {
2680 pushFollow(FOLLOW_2); 3270 pushFollow(FOLLOW_2);
2681 rule__Interval__Group__0(); 3271 rule__Interval__Group__0();
@@ -2708,11 +3298,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2708 3298
2709 3299
2710 // $ANTLR start "entryRuleLiteral" 3300 // $ANTLR start "entryRuleLiteral"
2711 // InternalSolverLanguageParser.g:927:1: entryRuleLiteral : ruleLiteral EOF ; 3301 // InternalSolverLanguageParser.g:1114:1: entryRuleLiteral : ruleLiteral EOF ;
2712 public final void entryRuleLiteral() throws RecognitionException { 3302 public final void entryRuleLiteral() throws RecognitionException {
2713 try { 3303 try {
2714 // InternalSolverLanguageParser.g:928:1: ( ruleLiteral EOF ) 3304 // InternalSolverLanguageParser.g:1115:1: ( ruleLiteral EOF )
2715 // InternalSolverLanguageParser.g:929:1: ruleLiteral EOF 3305 // InternalSolverLanguageParser.g:1116:1: ruleLiteral EOF
2716 { 3306 {
2717 before(grammarAccess.getLiteralRule()); 3307 before(grammarAccess.getLiteralRule());
2718 pushFollow(FOLLOW_1); 3308 pushFollow(FOLLOW_1);
@@ -2738,21 +3328,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2738 3328
2739 3329
2740 // $ANTLR start "ruleLiteral" 3330 // $ANTLR start "ruleLiteral"
2741 // InternalSolverLanguageParser.g:936:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; 3331 // InternalSolverLanguageParser.g:1123:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
2742 public final void ruleLiteral() throws RecognitionException { 3332 public final void ruleLiteral() throws RecognitionException {
2743 3333
2744 int stackSize = keepStackSize(); 3334 int stackSize = keepStackSize();
2745 3335
2746 try { 3336 try {
2747 // InternalSolverLanguageParser.g:940:2: ( ( ( rule__Literal__Alternatives ) ) ) 3337 // InternalSolverLanguageParser.g:1127:2: ( ( ( rule__Literal__Alternatives ) ) )
2748 // InternalSolverLanguageParser.g:941:2: ( ( rule__Literal__Alternatives ) ) 3338 // InternalSolverLanguageParser.g:1128:2: ( ( rule__Literal__Alternatives ) )
2749 { 3339 {
2750 // InternalSolverLanguageParser.g:941:2: ( ( rule__Literal__Alternatives ) ) 3340 // InternalSolverLanguageParser.g:1128:2: ( ( rule__Literal__Alternatives ) )
2751 // InternalSolverLanguageParser.g:942:3: ( rule__Literal__Alternatives ) 3341 // InternalSolverLanguageParser.g:1129:3: ( rule__Literal__Alternatives )
2752 { 3342 {
2753 before(grammarAccess.getLiteralAccess().getAlternatives()); 3343 before(grammarAccess.getLiteralAccess().getAlternatives());
2754 // InternalSolverLanguageParser.g:943:3: ( rule__Literal__Alternatives ) 3344 // InternalSolverLanguageParser.g:1130:3: ( rule__Literal__Alternatives )
2755 // InternalSolverLanguageParser.g:943:4: rule__Literal__Alternatives 3345 // InternalSolverLanguageParser.g:1130:4: rule__Literal__Alternatives
2756 { 3346 {
2757 pushFollow(FOLLOW_2); 3347 pushFollow(FOLLOW_2);
2758 rule__Literal__Alternatives(); 3348 rule__Literal__Alternatives();
@@ -2785,11 +3375,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2785 3375
2786 3376
2787 // $ANTLR start "entryRuleLogicLiteral" 3377 // $ANTLR start "entryRuleLogicLiteral"
2788 // InternalSolverLanguageParser.g:952:1: entryRuleLogicLiteral : ruleLogicLiteral EOF ; 3378 // InternalSolverLanguageParser.g:1139:1: entryRuleLogicLiteral : ruleLogicLiteral EOF ;
2789 public final void entryRuleLogicLiteral() throws RecognitionException { 3379 public final void entryRuleLogicLiteral() throws RecognitionException {
2790 try { 3380 try {
2791 // InternalSolverLanguageParser.g:953:1: ( ruleLogicLiteral EOF ) 3381 // InternalSolverLanguageParser.g:1140:1: ( ruleLogicLiteral EOF )
2792 // InternalSolverLanguageParser.g:954:1: ruleLogicLiteral EOF 3382 // InternalSolverLanguageParser.g:1141:1: ruleLogicLiteral EOF
2793 { 3383 {
2794 before(grammarAccess.getLogicLiteralRule()); 3384 before(grammarAccess.getLogicLiteralRule());
2795 pushFollow(FOLLOW_1); 3385 pushFollow(FOLLOW_1);
@@ -2815,21 +3405,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2815 3405
2816 3406
2817 // $ANTLR start "ruleLogicLiteral" 3407 // $ANTLR start "ruleLogicLiteral"
2818 // InternalSolverLanguageParser.g:961:1: ruleLogicLiteral : ( ( rule__LogicLiteral__ValueAssignment ) ) ; 3408 // InternalSolverLanguageParser.g:1148:1: ruleLogicLiteral : ( ( rule__LogicLiteral__ValueAssignment ) ) ;
2819 public final void ruleLogicLiteral() throws RecognitionException { 3409 public final void ruleLogicLiteral() throws RecognitionException {
2820 3410
2821 int stackSize = keepStackSize(); 3411 int stackSize = keepStackSize();
2822 3412
2823 try { 3413 try {
2824 // InternalSolverLanguageParser.g:965:2: ( ( ( rule__LogicLiteral__ValueAssignment ) ) ) 3414 // InternalSolverLanguageParser.g:1152:2: ( ( ( rule__LogicLiteral__ValueAssignment ) ) )
2825 // InternalSolverLanguageParser.g:966:2: ( ( rule__LogicLiteral__ValueAssignment ) ) 3415 // InternalSolverLanguageParser.g:1153:2: ( ( rule__LogicLiteral__ValueAssignment ) )
2826 { 3416 {
2827 // InternalSolverLanguageParser.g:966:2: ( ( rule__LogicLiteral__ValueAssignment ) ) 3417 // InternalSolverLanguageParser.g:1153:2: ( ( rule__LogicLiteral__ValueAssignment ) )
2828 // InternalSolverLanguageParser.g:967:3: ( rule__LogicLiteral__ValueAssignment ) 3418 // InternalSolverLanguageParser.g:1154:3: ( rule__LogicLiteral__ValueAssignment )
2829 { 3419 {
2830 before(grammarAccess.getLogicLiteralAccess().getValueAssignment()); 3420 before(grammarAccess.getLogicLiteralAccess().getValueAssignment());
2831 // InternalSolverLanguageParser.g:968:3: ( rule__LogicLiteral__ValueAssignment ) 3421 // InternalSolverLanguageParser.g:1155:3: ( rule__LogicLiteral__ValueAssignment )
2832 // InternalSolverLanguageParser.g:968:4: rule__LogicLiteral__ValueAssignment 3422 // InternalSolverLanguageParser.g:1155:4: rule__LogicLiteral__ValueAssignment
2833 { 3423 {
2834 pushFollow(FOLLOW_2); 3424 pushFollow(FOLLOW_2);
2835 rule__LogicLiteral__ValueAssignment(); 3425 rule__LogicLiteral__ValueAssignment();
@@ -2862,11 +3452,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2862 3452
2863 3453
2864 // $ANTLR start "entryRuleNumericLiteral" 3454 // $ANTLR start "entryRuleNumericLiteral"
2865 // InternalSolverLanguageParser.g:977:1: entryRuleNumericLiteral : ruleNumericLiteral EOF ; 3455 // InternalSolverLanguageParser.g:1164:1: entryRuleNumericLiteral : ruleNumericLiteral EOF ;
2866 public final void entryRuleNumericLiteral() throws RecognitionException { 3456 public final void entryRuleNumericLiteral() throws RecognitionException {
2867 try { 3457 try {
2868 // InternalSolverLanguageParser.g:978:1: ( ruleNumericLiteral EOF ) 3458 // InternalSolverLanguageParser.g:1165:1: ( ruleNumericLiteral EOF )
2869 // InternalSolverLanguageParser.g:979:1: ruleNumericLiteral EOF 3459 // InternalSolverLanguageParser.g:1166:1: ruleNumericLiteral EOF
2870 { 3460 {
2871 before(grammarAccess.getNumericLiteralRule()); 3461 before(grammarAccess.getNumericLiteralRule());
2872 pushFollow(FOLLOW_1); 3462 pushFollow(FOLLOW_1);
@@ -2892,21 +3482,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2892 3482
2893 3483
2894 // $ANTLR start "ruleNumericLiteral" 3484 // $ANTLR start "ruleNumericLiteral"
2895 // InternalSolverLanguageParser.g:986:1: ruleNumericLiteral : ( ( rule__NumericLiteral__ValueAssignment ) ) ; 3485 // InternalSolverLanguageParser.g:1173:1: ruleNumericLiteral : ( ( rule__NumericLiteral__ValueAssignment ) ) ;
2896 public final void ruleNumericLiteral() throws RecognitionException { 3486 public final void ruleNumericLiteral() throws RecognitionException {
2897 3487
2898 int stackSize = keepStackSize(); 3488 int stackSize = keepStackSize();
2899 3489
2900 try { 3490 try {
2901 // InternalSolverLanguageParser.g:990:2: ( ( ( rule__NumericLiteral__ValueAssignment ) ) ) 3491 // InternalSolverLanguageParser.g:1177:2: ( ( ( rule__NumericLiteral__ValueAssignment ) ) )
2902 // InternalSolverLanguageParser.g:991:2: ( ( rule__NumericLiteral__ValueAssignment ) ) 3492 // InternalSolverLanguageParser.g:1178:2: ( ( rule__NumericLiteral__ValueAssignment ) )
2903 { 3493 {
2904 // InternalSolverLanguageParser.g:991:2: ( ( rule__NumericLiteral__ValueAssignment ) ) 3494 // InternalSolverLanguageParser.g:1178:2: ( ( rule__NumericLiteral__ValueAssignment ) )
2905 // InternalSolverLanguageParser.g:992:3: ( rule__NumericLiteral__ValueAssignment ) 3495 // InternalSolverLanguageParser.g:1179:3: ( rule__NumericLiteral__ValueAssignment )
2906 { 3496 {
2907 before(grammarAccess.getNumericLiteralAccess().getValueAssignment()); 3497 before(grammarAccess.getNumericLiteralAccess().getValueAssignment());
2908 // InternalSolverLanguageParser.g:993:3: ( rule__NumericLiteral__ValueAssignment ) 3498 // InternalSolverLanguageParser.g:1180:3: ( rule__NumericLiteral__ValueAssignment )
2909 // InternalSolverLanguageParser.g:993:4: rule__NumericLiteral__ValueAssignment 3499 // InternalSolverLanguageParser.g:1180:4: rule__NumericLiteral__ValueAssignment
2910 { 3500 {
2911 pushFollow(FOLLOW_2); 3501 pushFollow(FOLLOW_2);
2912 rule__NumericLiteral__ValueAssignment(); 3502 rule__NumericLiteral__ValueAssignment();
@@ -2939,11 +3529,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2939 3529
2940 3530
2941 // $ANTLR start "entryRuleInfinityLiteral" 3531 // $ANTLR start "entryRuleInfinityLiteral"
2942 // InternalSolverLanguageParser.g:1002:1: entryRuleInfinityLiteral : ruleInfinityLiteral EOF ; 3532 // InternalSolverLanguageParser.g:1189:1: entryRuleInfinityLiteral : ruleInfinityLiteral EOF ;
2943 public final void entryRuleInfinityLiteral() throws RecognitionException { 3533 public final void entryRuleInfinityLiteral() throws RecognitionException {
2944 try { 3534 try {
2945 // InternalSolverLanguageParser.g:1003:1: ( ruleInfinityLiteral EOF ) 3535 // InternalSolverLanguageParser.g:1190:1: ( ruleInfinityLiteral EOF )
2946 // InternalSolverLanguageParser.g:1004:1: ruleInfinityLiteral EOF 3536 // InternalSolverLanguageParser.g:1191:1: ruleInfinityLiteral EOF
2947 { 3537 {
2948 before(grammarAccess.getInfinityLiteralRule()); 3538 before(grammarAccess.getInfinityLiteralRule());
2949 pushFollow(FOLLOW_1); 3539 pushFollow(FOLLOW_1);
@@ -2969,21 +3559,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2969 3559
2970 3560
2971 // $ANTLR start "ruleInfinityLiteral" 3561 // $ANTLR start "ruleInfinityLiteral"
2972 // InternalSolverLanguageParser.g:1011:1: ruleInfinityLiteral : ( ( rule__InfinityLiteral__Group__0 ) ) ; 3562 // InternalSolverLanguageParser.g:1198:1: ruleInfinityLiteral : ( ( rule__InfinityLiteral__Group__0 ) ) ;
2973 public final void ruleInfinityLiteral() throws RecognitionException { 3563 public final void ruleInfinityLiteral() throws RecognitionException {
2974 3564
2975 int stackSize = keepStackSize(); 3565 int stackSize = keepStackSize();
2976 3566
2977 try { 3567 try {
2978 // InternalSolverLanguageParser.g:1015:2: ( ( ( rule__InfinityLiteral__Group__0 ) ) ) 3568 // InternalSolverLanguageParser.g:1202:2: ( ( ( rule__InfinityLiteral__Group__0 ) ) )
2979 // InternalSolverLanguageParser.g:1016:2: ( ( rule__InfinityLiteral__Group__0 ) ) 3569 // InternalSolverLanguageParser.g:1203:2: ( ( rule__InfinityLiteral__Group__0 ) )
2980 { 3570 {
2981 // InternalSolverLanguageParser.g:1016:2: ( ( rule__InfinityLiteral__Group__0 ) ) 3571 // InternalSolverLanguageParser.g:1203:2: ( ( rule__InfinityLiteral__Group__0 ) )
2982 // InternalSolverLanguageParser.g:1017:3: ( rule__InfinityLiteral__Group__0 ) 3572 // InternalSolverLanguageParser.g:1204:3: ( rule__InfinityLiteral__Group__0 )
2983 { 3573 {
2984 before(grammarAccess.getInfinityLiteralAccess().getGroup()); 3574 before(grammarAccess.getInfinityLiteralAccess().getGroup());
2985 // InternalSolverLanguageParser.g:1018:3: ( rule__InfinityLiteral__Group__0 ) 3575 // InternalSolverLanguageParser.g:1205:3: ( rule__InfinityLiteral__Group__0 )
2986 // InternalSolverLanguageParser.g:1018:4: rule__InfinityLiteral__Group__0 3576 // InternalSolverLanguageParser.g:1205:4: rule__InfinityLiteral__Group__0
2987 { 3577 {
2988 pushFollow(FOLLOW_2); 3578 pushFollow(FOLLOW_2);
2989 rule__InfinityLiteral__Group__0(); 3579 rule__InfinityLiteral__Group__0();
@@ -3016,11 +3606,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3016 3606
3017 3607
3018 // $ANTLR start "entryRuleEmptyIntervalLiteral" 3608 // $ANTLR start "entryRuleEmptyIntervalLiteral"
3019 // InternalSolverLanguageParser.g:1027:1: entryRuleEmptyIntervalLiteral : ruleEmptyIntervalLiteral EOF ; 3609 // InternalSolverLanguageParser.g:1214:1: entryRuleEmptyIntervalLiteral : ruleEmptyIntervalLiteral EOF ;
3020 public final void entryRuleEmptyIntervalLiteral() throws RecognitionException { 3610 public final void entryRuleEmptyIntervalLiteral() throws RecognitionException {
3021 try { 3611 try {
3022 // InternalSolverLanguageParser.g:1028:1: ( ruleEmptyIntervalLiteral EOF ) 3612 // InternalSolverLanguageParser.g:1215:1: ( ruleEmptyIntervalLiteral EOF )
3023 // InternalSolverLanguageParser.g:1029:1: ruleEmptyIntervalLiteral EOF 3613 // InternalSolverLanguageParser.g:1216:1: ruleEmptyIntervalLiteral EOF
3024 { 3614 {
3025 before(grammarAccess.getEmptyIntervalLiteralRule()); 3615 before(grammarAccess.getEmptyIntervalLiteralRule());
3026 pushFollow(FOLLOW_1); 3616 pushFollow(FOLLOW_1);
@@ -3046,21 +3636,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3046 3636
3047 3637
3048 // $ANTLR start "ruleEmptyIntervalLiteral" 3638 // $ANTLR start "ruleEmptyIntervalLiteral"
3049 // InternalSolverLanguageParser.g:1036:1: ruleEmptyIntervalLiteral : ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ; 3639 // InternalSolverLanguageParser.g:1223:1: ruleEmptyIntervalLiteral : ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ;
3050 public final void ruleEmptyIntervalLiteral() throws RecognitionException { 3640 public final void ruleEmptyIntervalLiteral() throws RecognitionException {
3051 3641
3052 int stackSize = keepStackSize(); 3642 int stackSize = keepStackSize();
3053 3643
3054 try { 3644 try {
3055 // InternalSolverLanguageParser.g:1040:2: ( ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ) 3645 // InternalSolverLanguageParser.g:1227:2: ( ( ( rule__EmptyIntervalLiteral__Group__0 ) ) )
3056 // InternalSolverLanguageParser.g:1041:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) ) 3646 // InternalSolverLanguageParser.g:1228:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) )
3057 { 3647 {
3058 // InternalSolverLanguageParser.g:1041:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) ) 3648 // InternalSolverLanguageParser.g:1228:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) )
3059 // InternalSolverLanguageParser.g:1042:3: ( rule__EmptyIntervalLiteral__Group__0 ) 3649 // InternalSolverLanguageParser.g:1229:3: ( rule__EmptyIntervalLiteral__Group__0 )
3060 { 3650 {
3061 before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); 3651 before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup());
3062 // InternalSolverLanguageParser.g:1043:3: ( rule__EmptyIntervalLiteral__Group__0 ) 3652 // InternalSolverLanguageParser.g:1230:3: ( rule__EmptyIntervalLiteral__Group__0 )
3063 // InternalSolverLanguageParser.g:1043:4: rule__EmptyIntervalLiteral__Group__0 3653 // InternalSolverLanguageParser.g:1230:4: rule__EmptyIntervalLiteral__Group__0
3064 { 3654 {
3065 pushFollow(FOLLOW_2); 3655 pushFollow(FOLLOW_2);
3066 rule__EmptyIntervalLiteral__Group__0(); 3656 rule__EmptyIntervalLiteral__Group__0();
@@ -3093,11 +3683,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3093 3683
3094 3684
3095 // $ANTLR start "entryRuleStringLiteral" 3685 // $ANTLR start "entryRuleStringLiteral"
3096 // InternalSolverLanguageParser.g:1052:1: entryRuleStringLiteral : ruleStringLiteral EOF ; 3686 // InternalSolverLanguageParser.g:1239:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
3097 public final void entryRuleStringLiteral() throws RecognitionException { 3687 public final void entryRuleStringLiteral() throws RecognitionException {
3098 try { 3688 try {
3099 // InternalSolverLanguageParser.g:1053:1: ( ruleStringLiteral EOF ) 3689 // InternalSolverLanguageParser.g:1240:1: ( ruleStringLiteral EOF )
3100 // InternalSolverLanguageParser.g:1054:1: ruleStringLiteral EOF 3690 // InternalSolverLanguageParser.g:1241:1: ruleStringLiteral EOF
3101 { 3691 {
3102 before(grammarAccess.getStringLiteralRule()); 3692 before(grammarAccess.getStringLiteralRule());
3103 pushFollow(FOLLOW_1); 3693 pushFollow(FOLLOW_1);
@@ -3123,21 +3713,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3123 3713
3124 3714
3125 // $ANTLR start "ruleStringLiteral" 3715 // $ANTLR start "ruleStringLiteral"
3126 // InternalSolverLanguageParser.g:1061:1: ruleStringLiteral : ( ( rule__StringLiteral__ValueAssignment ) ) ; 3716 // InternalSolverLanguageParser.g:1248:1: ruleStringLiteral : ( ( rule__StringLiteral__ValueAssignment ) ) ;
3127 public final void ruleStringLiteral() throws RecognitionException { 3717 public final void ruleStringLiteral() throws RecognitionException {
3128 3718
3129 int stackSize = keepStackSize(); 3719 int stackSize = keepStackSize();
3130 3720
3131 try { 3721 try {
3132 // InternalSolverLanguageParser.g:1065:2: ( ( ( rule__StringLiteral__ValueAssignment ) ) ) 3722 // InternalSolverLanguageParser.g:1252:2: ( ( ( rule__StringLiteral__ValueAssignment ) ) )
3133 // InternalSolverLanguageParser.g:1066:2: ( ( rule__StringLiteral__ValueAssignment ) ) 3723 // InternalSolverLanguageParser.g:1253:2: ( ( rule__StringLiteral__ValueAssignment ) )
3134 { 3724 {
3135 // InternalSolverLanguageParser.g:1066:2: ( ( rule__StringLiteral__ValueAssignment ) ) 3725 // InternalSolverLanguageParser.g:1253:2: ( ( rule__StringLiteral__ValueAssignment ) )
3136 // InternalSolverLanguageParser.g:1067:3: ( rule__StringLiteral__ValueAssignment ) 3726 // InternalSolverLanguageParser.g:1254:3: ( rule__StringLiteral__ValueAssignment )
3137 { 3727 {
3138 before(grammarAccess.getStringLiteralAccess().getValueAssignment()); 3728 before(grammarAccess.getStringLiteralAccess().getValueAssignment());
3139 // InternalSolverLanguageParser.g:1068:3: ( rule__StringLiteral__ValueAssignment ) 3729 // InternalSolverLanguageParser.g:1255:3: ( rule__StringLiteral__ValueAssignment )
3140 // InternalSolverLanguageParser.g:1068:4: rule__StringLiteral__ValueAssignment 3730 // InternalSolverLanguageParser.g:1255:4: rule__StringLiteral__ValueAssignment
3141 { 3731 {
3142 pushFollow(FOLLOW_2); 3732 pushFollow(FOLLOW_2);
3143 rule__StringLiteral__ValueAssignment(); 3733 rule__StringLiteral__ValueAssignment();
@@ -3170,11 +3760,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3170 3760
3171 3761
3172 // $ANTLR start "entryRuleClassDefinition" 3762 // $ANTLR start "entryRuleClassDefinition"
3173 // InternalSolverLanguageParser.g:1077:1: entryRuleClassDefinition : ruleClassDefinition EOF ; 3763 // InternalSolverLanguageParser.g:1264:1: entryRuleClassDefinition : ruleClassDefinition EOF ;
3174 public final void entryRuleClassDefinition() throws RecognitionException { 3764 public final void entryRuleClassDefinition() throws RecognitionException {
3175 try { 3765 try {
3176 // InternalSolverLanguageParser.g:1078:1: ( ruleClassDefinition EOF ) 3766 // InternalSolverLanguageParser.g:1265:1: ( ruleClassDefinition EOF )
3177 // InternalSolverLanguageParser.g:1079:1: ruleClassDefinition EOF 3767 // InternalSolverLanguageParser.g:1266:1: ruleClassDefinition EOF
3178 { 3768 {
3179 before(grammarAccess.getClassDefinitionRule()); 3769 before(grammarAccess.getClassDefinitionRule());
3180 pushFollow(FOLLOW_1); 3770 pushFollow(FOLLOW_1);
@@ -3200,21 +3790,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3200 3790
3201 3791
3202 // $ANTLR start "ruleClassDefinition" 3792 // $ANTLR start "ruleClassDefinition"
3203 // InternalSolverLanguageParser.g:1086:1: ruleClassDefinition : ( ( rule__ClassDefinition__Group__0 ) ) ; 3793 // InternalSolverLanguageParser.g:1273:1: ruleClassDefinition : ( ( rule__ClassDefinition__Group__0 ) ) ;
3204 public final void ruleClassDefinition() throws RecognitionException { 3794 public final void ruleClassDefinition() throws RecognitionException {
3205 3795
3206 int stackSize = keepStackSize(); 3796 int stackSize = keepStackSize();
3207 3797
3208 try { 3798 try {
3209 // InternalSolverLanguageParser.g:1090:2: ( ( ( rule__ClassDefinition__Group__0 ) ) ) 3799 // InternalSolverLanguageParser.g:1277:2: ( ( ( rule__ClassDefinition__Group__0 ) ) )
3210 // InternalSolverLanguageParser.g:1091:2: ( ( rule__ClassDefinition__Group__0 ) ) 3800 // InternalSolverLanguageParser.g:1278:2: ( ( rule__ClassDefinition__Group__0 ) )
3211 { 3801 {
3212 // InternalSolverLanguageParser.g:1091:2: ( ( rule__ClassDefinition__Group__0 ) ) 3802 // InternalSolverLanguageParser.g:1278:2: ( ( rule__ClassDefinition__Group__0 ) )
3213 // InternalSolverLanguageParser.g:1092:3: ( rule__ClassDefinition__Group__0 ) 3803 // InternalSolverLanguageParser.g:1279:3: ( rule__ClassDefinition__Group__0 )
3214 { 3804 {
3215 before(grammarAccess.getClassDefinitionAccess().getGroup()); 3805 before(grammarAccess.getClassDefinitionAccess().getGroup());
3216 // InternalSolverLanguageParser.g:1093:3: ( rule__ClassDefinition__Group__0 ) 3806 // InternalSolverLanguageParser.g:1280:3: ( rule__ClassDefinition__Group__0 )
3217 // InternalSolverLanguageParser.g:1093:4: rule__ClassDefinition__Group__0 3807 // InternalSolverLanguageParser.g:1280:4: rule__ClassDefinition__Group__0
3218 { 3808 {
3219 pushFollow(FOLLOW_2); 3809 pushFollow(FOLLOW_2);
3220 rule__ClassDefinition__Group__0(); 3810 rule__ClassDefinition__Group__0();
@@ -3247,11 +3837,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3247 3837
3248 3838
3249 // $ANTLR start "entryRuleMemberDefinition" 3839 // $ANTLR start "entryRuleMemberDefinition"
3250 // InternalSolverLanguageParser.g:1102:1: entryRuleMemberDefinition : ruleMemberDefinition EOF ; 3840 // InternalSolverLanguageParser.g:1289:1: entryRuleMemberDefinition : ruleMemberDefinition EOF ;
3251 public final void entryRuleMemberDefinition() throws RecognitionException { 3841 public final void entryRuleMemberDefinition() throws RecognitionException {
3252 try { 3842 try {
3253 // InternalSolverLanguageParser.g:1103:1: ( ruleMemberDefinition EOF ) 3843 // InternalSolverLanguageParser.g:1290:1: ( ruleMemberDefinition EOF )
3254 // InternalSolverLanguageParser.g:1104:1: ruleMemberDefinition EOF 3844 // InternalSolverLanguageParser.g:1291:1: ruleMemberDefinition EOF
3255 { 3845 {
3256 before(grammarAccess.getMemberDefinitionRule()); 3846 before(grammarAccess.getMemberDefinitionRule());
3257 pushFollow(FOLLOW_1); 3847 pushFollow(FOLLOW_1);
@@ -3277,21 +3867,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3277 3867
3278 3868
3279 // $ANTLR start "ruleMemberDefinition" 3869 // $ANTLR start "ruleMemberDefinition"
3280 // InternalSolverLanguageParser.g:1111:1: ruleMemberDefinition : ( ( rule__MemberDefinition__Group__0 ) ) ; 3870 // InternalSolverLanguageParser.g:1298:1: ruleMemberDefinition : ( ( rule__MemberDefinition__Group__0 ) ) ;
3281 public final void ruleMemberDefinition() throws RecognitionException { 3871 public final void ruleMemberDefinition() throws RecognitionException {
3282 3872
3283 int stackSize = keepStackSize(); 3873 int stackSize = keepStackSize();
3284 3874
3285 try { 3875 try {
3286 // InternalSolverLanguageParser.g:1115:2: ( ( ( rule__MemberDefinition__Group__0 ) ) ) 3876 // InternalSolverLanguageParser.g:1302:2: ( ( ( rule__MemberDefinition__Group__0 ) ) )
3287 // InternalSolverLanguageParser.g:1116:2: ( ( rule__MemberDefinition__Group__0 ) ) 3877 // InternalSolverLanguageParser.g:1303:2: ( ( rule__MemberDefinition__Group__0 ) )
3288 { 3878 {
3289 // InternalSolverLanguageParser.g:1116:2: ( ( rule__MemberDefinition__Group__0 ) ) 3879 // InternalSolverLanguageParser.g:1303:2: ( ( rule__MemberDefinition__Group__0 ) )
3290 // InternalSolverLanguageParser.g:1117:3: ( rule__MemberDefinition__Group__0 ) 3880 // InternalSolverLanguageParser.g:1304:3: ( rule__MemberDefinition__Group__0 )
3291 { 3881 {
3292 before(grammarAccess.getMemberDefinitionAccess().getGroup()); 3882 before(grammarAccess.getMemberDefinitionAccess().getGroup());
3293 // InternalSolverLanguageParser.g:1118:3: ( rule__MemberDefinition__Group__0 ) 3883 // InternalSolverLanguageParser.g:1305:3: ( rule__MemberDefinition__Group__0 )
3294 // InternalSolverLanguageParser.g:1118:4: rule__MemberDefinition__Group__0 3884 // InternalSolverLanguageParser.g:1305:4: rule__MemberDefinition__Group__0
3295 { 3885 {
3296 pushFollow(FOLLOW_2); 3886 pushFollow(FOLLOW_2);
3297 rule__MemberDefinition__Group__0(); 3887 rule__MemberDefinition__Group__0();
@@ -3324,11 +3914,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3324 3914
3325 3915
3326 // $ANTLR start "entryRuleMultiplicity" 3916 // $ANTLR start "entryRuleMultiplicity"
3327 // InternalSolverLanguageParser.g:1127:1: entryRuleMultiplicity : ruleMultiplicity EOF ; 3917 // InternalSolverLanguageParser.g:1314:1: entryRuleMultiplicity : ruleMultiplicity EOF ;
3328 public final void entryRuleMultiplicity() throws RecognitionException { 3918 public final void entryRuleMultiplicity() throws RecognitionException {
3329 try { 3919 try {
3330 // InternalSolverLanguageParser.g:1128:1: ( ruleMultiplicity EOF ) 3920 // InternalSolverLanguageParser.g:1315:1: ( ruleMultiplicity EOF )
3331 // InternalSolverLanguageParser.g:1129:1: ruleMultiplicity EOF 3921 // InternalSolverLanguageParser.g:1316:1: ruleMultiplicity EOF
3332 { 3922 {
3333 before(grammarAccess.getMultiplicityRule()); 3923 before(grammarAccess.getMultiplicityRule());
3334 pushFollow(FOLLOW_1); 3924 pushFollow(FOLLOW_1);
@@ -3354,21 +3944,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3354 3944
3355 3945
3356 // $ANTLR start "ruleMultiplicity" 3946 // $ANTLR start "ruleMultiplicity"
3357 // InternalSolverLanguageParser.g:1136:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ; 3947 // InternalSolverLanguageParser.g:1323:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ;
3358 public final void ruleMultiplicity() throws RecognitionException { 3948 public final void ruleMultiplicity() throws RecognitionException {
3359 3949
3360 int stackSize = keepStackSize(); 3950 int stackSize = keepStackSize();
3361 3951
3362 try { 3952 try {
3363 // InternalSolverLanguageParser.g:1140:2: ( ( ( rule__Multiplicity__Alternatives ) ) ) 3953 // InternalSolverLanguageParser.g:1327:2: ( ( ( rule__Multiplicity__Alternatives ) ) )
3364 // InternalSolverLanguageParser.g:1141:2: ( ( rule__Multiplicity__Alternatives ) ) 3954 // InternalSolverLanguageParser.g:1328:2: ( ( rule__Multiplicity__Alternatives ) )
3365 { 3955 {
3366 // InternalSolverLanguageParser.g:1141:2: ( ( rule__Multiplicity__Alternatives ) ) 3956 // InternalSolverLanguageParser.g:1328:2: ( ( rule__Multiplicity__Alternatives ) )
3367 // InternalSolverLanguageParser.g:1142:3: ( rule__Multiplicity__Alternatives ) 3957 // InternalSolverLanguageParser.g:1329:3: ( rule__Multiplicity__Alternatives )
3368 { 3958 {
3369 before(grammarAccess.getMultiplicityAccess().getAlternatives()); 3959 before(grammarAccess.getMultiplicityAccess().getAlternatives());
3370 // InternalSolverLanguageParser.g:1143:3: ( rule__Multiplicity__Alternatives ) 3960 // InternalSolverLanguageParser.g:1330:3: ( rule__Multiplicity__Alternatives )
3371 // InternalSolverLanguageParser.g:1143:4: rule__Multiplicity__Alternatives 3961 // InternalSolverLanguageParser.g:1330:4: rule__Multiplicity__Alternatives
3372 { 3962 {
3373 pushFollow(FOLLOW_2); 3963 pushFollow(FOLLOW_2);
3374 rule__Multiplicity__Alternatives(); 3964 rule__Multiplicity__Alternatives();
@@ -3401,11 +3991,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3401 3991
3402 3992
3403 // $ANTLR start "entryRuleManyMultiplicity" 3993 // $ANTLR start "entryRuleManyMultiplicity"
3404 // InternalSolverLanguageParser.g:1152:1: entryRuleManyMultiplicity : ruleManyMultiplicity EOF ; 3994 // InternalSolverLanguageParser.g:1339:1: entryRuleManyMultiplicity : ruleManyMultiplicity EOF ;
3405 public final void entryRuleManyMultiplicity() throws RecognitionException { 3995 public final void entryRuleManyMultiplicity() throws RecognitionException {
3406 try { 3996 try {
3407 // InternalSolverLanguageParser.g:1153:1: ( ruleManyMultiplicity EOF ) 3997 // InternalSolverLanguageParser.g:1340:1: ( ruleManyMultiplicity EOF )
3408 // InternalSolverLanguageParser.g:1154:1: ruleManyMultiplicity EOF 3998 // InternalSolverLanguageParser.g:1341:1: ruleManyMultiplicity EOF
3409 { 3999 {
3410 before(grammarAccess.getManyMultiplicityRule()); 4000 before(grammarAccess.getManyMultiplicityRule());
3411 pushFollow(FOLLOW_1); 4001 pushFollow(FOLLOW_1);
@@ -3431,21 +4021,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3431 4021
3432 4022
3433 // $ANTLR start "ruleManyMultiplicity" 4023 // $ANTLR start "ruleManyMultiplicity"
3434 // InternalSolverLanguageParser.g:1161:1: ruleManyMultiplicity : ( ( rule__ManyMultiplicity__Group__0 ) ) ; 4024 // InternalSolverLanguageParser.g:1348:1: ruleManyMultiplicity : ( ( rule__ManyMultiplicity__Group__0 ) ) ;
3435 public final void ruleManyMultiplicity() throws RecognitionException { 4025 public final void ruleManyMultiplicity() throws RecognitionException {
3436 4026
3437 int stackSize = keepStackSize(); 4027 int stackSize = keepStackSize();
3438 4028
3439 try { 4029 try {
3440 // InternalSolverLanguageParser.g:1165:2: ( ( ( rule__ManyMultiplicity__Group__0 ) ) ) 4030 // InternalSolverLanguageParser.g:1352:2: ( ( ( rule__ManyMultiplicity__Group__0 ) ) )
3441 // InternalSolverLanguageParser.g:1166:2: ( ( rule__ManyMultiplicity__Group__0 ) ) 4031 // InternalSolverLanguageParser.g:1353:2: ( ( rule__ManyMultiplicity__Group__0 ) )
3442 { 4032 {
3443 // InternalSolverLanguageParser.g:1166:2: ( ( rule__ManyMultiplicity__Group__0 ) ) 4033 // InternalSolverLanguageParser.g:1353:2: ( ( rule__ManyMultiplicity__Group__0 ) )
3444 // InternalSolverLanguageParser.g:1167:3: ( rule__ManyMultiplicity__Group__0 ) 4034 // InternalSolverLanguageParser.g:1354:3: ( rule__ManyMultiplicity__Group__0 )
3445 { 4035 {
3446 before(grammarAccess.getManyMultiplicityAccess().getGroup()); 4036 before(grammarAccess.getManyMultiplicityAccess().getGroup());
3447 // InternalSolverLanguageParser.g:1168:3: ( rule__ManyMultiplicity__Group__0 ) 4037 // InternalSolverLanguageParser.g:1355:3: ( rule__ManyMultiplicity__Group__0 )
3448 // InternalSolverLanguageParser.g:1168:4: rule__ManyMultiplicity__Group__0 4038 // InternalSolverLanguageParser.g:1355:4: rule__ManyMultiplicity__Group__0
3449 { 4039 {
3450 pushFollow(FOLLOW_2); 4040 pushFollow(FOLLOW_2);
3451 rule__ManyMultiplicity__Group__0(); 4041 rule__ManyMultiplicity__Group__0();
@@ -3478,11 +4068,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3478 4068
3479 4069
3480 // $ANTLR start "entryRuleExactMultiplicity" 4070 // $ANTLR start "entryRuleExactMultiplicity"
3481 // InternalSolverLanguageParser.g:1177:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ; 4071 // InternalSolverLanguageParser.g:1364:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ;
3482 public final void entryRuleExactMultiplicity() throws RecognitionException { 4072 public final void entryRuleExactMultiplicity() throws RecognitionException {
3483 try { 4073 try {
3484 // InternalSolverLanguageParser.g:1178:1: ( ruleExactMultiplicity EOF ) 4074 // InternalSolverLanguageParser.g:1365:1: ( ruleExactMultiplicity EOF )
3485 // InternalSolverLanguageParser.g:1179:1: ruleExactMultiplicity EOF 4075 // InternalSolverLanguageParser.g:1366:1: ruleExactMultiplicity EOF
3486 { 4076 {
3487 before(grammarAccess.getExactMultiplicityRule()); 4077 before(grammarAccess.getExactMultiplicityRule());
3488 pushFollow(FOLLOW_1); 4078 pushFollow(FOLLOW_1);
@@ -3508,21 +4098,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3508 4098
3509 4099
3510 // $ANTLR start "ruleExactMultiplicity" 4100 // $ANTLR start "ruleExactMultiplicity"
3511 // InternalSolverLanguageParser.g:1186:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__Group__0 ) ) ; 4101 // InternalSolverLanguageParser.g:1373:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__Group__0 ) ) ;
3512 public final void ruleExactMultiplicity() throws RecognitionException { 4102 public final void ruleExactMultiplicity() throws RecognitionException {
3513 4103
3514 int stackSize = keepStackSize(); 4104 int stackSize = keepStackSize();
3515 4105
3516 try { 4106 try {
3517 // InternalSolverLanguageParser.g:1190:2: ( ( ( rule__ExactMultiplicity__Group__0 ) ) ) 4107 // InternalSolverLanguageParser.g:1377:2: ( ( ( rule__ExactMultiplicity__Group__0 ) ) )
3518 // InternalSolverLanguageParser.g:1191:2: ( ( rule__ExactMultiplicity__Group__0 ) ) 4108 // InternalSolverLanguageParser.g:1378:2: ( ( rule__ExactMultiplicity__Group__0 ) )
3519 { 4109 {
3520 // InternalSolverLanguageParser.g:1191:2: ( ( rule__ExactMultiplicity__Group__0 ) ) 4110 // InternalSolverLanguageParser.g:1378:2: ( ( rule__ExactMultiplicity__Group__0 ) )
3521 // InternalSolverLanguageParser.g:1192:3: ( rule__ExactMultiplicity__Group__0 ) 4111 // InternalSolverLanguageParser.g:1379:3: ( rule__ExactMultiplicity__Group__0 )
3522 { 4112 {
3523 before(grammarAccess.getExactMultiplicityAccess().getGroup()); 4113 before(grammarAccess.getExactMultiplicityAccess().getGroup());
3524 // InternalSolverLanguageParser.g:1193:3: ( rule__ExactMultiplicity__Group__0 ) 4114 // InternalSolverLanguageParser.g:1380:3: ( rule__ExactMultiplicity__Group__0 )
3525 // InternalSolverLanguageParser.g:1193:4: rule__ExactMultiplicity__Group__0 4115 // InternalSolverLanguageParser.g:1380:4: rule__ExactMultiplicity__Group__0
3526 { 4116 {
3527 pushFollow(FOLLOW_2); 4117 pushFollow(FOLLOW_2);
3528 rule__ExactMultiplicity__Group__0(); 4118 rule__ExactMultiplicity__Group__0();
@@ -3555,11 +4145,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3555 4145
3556 4146
3557 // $ANTLR start "entryRuleBoundedMultiplicity" 4147 // $ANTLR start "entryRuleBoundedMultiplicity"
3558 // InternalSolverLanguageParser.g:1202:1: entryRuleBoundedMultiplicity : ruleBoundedMultiplicity EOF ; 4148 // InternalSolverLanguageParser.g:1389:1: entryRuleBoundedMultiplicity : ruleBoundedMultiplicity EOF ;
3559 public final void entryRuleBoundedMultiplicity() throws RecognitionException { 4149 public final void entryRuleBoundedMultiplicity() throws RecognitionException {
3560 try { 4150 try {
3561 // InternalSolverLanguageParser.g:1203:1: ( ruleBoundedMultiplicity EOF ) 4151 // InternalSolverLanguageParser.g:1390:1: ( ruleBoundedMultiplicity EOF )
3562 // InternalSolverLanguageParser.g:1204:1: ruleBoundedMultiplicity EOF 4152 // InternalSolverLanguageParser.g:1391:1: ruleBoundedMultiplicity EOF
3563 { 4153 {
3564 before(grammarAccess.getBoundedMultiplicityRule()); 4154 before(grammarAccess.getBoundedMultiplicityRule());
3565 pushFollow(FOLLOW_1); 4155 pushFollow(FOLLOW_1);
@@ -3585,21 +4175,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3585 4175
3586 4176
3587 // $ANTLR start "ruleBoundedMultiplicity" 4177 // $ANTLR start "ruleBoundedMultiplicity"
3588 // InternalSolverLanguageParser.g:1211:1: ruleBoundedMultiplicity : ( ( rule__BoundedMultiplicity__Group__0 ) ) ; 4178 // InternalSolverLanguageParser.g:1398:1: ruleBoundedMultiplicity : ( ( rule__BoundedMultiplicity__Group__0 ) ) ;
3589 public final void ruleBoundedMultiplicity() throws RecognitionException { 4179 public final void ruleBoundedMultiplicity() throws RecognitionException {
3590 4180
3591 int stackSize = keepStackSize(); 4181 int stackSize = keepStackSize();
3592 4182
3593 try { 4183 try {
3594 // InternalSolverLanguageParser.g:1215:2: ( ( ( rule__BoundedMultiplicity__Group__0 ) ) ) 4184 // InternalSolverLanguageParser.g:1402:2: ( ( ( rule__BoundedMultiplicity__Group__0 ) ) )
3595 // InternalSolverLanguageParser.g:1216:2: ( ( rule__BoundedMultiplicity__Group__0 ) ) 4185 // InternalSolverLanguageParser.g:1403:2: ( ( rule__BoundedMultiplicity__Group__0 ) )
3596 { 4186 {
3597 // InternalSolverLanguageParser.g:1216:2: ( ( rule__BoundedMultiplicity__Group__0 ) ) 4187 // InternalSolverLanguageParser.g:1403:2: ( ( rule__BoundedMultiplicity__Group__0 ) )
3598 // InternalSolverLanguageParser.g:1217:3: ( rule__BoundedMultiplicity__Group__0 ) 4188 // InternalSolverLanguageParser.g:1404:3: ( rule__BoundedMultiplicity__Group__0 )
3599 { 4189 {
3600 before(grammarAccess.getBoundedMultiplicityAccess().getGroup()); 4190 before(grammarAccess.getBoundedMultiplicityAccess().getGroup());
3601 // InternalSolverLanguageParser.g:1218:3: ( rule__BoundedMultiplicity__Group__0 ) 4191 // InternalSolverLanguageParser.g:1405:3: ( rule__BoundedMultiplicity__Group__0 )
3602 // InternalSolverLanguageParser.g:1218:4: rule__BoundedMultiplicity__Group__0 4192 // InternalSolverLanguageParser.g:1405:4: rule__BoundedMultiplicity__Group__0
3603 { 4193 {
3604 pushFollow(FOLLOW_2); 4194 pushFollow(FOLLOW_2);
3605 rule__BoundedMultiplicity__Group__0(); 4195 rule__BoundedMultiplicity__Group__0();
@@ -3632,11 +4222,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3632 4222
3633 4223
3634 // $ANTLR start "entryRuleScopeDefinition" 4224 // $ANTLR start "entryRuleScopeDefinition"
3635 // InternalSolverLanguageParser.g:1227:1: entryRuleScopeDefinition : ruleScopeDefinition EOF ; 4225 // InternalSolverLanguageParser.g:1414:1: entryRuleScopeDefinition : ruleScopeDefinition EOF ;
3636 public final void entryRuleScopeDefinition() throws RecognitionException { 4226 public final void entryRuleScopeDefinition() throws RecognitionException {
3637 try { 4227 try {
3638 // InternalSolverLanguageParser.g:1228:1: ( ruleScopeDefinition EOF ) 4228 // InternalSolverLanguageParser.g:1415:1: ( ruleScopeDefinition EOF )
3639 // InternalSolverLanguageParser.g:1229:1: ruleScopeDefinition EOF 4229 // InternalSolverLanguageParser.g:1416:1: ruleScopeDefinition EOF
3640 { 4230 {
3641 before(grammarAccess.getScopeDefinitionRule()); 4231 before(grammarAccess.getScopeDefinitionRule());
3642 pushFollow(FOLLOW_1); 4232 pushFollow(FOLLOW_1);
@@ -3662,21 +4252,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3662 4252
3663 4253
3664 // $ANTLR start "ruleScopeDefinition" 4254 // $ANTLR start "ruleScopeDefinition"
3665 // InternalSolverLanguageParser.g:1236:1: ruleScopeDefinition : ( ( rule__ScopeDefinition__Alternatives ) ) ; 4255 // InternalSolverLanguageParser.g:1423:1: ruleScopeDefinition : ( ( rule__ScopeDefinition__Alternatives ) ) ;
3666 public final void ruleScopeDefinition() throws RecognitionException { 4256 public final void ruleScopeDefinition() throws RecognitionException {
3667 4257
3668 int stackSize = keepStackSize(); 4258 int stackSize = keepStackSize();
3669 4259
3670 try { 4260 try {
3671 // InternalSolverLanguageParser.g:1240:2: ( ( ( rule__ScopeDefinition__Alternatives ) ) ) 4261 // InternalSolverLanguageParser.g:1427:2: ( ( ( rule__ScopeDefinition__Alternatives ) ) )
3672 // InternalSolverLanguageParser.g:1241:2: ( ( rule__ScopeDefinition__Alternatives ) ) 4262 // InternalSolverLanguageParser.g:1428:2: ( ( rule__ScopeDefinition__Alternatives ) )
3673 { 4263 {
3674 // InternalSolverLanguageParser.g:1241:2: ( ( rule__ScopeDefinition__Alternatives ) ) 4264 // InternalSolverLanguageParser.g:1428:2: ( ( rule__ScopeDefinition__Alternatives ) )
3675 // InternalSolverLanguageParser.g:1242:3: ( rule__ScopeDefinition__Alternatives ) 4265 // InternalSolverLanguageParser.g:1429:3: ( rule__ScopeDefinition__Alternatives )
3676 { 4266 {
3677 before(grammarAccess.getScopeDefinitionAccess().getAlternatives()); 4267 before(grammarAccess.getScopeDefinitionAccess().getAlternatives());
3678 // InternalSolverLanguageParser.g:1243:3: ( rule__ScopeDefinition__Alternatives ) 4268 // InternalSolverLanguageParser.g:1430:3: ( rule__ScopeDefinition__Alternatives )
3679 // InternalSolverLanguageParser.g:1243:4: rule__ScopeDefinition__Alternatives 4269 // InternalSolverLanguageParser.g:1430:4: rule__ScopeDefinition__Alternatives
3680 { 4270 {
3681 pushFollow(FOLLOW_2); 4271 pushFollow(FOLLOW_2);
3682 rule__ScopeDefinition__Alternatives(); 4272 rule__ScopeDefinition__Alternatives();
@@ -3709,11 +4299,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3709 4299
3710 4300
3711 // $ANTLR start "entryRuleExactScopeDefinition" 4301 // $ANTLR start "entryRuleExactScopeDefinition"
3712 // InternalSolverLanguageParser.g:1252:1: entryRuleExactScopeDefinition : ruleExactScopeDefinition EOF ; 4302 // InternalSolverLanguageParser.g:1439:1: entryRuleExactScopeDefinition : ruleExactScopeDefinition EOF ;
3713 public final void entryRuleExactScopeDefinition() throws RecognitionException { 4303 public final void entryRuleExactScopeDefinition() throws RecognitionException {
3714 try { 4304 try {
3715 // InternalSolverLanguageParser.g:1253:1: ( ruleExactScopeDefinition EOF ) 4305 // InternalSolverLanguageParser.g:1440:1: ( ruleExactScopeDefinition EOF )
3716 // InternalSolverLanguageParser.g:1254:1: ruleExactScopeDefinition EOF 4306 // InternalSolverLanguageParser.g:1441:1: ruleExactScopeDefinition EOF
3717 { 4307 {
3718 before(grammarAccess.getExactScopeDefinitionRule()); 4308 before(grammarAccess.getExactScopeDefinitionRule());
3719 pushFollow(FOLLOW_1); 4309 pushFollow(FOLLOW_1);
@@ -3739,21 +4329,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3739 4329
3740 4330
3741 // $ANTLR start "ruleExactScopeDefinition" 4331 // $ANTLR start "ruleExactScopeDefinition"
3742 // InternalSolverLanguageParser.g:1261:1: ruleExactScopeDefinition : ( ( rule__ExactScopeDefinition__Group__0 ) ) ; 4332 // InternalSolverLanguageParser.g:1448:1: ruleExactScopeDefinition : ( ( rule__ExactScopeDefinition__Group__0 ) ) ;
3743 public final void ruleExactScopeDefinition() throws RecognitionException { 4333 public final void ruleExactScopeDefinition() throws RecognitionException {
3744 4334
3745 int stackSize = keepStackSize(); 4335 int stackSize = keepStackSize();
3746 4336
3747 try { 4337 try {
3748 // InternalSolverLanguageParser.g:1265:2: ( ( ( rule__ExactScopeDefinition__Group__0 ) ) ) 4338 // InternalSolverLanguageParser.g:1452:2: ( ( ( rule__ExactScopeDefinition__Group__0 ) ) )
3749 // InternalSolverLanguageParser.g:1266:2: ( ( rule__ExactScopeDefinition__Group__0 ) ) 4339 // InternalSolverLanguageParser.g:1453:2: ( ( rule__ExactScopeDefinition__Group__0 ) )
3750 { 4340 {
3751 // InternalSolverLanguageParser.g:1266:2: ( ( rule__ExactScopeDefinition__Group__0 ) ) 4341 // InternalSolverLanguageParser.g:1453:2: ( ( rule__ExactScopeDefinition__Group__0 ) )
3752 // InternalSolverLanguageParser.g:1267:3: ( rule__ExactScopeDefinition__Group__0 ) 4342 // InternalSolverLanguageParser.g:1454:3: ( rule__ExactScopeDefinition__Group__0 )
3753 { 4343 {
3754 before(grammarAccess.getExactScopeDefinitionAccess().getGroup()); 4344 before(grammarAccess.getExactScopeDefinitionAccess().getGroup());
3755 // InternalSolverLanguageParser.g:1268:3: ( rule__ExactScopeDefinition__Group__0 ) 4345 // InternalSolverLanguageParser.g:1455:3: ( rule__ExactScopeDefinition__Group__0 )
3756 // InternalSolverLanguageParser.g:1268:4: rule__ExactScopeDefinition__Group__0 4346 // InternalSolverLanguageParser.g:1455:4: rule__ExactScopeDefinition__Group__0
3757 { 4347 {
3758 pushFollow(FOLLOW_2); 4348 pushFollow(FOLLOW_2);
3759 rule__ExactScopeDefinition__Group__0(); 4349 rule__ExactScopeDefinition__Group__0();
@@ -3786,11 +4376,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3786 4376
3787 4377
3788 // $ANTLR start "entryRuleBoundedScopeDefinition" 4378 // $ANTLR start "entryRuleBoundedScopeDefinition"
3789 // InternalSolverLanguageParser.g:1277:1: entryRuleBoundedScopeDefinition : ruleBoundedScopeDefinition EOF ; 4379 // InternalSolverLanguageParser.g:1464:1: entryRuleBoundedScopeDefinition : ruleBoundedScopeDefinition EOF ;
3790 public final void entryRuleBoundedScopeDefinition() throws RecognitionException { 4380 public final void entryRuleBoundedScopeDefinition() throws RecognitionException {
3791 try { 4381 try {
3792 // InternalSolverLanguageParser.g:1278:1: ( ruleBoundedScopeDefinition EOF ) 4382 // InternalSolverLanguageParser.g:1465:1: ( ruleBoundedScopeDefinition EOF )
3793 // InternalSolverLanguageParser.g:1279:1: ruleBoundedScopeDefinition EOF 4383 // InternalSolverLanguageParser.g:1466:1: ruleBoundedScopeDefinition EOF
3794 { 4384 {
3795 before(grammarAccess.getBoundedScopeDefinitionRule()); 4385 before(grammarAccess.getBoundedScopeDefinitionRule());
3796 pushFollow(FOLLOW_1); 4386 pushFollow(FOLLOW_1);
@@ -3816,21 +4406,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3816 4406
3817 4407
3818 // $ANTLR start "ruleBoundedScopeDefinition" 4408 // $ANTLR start "ruleBoundedScopeDefinition"
3819 // InternalSolverLanguageParser.g:1286:1: ruleBoundedScopeDefinition : ( ( rule__BoundedScopeDefinition__Group__0 ) ) ; 4409 // InternalSolverLanguageParser.g:1473:1: ruleBoundedScopeDefinition : ( ( rule__BoundedScopeDefinition__Group__0 ) ) ;
3820 public final void ruleBoundedScopeDefinition() throws RecognitionException { 4410 public final void ruleBoundedScopeDefinition() throws RecognitionException {
3821 4411
3822 int stackSize = keepStackSize(); 4412 int stackSize = keepStackSize();
3823 4413
3824 try { 4414 try {
3825 // InternalSolverLanguageParser.g:1290:2: ( ( ( rule__BoundedScopeDefinition__Group__0 ) ) ) 4415 // InternalSolverLanguageParser.g:1477:2: ( ( ( rule__BoundedScopeDefinition__Group__0 ) ) )
3826 // InternalSolverLanguageParser.g:1291:2: ( ( rule__BoundedScopeDefinition__Group__0 ) ) 4416 // InternalSolverLanguageParser.g:1478:2: ( ( rule__BoundedScopeDefinition__Group__0 ) )
3827 { 4417 {
3828 // InternalSolverLanguageParser.g:1291:2: ( ( rule__BoundedScopeDefinition__Group__0 ) ) 4418 // InternalSolverLanguageParser.g:1478:2: ( ( rule__BoundedScopeDefinition__Group__0 ) )
3829 // InternalSolverLanguageParser.g:1292:3: ( rule__BoundedScopeDefinition__Group__0 ) 4419 // InternalSolverLanguageParser.g:1479:3: ( rule__BoundedScopeDefinition__Group__0 )
3830 { 4420 {
3831 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); 4421 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup());
3832 // InternalSolverLanguageParser.g:1293:3: ( rule__BoundedScopeDefinition__Group__0 ) 4422 // InternalSolverLanguageParser.g:1480:3: ( rule__BoundedScopeDefinition__Group__0 )
3833 // InternalSolverLanguageParser.g:1293:4: rule__BoundedScopeDefinition__Group__0 4423 // InternalSolverLanguageParser.g:1480:4: rule__BoundedScopeDefinition__Group__0
3834 { 4424 {
3835 pushFollow(FOLLOW_2); 4425 pushFollow(FOLLOW_2);
3836 rule__BoundedScopeDefinition__Group__0(); 4426 rule__BoundedScopeDefinition__Group__0();
@@ -3863,11 +4453,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3863 4453
3864 4454
3865 // $ANTLR start "entryRuleLowerBoundedScopeDefinition" 4455 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
3866 // InternalSolverLanguageParser.g:1302:1: entryRuleLowerBoundedScopeDefinition : ruleLowerBoundedScopeDefinition EOF ; 4456 // InternalSolverLanguageParser.g:1489:1: entryRuleLowerBoundedScopeDefinition : ruleLowerBoundedScopeDefinition EOF ;
3867 public final void entryRuleLowerBoundedScopeDefinition() throws RecognitionException { 4457 public final void entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
3868 try { 4458 try {
3869 // InternalSolverLanguageParser.g:1303:1: ( ruleLowerBoundedScopeDefinition EOF ) 4459 // InternalSolverLanguageParser.g:1490:1: ( ruleLowerBoundedScopeDefinition EOF )
3870 // InternalSolverLanguageParser.g:1304:1: ruleLowerBoundedScopeDefinition EOF 4460 // InternalSolverLanguageParser.g:1491:1: ruleLowerBoundedScopeDefinition EOF
3871 { 4461 {
3872 before(grammarAccess.getLowerBoundedScopeDefinitionRule()); 4462 before(grammarAccess.getLowerBoundedScopeDefinitionRule());
3873 pushFollow(FOLLOW_1); 4463 pushFollow(FOLLOW_1);
@@ -3893,21 +4483,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3893 4483
3894 4484
3895 // $ANTLR start "ruleLowerBoundedScopeDefinition" 4485 // $ANTLR start "ruleLowerBoundedScopeDefinition"
3896 // InternalSolverLanguageParser.g:1311:1: ruleLowerBoundedScopeDefinition : ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ; 4486 // InternalSolverLanguageParser.g:1498:1: ruleLowerBoundedScopeDefinition : ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ;
3897 public final void ruleLowerBoundedScopeDefinition() throws RecognitionException { 4487 public final void ruleLowerBoundedScopeDefinition() throws RecognitionException {
3898 4488
3899 int stackSize = keepStackSize(); 4489 int stackSize = keepStackSize();
3900 4490
3901 try { 4491 try {
3902 // InternalSolverLanguageParser.g:1315:2: ( ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ) 4492 // InternalSolverLanguageParser.g:1502:2: ( ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) )
3903 // InternalSolverLanguageParser.g:1316:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) 4493 // InternalSolverLanguageParser.g:1503:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) )
3904 { 4494 {
3905 // InternalSolverLanguageParser.g:1316:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) 4495 // InternalSolverLanguageParser.g:1503:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) )
3906 // InternalSolverLanguageParser.g:1317:3: ( rule__LowerBoundedScopeDefinition__Group__0 ) 4496 // InternalSolverLanguageParser.g:1504:3: ( rule__LowerBoundedScopeDefinition__Group__0 )
3907 { 4497 {
3908 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); 4498 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup());
3909 // InternalSolverLanguageParser.g:1318:3: ( rule__LowerBoundedScopeDefinition__Group__0 ) 4499 // InternalSolverLanguageParser.g:1505:3: ( rule__LowerBoundedScopeDefinition__Group__0 )
3910 // InternalSolverLanguageParser.g:1318:4: rule__LowerBoundedScopeDefinition__Group__0 4500 // InternalSolverLanguageParser.g:1505:4: rule__LowerBoundedScopeDefinition__Group__0
3911 { 4501 {
3912 pushFollow(FOLLOW_2); 4502 pushFollow(FOLLOW_2);
3913 rule__LowerBoundedScopeDefinition__Group__0(); 4503 rule__LowerBoundedScopeDefinition__Group__0();
@@ -3940,11 +4530,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3940 4530
3941 4531
3942 // $ANTLR start "entryRuleObjectiveDefinition" 4532 // $ANTLR start "entryRuleObjectiveDefinition"
3943 // InternalSolverLanguageParser.g:1327:1: entryRuleObjectiveDefinition : ruleObjectiveDefinition EOF ; 4533 // InternalSolverLanguageParser.g:1514:1: entryRuleObjectiveDefinition : ruleObjectiveDefinition EOF ;
3944 public final void entryRuleObjectiveDefinition() throws RecognitionException { 4534 public final void entryRuleObjectiveDefinition() throws RecognitionException {
3945 try { 4535 try {
3946 // InternalSolverLanguageParser.g:1328:1: ( ruleObjectiveDefinition EOF ) 4536 // InternalSolverLanguageParser.g:1515:1: ( ruleObjectiveDefinition EOF )
3947 // InternalSolverLanguageParser.g:1329:1: ruleObjectiveDefinition EOF 4537 // InternalSolverLanguageParser.g:1516:1: ruleObjectiveDefinition EOF
3948 { 4538 {
3949 before(grammarAccess.getObjectiveDefinitionRule()); 4539 before(grammarAccess.getObjectiveDefinitionRule());
3950 pushFollow(FOLLOW_1); 4540 pushFollow(FOLLOW_1);
@@ -3970,21 +4560,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3970 4560
3971 4561
3972 // $ANTLR start "ruleObjectiveDefinition" 4562 // $ANTLR start "ruleObjectiveDefinition"
3973 // InternalSolverLanguageParser.g:1336:1: ruleObjectiveDefinition : ( ( rule__ObjectiveDefinition__Group__0 ) ) ; 4563 // InternalSolverLanguageParser.g:1523:1: ruleObjectiveDefinition : ( ( rule__ObjectiveDefinition__Group__0 ) ) ;
3974 public final void ruleObjectiveDefinition() throws RecognitionException { 4564 public final void ruleObjectiveDefinition() throws RecognitionException {
3975 4565
3976 int stackSize = keepStackSize(); 4566 int stackSize = keepStackSize();
3977 4567
3978 try { 4568 try {
3979 // InternalSolverLanguageParser.g:1340:2: ( ( ( rule__ObjectiveDefinition__Group__0 ) ) ) 4569 // InternalSolverLanguageParser.g:1527:2: ( ( ( rule__ObjectiveDefinition__Group__0 ) ) )
3980 // InternalSolverLanguageParser.g:1341:2: ( ( rule__ObjectiveDefinition__Group__0 ) ) 4570 // InternalSolverLanguageParser.g:1528:2: ( ( rule__ObjectiveDefinition__Group__0 ) )
3981 { 4571 {
3982 // InternalSolverLanguageParser.g:1341:2: ( ( rule__ObjectiveDefinition__Group__0 ) ) 4572 // InternalSolverLanguageParser.g:1528:2: ( ( rule__ObjectiveDefinition__Group__0 ) )
3983 // InternalSolverLanguageParser.g:1342:3: ( rule__ObjectiveDefinition__Group__0 ) 4573 // InternalSolverLanguageParser.g:1529:3: ( rule__ObjectiveDefinition__Group__0 )
3984 { 4574 {
3985 before(grammarAccess.getObjectiveDefinitionAccess().getGroup()); 4575 before(grammarAccess.getObjectiveDefinitionAccess().getGroup());
3986 // InternalSolverLanguageParser.g:1343:3: ( rule__ObjectiveDefinition__Group__0 ) 4576 // InternalSolverLanguageParser.g:1530:3: ( rule__ObjectiveDefinition__Group__0 )
3987 // InternalSolverLanguageParser.g:1343:4: rule__ObjectiveDefinition__Group__0 4577 // InternalSolverLanguageParser.g:1530:4: rule__ObjectiveDefinition__Group__0
3988 { 4578 {
3989 pushFollow(FOLLOW_2); 4579 pushFollow(FOLLOW_2);
3990 rule__ObjectiveDefinition__Group__0(); 4580 rule__ObjectiveDefinition__Group__0();
@@ -4017,11 +4607,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4017 4607
4018 4608
4019 // $ANTLR start "entryRuleUpperMultiplicty" 4609 // $ANTLR start "entryRuleUpperMultiplicty"
4020 // InternalSolverLanguageParser.g:1352:1: entryRuleUpperMultiplicty : ruleUpperMultiplicty EOF ; 4610 // InternalSolverLanguageParser.g:1539:1: entryRuleUpperMultiplicty : ruleUpperMultiplicty EOF ;
4021 public final void entryRuleUpperMultiplicty() throws RecognitionException { 4611 public final void entryRuleUpperMultiplicty() throws RecognitionException {
4022 try { 4612 try {
4023 // InternalSolverLanguageParser.g:1353:1: ( ruleUpperMultiplicty EOF ) 4613 // InternalSolverLanguageParser.g:1540:1: ( ruleUpperMultiplicty EOF )
4024 // InternalSolverLanguageParser.g:1354:1: ruleUpperMultiplicty EOF 4614 // InternalSolverLanguageParser.g:1541:1: ruleUpperMultiplicty EOF
4025 { 4615 {
4026 before(grammarAccess.getUpperMultiplictyRule()); 4616 before(grammarAccess.getUpperMultiplictyRule());
4027 pushFollow(FOLLOW_1); 4617 pushFollow(FOLLOW_1);
@@ -4047,21 +4637,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4047 4637
4048 4638
4049 // $ANTLR start "ruleUpperMultiplicty" 4639 // $ANTLR start "ruleUpperMultiplicty"
4050 // InternalSolverLanguageParser.g:1361:1: ruleUpperMultiplicty : ( ( rule__UpperMultiplicty__Alternatives ) ) ; 4640 // InternalSolverLanguageParser.g:1548:1: ruleUpperMultiplicty : ( ( rule__UpperMultiplicty__Alternatives ) ) ;
4051 public final void ruleUpperMultiplicty() throws RecognitionException { 4641 public final void ruleUpperMultiplicty() throws RecognitionException {
4052 4642
4053 int stackSize = keepStackSize(); 4643 int stackSize = keepStackSize();
4054 4644
4055 try { 4645 try {
4056 // InternalSolverLanguageParser.g:1365:2: ( ( ( rule__UpperMultiplicty__Alternatives ) ) ) 4646 // InternalSolverLanguageParser.g:1552:2: ( ( ( rule__UpperMultiplicty__Alternatives ) ) )
4057 // InternalSolverLanguageParser.g:1366:2: ( ( rule__UpperMultiplicty__Alternatives ) ) 4647 // InternalSolverLanguageParser.g:1553:2: ( ( rule__UpperMultiplicty__Alternatives ) )
4058 { 4648 {
4059 // InternalSolverLanguageParser.g:1366:2: ( ( rule__UpperMultiplicty__Alternatives ) ) 4649 // InternalSolverLanguageParser.g:1553:2: ( ( rule__UpperMultiplicty__Alternatives ) )
4060 // InternalSolverLanguageParser.g:1367:3: ( rule__UpperMultiplicty__Alternatives ) 4650 // InternalSolverLanguageParser.g:1554:3: ( rule__UpperMultiplicty__Alternatives )
4061 { 4651 {
4062 before(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); 4652 before(grammarAccess.getUpperMultiplictyAccess().getAlternatives());
4063 // InternalSolverLanguageParser.g:1368:3: ( rule__UpperMultiplicty__Alternatives ) 4653 // InternalSolverLanguageParser.g:1555:3: ( rule__UpperMultiplicty__Alternatives )
4064 // InternalSolverLanguageParser.g:1368:4: rule__UpperMultiplicty__Alternatives 4654 // InternalSolverLanguageParser.g:1555:4: rule__UpperMultiplicty__Alternatives
4065 { 4655 {
4066 pushFollow(FOLLOW_2); 4656 pushFollow(FOLLOW_2);
4067 rule__UpperMultiplicty__Alternatives(); 4657 rule__UpperMultiplicty__Alternatives();
@@ -4094,14 +4684,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4094 4684
4095 4685
4096 // $ANTLR start "entryRuleReal" 4686 // $ANTLR start "entryRuleReal"
4097 // InternalSolverLanguageParser.g:1377:1: entryRuleReal : ruleReal EOF ; 4687 // InternalSolverLanguageParser.g:1564:1: entryRuleReal : ruleReal EOF ;
4098 public final void entryRuleReal() throws RecognitionException { 4688 public final void entryRuleReal() throws RecognitionException {
4099 4689
4100 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 4690 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4101 4691
4102 try { 4692 try {
4103 // InternalSolverLanguageParser.g:1381:1: ( ruleReal EOF ) 4693 // InternalSolverLanguageParser.g:1568:1: ( ruleReal EOF )
4104 // InternalSolverLanguageParser.g:1382:1: ruleReal EOF 4694 // InternalSolverLanguageParser.g:1569:1: ruleReal EOF
4105 { 4695 {
4106 before(grammarAccess.getRealRule()); 4696 before(grammarAccess.getRealRule());
4107 pushFollow(FOLLOW_1); 4697 pushFollow(FOLLOW_1);
@@ -4130,22 +4720,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4130 4720
4131 4721
4132 // $ANTLR start "ruleReal" 4722 // $ANTLR start "ruleReal"
4133 // InternalSolverLanguageParser.g:1392:1: ruleReal : ( ( rule__Real__Group__0 ) ) ; 4723 // InternalSolverLanguageParser.g:1579:1: ruleReal : ( ( rule__Real__Group__0 ) ) ;
4134 public final void ruleReal() throws RecognitionException { 4724 public final void ruleReal() throws RecognitionException {
4135 4725
4136 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 4726 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4137 int stackSize = keepStackSize(); 4727 int stackSize = keepStackSize();
4138 4728
4139 try { 4729 try {
4140 // InternalSolverLanguageParser.g:1397:2: ( ( ( rule__Real__Group__0 ) ) ) 4730 // InternalSolverLanguageParser.g:1584:2: ( ( ( rule__Real__Group__0 ) ) )
4141 // InternalSolverLanguageParser.g:1398:2: ( ( rule__Real__Group__0 ) ) 4731 // InternalSolverLanguageParser.g:1585:2: ( ( rule__Real__Group__0 ) )
4142 { 4732 {
4143 // InternalSolverLanguageParser.g:1398:2: ( ( rule__Real__Group__0 ) ) 4733 // InternalSolverLanguageParser.g:1585:2: ( ( rule__Real__Group__0 ) )
4144 // InternalSolverLanguageParser.g:1399:3: ( rule__Real__Group__0 ) 4734 // InternalSolverLanguageParser.g:1586:3: ( rule__Real__Group__0 )
4145 { 4735 {
4146 before(grammarAccess.getRealAccess().getGroup()); 4736 before(grammarAccess.getRealAccess().getGroup());
4147 // InternalSolverLanguageParser.g:1400:3: ( rule__Real__Group__0 ) 4737 // InternalSolverLanguageParser.g:1587:3: ( rule__Real__Group__0 )
4148 // InternalSolverLanguageParser.g:1400:4: rule__Real__Group__0 4738 // InternalSolverLanguageParser.g:1587:4: rule__Real__Group__0
4149 { 4739 {
4150 pushFollow(FOLLOW_2); 4740 pushFollow(FOLLOW_2);
4151 rule__Real__Group__0(); 4741 rule__Real__Group__0();
@@ -4179,14 +4769,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4179 4769
4180 4770
4181 // $ANTLR start "entryRuleQualifiedName" 4771 // $ANTLR start "entryRuleQualifiedName"
4182 // InternalSolverLanguageParser.g:1410:1: entryRuleQualifiedName : ruleQualifiedName EOF ; 4772 // InternalSolverLanguageParser.g:1597:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
4183 public final void entryRuleQualifiedName() throws RecognitionException { 4773 public final void entryRuleQualifiedName() throws RecognitionException {
4184 4774
4185 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 4775 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4186 4776
4187 try { 4777 try {
4188 // InternalSolverLanguageParser.g:1414:1: ( ruleQualifiedName EOF ) 4778 // InternalSolverLanguageParser.g:1601:1: ( ruleQualifiedName EOF )
4189 // InternalSolverLanguageParser.g:1415:1: ruleQualifiedName EOF 4779 // InternalSolverLanguageParser.g:1602:1: ruleQualifiedName EOF
4190 { 4780 {
4191 before(grammarAccess.getQualifiedNameRule()); 4781 before(grammarAccess.getQualifiedNameRule());
4192 pushFollow(FOLLOW_1); 4782 pushFollow(FOLLOW_1);
@@ -4215,22 +4805,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4215 4805
4216 4806
4217 // $ANTLR start "ruleQualifiedName" 4807 // $ANTLR start "ruleQualifiedName"
4218 // InternalSolverLanguageParser.g:1425:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ; 4808 // InternalSolverLanguageParser.g:1612:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ;
4219 public final void ruleQualifiedName() throws RecognitionException { 4809 public final void ruleQualifiedName() throws RecognitionException {
4220 4810
4221 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 4811 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4222 int stackSize = keepStackSize(); 4812 int stackSize = keepStackSize();
4223 4813
4224 try { 4814 try {
4225 // InternalSolverLanguageParser.g:1430:2: ( ( ( rule__QualifiedName__Alternatives ) ) ) 4815 // InternalSolverLanguageParser.g:1617:2: ( ( ( rule__QualifiedName__Alternatives ) ) )
4226 // InternalSolverLanguageParser.g:1431:2: ( ( rule__QualifiedName__Alternatives ) ) 4816 // InternalSolverLanguageParser.g:1618:2: ( ( rule__QualifiedName__Alternatives ) )
4227 { 4817 {
4228 // InternalSolverLanguageParser.g:1431:2: ( ( rule__QualifiedName__Alternatives ) ) 4818 // InternalSolverLanguageParser.g:1618:2: ( ( rule__QualifiedName__Alternatives ) )
4229 // InternalSolverLanguageParser.g:1432:3: ( rule__QualifiedName__Alternatives ) 4819 // InternalSolverLanguageParser.g:1619:3: ( rule__QualifiedName__Alternatives )
4230 { 4820 {
4231 before(grammarAccess.getQualifiedNameAccess().getAlternatives()); 4821 before(grammarAccess.getQualifiedNameAccess().getAlternatives());
4232 // InternalSolverLanguageParser.g:1433:3: ( rule__QualifiedName__Alternatives ) 4822 // InternalSolverLanguageParser.g:1620:3: ( rule__QualifiedName__Alternatives )
4233 // InternalSolverLanguageParser.g:1433:4: rule__QualifiedName__Alternatives 4823 // InternalSolverLanguageParser.g:1620:4: rule__QualifiedName__Alternatives
4234 { 4824 {
4235 pushFollow(FOLLOW_2); 4825 pushFollow(FOLLOW_2);
4236 rule__QualifiedName__Alternatives(); 4826 rule__QualifiedName__Alternatives();
@@ -4263,32 +4853,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4263 // $ANTLR end "ruleQualifiedName" 4853 // $ANTLR end "ruleQualifiedName"
4264 4854
4265 4855
4266 // $ANTLR start "ruleMetricType" 4856 // $ANTLR start "ruleImplicationOperator"
4267 // InternalSolverLanguageParser.g:1443:1: ruleMetricType : ( ( rule__MetricType__Alternatives ) ) ; 4857 // InternalSolverLanguageParser.g:1630:1: ruleImplicationOperator : ( ( EqualsSignGreaterThanSign ) ) ;
4268 public final void ruleMetricType() throws RecognitionException { 4858 public final void ruleImplicationOperator() throws RecognitionException {
4269 4859
4270 int stackSize = keepStackSize(); 4860 int stackSize = keepStackSize();
4271 4861
4272 try { 4862 try {
4273 // InternalSolverLanguageParser.g:1447:1: ( ( ( rule__MetricType__Alternatives ) ) ) 4863 // InternalSolverLanguageParser.g:1634:1: ( ( ( EqualsSignGreaterThanSign ) ) )
4274 // InternalSolverLanguageParser.g:1448:2: ( ( rule__MetricType__Alternatives ) ) 4864 // InternalSolverLanguageParser.g:1635:2: ( ( EqualsSignGreaterThanSign ) )
4275 { 4865 {
4276 // InternalSolverLanguageParser.g:1448:2: ( ( rule__MetricType__Alternatives ) ) 4866 // InternalSolverLanguageParser.g:1635:2: ( ( EqualsSignGreaterThanSign ) )
4277 // InternalSolverLanguageParser.g:1449:3: ( rule__MetricType__Alternatives ) 4867 // InternalSolverLanguageParser.g:1636:3: ( EqualsSignGreaterThanSign )
4278 { 4868 {
4279 before(grammarAccess.getMetricTypeAccess().getAlternatives()); 4869 before(grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
4280 // InternalSolverLanguageParser.g:1450:3: ( rule__MetricType__Alternatives ) 4870 // InternalSolverLanguageParser.g:1637:3: ( EqualsSignGreaterThanSign )
4281 // InternalSolverLanguageParser.g:1450:4: rule__MetricType__Alternatives 4871 // InternalSolverLanguageParser.g:1637:4: EqualsSignGreaterThanSign
4282 { 4872 {
4283 pushFollow(FOLLOW_2); 4873 match(input,EqualsSignGreaterThanSign,FOLLOW_2);
4284 rule__MetricType__Alternatives();
4285
4286 state._fsp--;
4287
4288 4874
4289 } 4875 }
4290 4876
4291 after(grammarAccess.getMetricTypeAccess().getAlternatives()); 4877 after(grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
4292 4878
4293 } 4879 }
4294 4880
@@ -4307,25 +4893,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4307 } 4893 }
4308 return ; 4894 return ;
4309 } 4895 }
4310 // $ANTLR end "ruleMetricType" 4896 // $ANTLR end "ruleImplicationOperator"
4311 4897
4312 4898
4313 // $ANTLR start "ruleComparisonOperator" 4899 // $ANTLR start "ruleComparisonOperator"
4314 // InternalSolverLanguageParser.g:1459:1: ruleComparisonOperator : ( ( rule__ComparisonOperator__Alternatives ) ) ; 4900 // InternalSolverLanguageParser.g:1646:1: ruleComparisonOperator : ( ( rule__ComparisonOperator__Alternatives ) ) ;
4315 public final void ruleComparisonOperator() throws RecognitionException { 4901 public final void ruleComparisonOperator() throws RecognitionException {
4316 4902
4317 int stackSize = keepStackSize(); 4903 int stackSize = keepStackSize();
4318 4904
4319 try { 4905 try {
4320 // InternalSolverLanguageParser.g:1463:1: ( ( ( rule__ComparisonOperator__Alternatives ) ) ) 4906 // InternalSolverLanguageParser.g:1650:1: ( ( ( rule__ComparisonOperator__Alternatives ) ) )
4321 // InternalSolverLanguageParser.g:1464:2: ( ( rule__ComparisonOperator__Alternatives ) ) 4907 // InternalSolverLanguageParser.g:1651:2: ( ( rule__ComparisonOperator__Alternatives ) )
4322 { 4908 {
4323 // InternalSolverLanguageParser.g:1464:2: ( ( rule__ComparisonOperator__Alternatives ) ) 4909 // InternalSolverLanguageParser.g:1651:2: ( ( rule__ComparisonOperator__Alternatives ) )
4324 // InternalSolverLanguageParser.g:1465:3: ( rule__ComparisonOperator__Alternatives ) 4910 // InternalSolverLanguageParser.g:1652:3: ( rule__ComparisonOperator__Alternatives )
4325 { 4911 {
4326 before(grammarAccess.getComparisonOperatorAccess().getAlternatives()); 4912 before(grammarAccess.getComparisonOperatorAccess().getAlternatives());
4327 // InternalSolverLanguageParser.g:1466:3: ( rule__ComparisonOperator__Alternatives ) 4913 // InternalSolverLanguageParser.g:1653:3: ( rule__ComparisonOperator__Alternatives )
4328 // InternalSolverLanguageParser.g:1466:4: rule__ComparisonOperator__Alternatives 4914 // InternalSolverLanguageParser.g:1653:4: rule__ComparisonOperator__Alternatives
4329 { 4915 {
4330 pushFollow(FOLLOW_2); 4916 pushFollow(FOLLOW_2);
4331 rule__ComparisonOperator__Alternatives(); 4917 rule__ComparisonOperator__Alternatives();
@@ -4358,21 +4944,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4358 4944
4359 4945
4360 // $ANTLR start "ruleAdditiveBinaryOperator" 4946 // $ANTLR start "ruleAdditiveBinaryOperator"
4361 // InternalSolverLanguageParser.g:1475:1: ruleAdditiveBinaryOperator : ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ; 4947 // InternalSolverLanguageParser.g:1662:1: ruleAdditiveBinaryOperator : ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ;
4362 public final void ruleAdditiveBinaryOperator() throws RecognitionException { 4948 public final void ruleAdditiveBinaryOperator() throws RecognitionException {
4363 4949
4364 int stackSize = keepStackSize(); 4950 int stackSize = keepStackSize();
4365 4951
4366 try { 4952 try {
4367 // InternalSolverLanguageParser.g:1479:1: ( ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ) 4953 // InternalSolverLanguageParser.g:1666:1: ( ( ( rule__AdditiveBinaryOperator__Alternatives ) ) )
4368 // InternalSolverLanguageParser.g:1480:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) ) 4954 // InternalSolverLanguageParser.g:1667:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) )
4369 { 4955 {
4370 // InternalSolverLanguageParser.g:1480:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) ) 4956 // InternalSolverLanguageParser.g:1667:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) )
4371 // InternalSolverLanguageParser.g:1481:3: ( rule__AdditiveBinaryOperator__Alternatives ) 4957 // InternalSolverLanguageParser.g:1668:3: ( rule__AdditiveBinaryOperator__Alternatives )
4372 { 4958 {
4373 before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); 4959 before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives());
4374 // InternalSolverLanguageParser.g:1482:3: ( rule__AdditiveBinaryOperator__Alternatives ) 4960 // InternalSolverLanguageParser.g:1669:3: ( rule__AdditiveBinaryOperator__Alternatives )
4375 // InternalSolverLanguageParser.g:1482:4: rule__AdditiveBinaryOperator__Alternatives 4961 // InternalSolverLanguageParser.g:1669:4: rule__AdditiveBinaryOperator__Alternatives
4376 { 4962 {
4377 pushFollow(FOLLOW_2); 4963 pushFollow(FOLLOW_2);
4378 rule__AdditiveBinaryOperator__Alternatives(); 4964 rule__AdditiveBinaryOperator__Alternatives();
@@ -4405,21 +4991,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4405 4991
4406 4992
4407 // $ANTLR start "ruleMultiplicativeBinaryOperator" 4993 // $ANTLR start "ruleMultiplicativeBinaryOperator"
4408 // InternalSolverLanguageParser.g:1491:1: ruleMultiplicativeBinaryOperator : ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ; 4994 // InternalSolverLanguageParser.g:1678:1: ruleMultiplicativeBinaryOperator : ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ;
4409 public final void ruleMultiplicativeBinaryOperator() throws RecognitionException { 4995 public final void ruleMultiplicativeBinaryOperator() throws RecognitionException {
4410 4996
4411 int stackSize = keepStackSize(); 4997 int stackSize = keepStackSize();
4412 4998
4413 try { 4999 try {
4414 // InternalSolverLanguageParser.g:1495:1: ( ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ) 5000 // InternalSolverLanguageParser.g:1682:1: ( ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) )
4415 // InternalSolverLanguageParser.g:1496:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) 5001 // InternalSolverLanguageParser.g:1683:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) )
4416 { 5002 {
4417 // InternalSolverLanguageParser.g:1496:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) 5003 // InternalSolverLanguageParser.g:1683:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) )
4418 // InternalSolverLanguageParser.g:1497:3: ( rule__MultiplicativeBinaryOperator__Alternatives ) 5004 // InternalSolverLanguageParser.g:1684:3: ( rule__MultiplicativeBinaryOperator__Alternatives )
4419 { 5005 {
4420 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); 5006 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives());
4421 // InternalSolverLanguageParser.g:1498:3: ( rule__MultiplicativeBinaryOperator__Alternatives ) 5007 // InternalSolverLanguageParser.g:1685:3: ( rule__MultiplicativeBinaryOperator__Alternatives )
4422 // InternalSolverLanguageParser.g:1498:4: rule__MultiplicativeBinaryOperator__Alternatives 5008 // InternalSolverLanguageParser.g:1685:4: rule__MultiplicativeBinaryOperator__Alternatives
4423 { 5009 {
4424 pushFollow(FOLLOW_2); 5010 pushFollow(FOLLOW_2);
4425 rule__MultiplicativeBinaryOperator__Alternatives(); 5011 rule__MultiplicativeBinaryOperator__Alternatives();
@@ -4452,21 +5038,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4452 5038
4453 5039
4454 // $ANTLR start "ruleExponentialOp" 5040 // $ANTLR start "ruleExponentialOp"
4455 // InternalSolverLanguageParser.g:1507:1: ruleExponentialOp : ( ( CircumflexAccent ) ) ; 5041 // InternalSolverLanguageParser.g:1694:1: ruleExponentialOp : ( ( CircumflexAccent ) ) ;
4456 public final void ruleExponentialOp() throws RecognitionException { 5042 public final void ruleExponentialOp() throws RecognitionException {
4457 5043
4458 int stackSize = keepStackSize(); 5044 int stackSize = keepStackSize();
4459 5045
4460 try { 5046 try {
4461 // InternalSolverLanguageParser.g:1511:1: ( ( ( CircumflexAccent ) ) ) 5047 // InternalSolverLanguageParser.g:1698:1: ( ( ( CircumflexAccent ) ) )
4462 // InternalSolverLanguageParser.g:1512:2: ( ( CircumflexAccent ) ) 5048 // InternalSolverLanguageParser.g:1699:2: ( ( CircumflexAccent ) )
4463 { 5049 {
4464 // InternalSolverLanguageParser.g:1512:2: ( ( CircumflexAccent ) ) 5050 // InternalSolverLanguageParser.g:1699:2: ( ( CircumflexAccent ) )
4465 // InternalSolverLanguageParser.g:1513:3: ( CircumflexAccent ) 5051 // InternalSolverLanguageParser.g:1700:3: ( CircumflexAccent )
4466 { 5052 {
4467 before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); 5053 before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration());
4468 // InternalSolverLanguageParser.g:1514:3: ( CircumflexAccent ) 5054 // InternalSolverLanguageParser.g:1701:3: ( CircumflexAccent )
4469 // InternalSolverLanguageParser.g:1514:4: CircumflexAccent 5055 // InternalSolverLanguageParser.g:1701:4: CircumflexAccent
4470 { 5056 {
4471 match(input,CircumflexAccent,FOLLOW_2); 5057 match(input,CircumflexAccent,FOLLOW_2);
4472 5058
@@ -4495,21 +5081,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4495 5081
4496 5082
4497 // $ANTLR start "ruleUnaryOp" 5083 // $ANTLR start "ruleUnaryOp"
4498 // InternalSolverLanguageParser.g:1523:1: ruleUnaryOp : ( ( rule__UnaryOp__Alternatives ) ) ; 5084 // InternalSolverLanguageParser.g:1710:1: ruleUnaryOp : ( ( rule__UnaryOp__Alternatives ) ) ;
4499 public final void ruleUnaryOp() throws RecognitionException { 5085 public final void ruleUnaryOp() throws RecognitionException {
4500 5086
4501 int stackSize = keepStackSize(); 5087 int stackSize = keepStackSize();
4502 5088
4503 try { 5089 try {
4504 // InternalSolverLanguageParser.g:1527:1: ( ( ( rule__UnaryOp__Alternatives ) ) ) 5090 // InternalSolverLanguageParser.g:1714:1: ( ( ( rule__UnaryOp__Alternatives ) ) )
4505 // InternalSolverLanguageParser.g:1528:2: ( ( rule__UnaryOp__Alternatives ) ) 5091 // InternalSolverLanguageParser.g:1715:2: ( ( rule__UnaryOp__Alternatives ) )
4506 { 5092 {
4507 // InternalSolverLanguageParser.g:1528:2: ( ( rule__UnaryOp__Alternatives ) ) 5093 // InternalSolverLanguageParser.g:1715:2: ( ( rule__UnaryOp__Alternatives ) )
4508 // InternalSolverLanguageParser.g:1529:3: ( rule__UnaryOp__Alternatives ) 5094 // InternalSolverLanguageParser.g:1716:3: ( rule__UnaryOp__Alternatives )
4509 { 5095 {
4510 before(grammarAccess.getUnaryOpAccess().getAlternatives()); 5096 before(grammarAccess.getUnaryOpAccess().getAlternatives());
4511 // InternalSolverLanguageParser.g:1530:3: ( rule__UnaryOp__Alternatives ) 5097 // InternalSolverLanguageParser.g:1717:3: ( rule__UnaryOp__Alternatives )
4512 // InternalSolverLanguageParser.g:1530:4: rule__UnaryOp__Alternatives 5098 // InternalSolverLanguageParser.g:1717:4: rule__UnaryOp__Alternatives
4513 { 5099 {
4514 pushFollow(FOLLOW_2); 5100 pushFollow(FOLLOW_2);
4515 rule__UnaryOp__Alternatives(); 5101 rule__UnaryOp__Alternatives();
@@ -4541,32 +5127,32 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4541 // $ANTLR end "ruleUnaryOp" 5127 // $ANTLR end "ruleUnaryOp"
4542 5128
4543 5129
4544 // $ANTLR start "ruleAggregationOp" 5130 // $ANTLR start "ruleQuantifier"
4545 // InternalSolverLanguageParser.g:1539:1: ruleAggregationOp : ( ( rule__AggregationOp__Alternatives ) ) ; 5131 // InternalSolverLanguageParser.g:1726:1: ruleQuantifier : ( ( rule__Quantifier__Alternatives ) ) ;
4546 public final void ruleAggregationOp() throws RecognitionException { 5132 public final void ruleQuantifier() throws RecognitionException {
4547 5133
4548 int stackSize = keepStackSize(); 5134 int stackSize = keepStackSize();
4549 5135
4550 try { 5136 try {
4551 // InternalSolverLanguageParser.g:1543:1: ( ( ( rule__AggregationOp__Alternatives ) ) ) 5137 // InternalSolverLanguageParser.g:1730:1: ( ( ( rule__Quantifier__Alternatives ) ) )
4552 // InternalSolverLanguageParser.g:1544:2: ( ( rule__AggregationOp__Alternatives ) ) 5138 // InternalSolverLanguageParser.g:1731:2: ( ( rule__Quantifier__Alternatives ) )
4553 { 5139 {
4554 // InternalSolverLanguageParser.g:1544:2: ( ( rule__AggregationOp__Alternatives ) ) 5140 // InternalSolverLanguageParser.g:1731:2: ( ( rule__Quantifier__Alternatives ) )
4555 // InternalSolverLanguageParser.g:1545:3: ( rule__AggregationOp__Alternatives ) 5141 // InternalSolverLanguageParser.g:1732:3: ( rule__Quantifier__Alternatives )
4556 { 5142 {
4557 before(grammarAccess.getAggregationOpAccess().getAlternatives()); 5143 before(grammarAccess.getQuantifierAccess().getAlternatives());
4558 // InternalSolverLanguageParser.g:1546:3: ( rule__AggregationOp__Alternatives ) 5144 // InternalSolverLanguageParser.g:1733:3: ( rule__Quantifier__Alternatives )
4559 // InternalSolverLanguageParser.g:1546:4: rule__AggregationOp__Alternatives 5145 // InternalSolverLanguageParser.g:1733:4: rule__Quantifier__Alternatives
4560 { 5146 {
4561 pushFollow(FOLLOW_2); 5147 pushFollow(FOLLOW_2);
4562 rule__AggregationOp__Alternatives(); 5148 rule__Quantifier__Alternatives();
4563 5149
4564 state._fsp--; 5150 state._fsp--;
4565 5151
4566 5152
4567 } 5153 }
4568 5154
4569 after(grammarAccess.getAggregationOpAccess().getAlternatives()); 5155 after(grammarAccess.getQuantifierAccess().getAlternatives());
4570 5156
4571 } 5157 }
4572 5158
@@ -4585,25 +5171,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4585 } 5171 }
4586 return ; 5172 return ;
4587 } 5173 }
4588 // $ANTLR end "ruleAggregationOp" 5174 // $ANTLR end "ruleQuantifier"
4589 5175
4590 5176
4591 // $ANTLR start "ruleLogicValue" 5177 // $ANTLR start "ruleLogicValue"
4592 // InternalSolverLanguageParser.g:1555:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ; 5178 // InternalSolverLanguageParser.g:1742:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ;
4593 public final void ruleLogicValue() throws RecognitionException { 5179 public final void ruleLogicValue() throws RecognitionException {
4594 5180
4595 int stackSize = keepStackSize(); 5181 int stackSize = keepStackSize();
4596 5182
4597 try { 5183 try {
4598 // InternalSolverLanguageParser.g:1559:1: ( ( ( rule__LogicValue__Alternatives ) ) ) 5184 // InternalSolverLanguageParser.g:1746:1: ( ( ( rule__LogicValue__Alternatives ) ) )
4599 // InternalSolverLanguageParser.g:1560:2: ( ( rule__LogicValue__Alternatives ) ) 5185 // InternalSolverLanguageParser.g:1747:2: ( ( rule__LogicValue__Alternatives ) )
4600 { 5186 {
4601 // InternalSolverLanguageParser.g:1560:2: ( ( rule__LogicValue__Alternatives ) ) 5187 // InternalSolverLanguageParser.g:1747:2: ( ( rule__LogicValue__Alternatives ) )
4602 // InternalSolverLanguageParser.g:1561:3: ( rule__LogicValue__Alternatives ) 5188 // InternalSolverLanguageParser.g:1748:3: ( rule__LogicValue__Alternatives )
4603 { 5189 {
4604 before(grammarAccess.getLogicValueAccess().getAlternatives()); 5190 before(grammarAccess.getLogicValueAccess().getAlternatives());
4605 // InternalSolverLanguageParser.g:1562:3: ( rule__LogicValue__Alternatives ) 5191 // InternalSolverLanguageParser.g:1749:3: ( rule__LogicValue__Alternatives )
4606 // InternalSolverLanguageParser.g:1562:4: rule__LogicValue__Alternatives 5192 // InternalSolverLanguageParser.g:1749:4: rule__LogicValue__Alternatives
4607 { 5193 {
4608 pushFollow(FOLLOW_2); 5194 pushFollow(FOLLOW_2);
4609 rule__LogicValue__Alternatives(); 5195 rule__LogicValue__Alternatives();
@@ -4636,21 +5222,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4636 5222
4637 5223
4638 // $ANTLR start "ruleObjectiveKind" 5224 // $ANTLR start "ruleObjectiveKind"
4639 // InternalSolverLanguageParser.g:1571:1: ruleObjectiveKind : ( ( rule__ObjectiveKind__Alternatives ) ) ; 5225 // InternalSolverLanguageParser.g:1758:1: ruleObjectiveKind : ( ( rule__ObjectiveKind__Alternatives ) ) ;
4640 public final void ruleObjectiveKind() throws RecognitionException { 5226 public final void ruleObjectiveKind() throws RecognitionException {
4641 5227
4642 int stackSize = keepStackSize(); 5228 int stackSize = keepStackSize();
4643 5229
4644 try { 5230 try {
4645 // InternalSolverLanguageParser.g:1575:1: ( ( ( rule__ObjectiveKind__Alternatives ) ) ) 5231 // InternalSolverLanguageParser.g:1762:1: ( ( ( rule__ObjectiveKind__Alternatives ) ) )
4646 // InternalSolverLanguageParser.g:1576:2: ( ( rule__ObjectiveKind__Alternatives ) ) 5232 // InternalSolverLanguageParser.g:1763:2: ( ( rule__ObjectiveKind__Alternatives ) )
4647 { 5233 {
4648 // InternalSolverLanguageParser.g:1576:2: ( ( rule__ObjectiveKind__Alternatives ) ) 5234 // InternalSolverLanguageParser.g:1763:2: ( ( rule__ObjectiveKind__Alternatives ) )
4649 // InternalSolverLanguageParser.g:1577:3: ( rule__ObjectiveKind__Alternatives ) 5235 // InternalSolverLanguageParser.g:1764:3: ( rule__ObjectiveKind__Alternatives )
4650 { 5236 {
4651 before(grammarAccess.getObjectiveKindAccess().getAlternatives()); 5237 before(grammarAccess.getObjectiveKindAccess().getAlternatives());
4652 // InternalSolverLanguageParser.g:1578:3: ( rule__ObjectiveKind__Alternatives ) 5238 // InternalSolverLanguageParser.g:1765:3: ( rule__ObjectiveKind__Alternatives )
4653 // InternalSolverLanguageParser.g:1578:4: rule__ObjectiveKind__Alternatives 5239 // InternalSolverLanguageParser.g:1765:4: rule__ObjectiveKind__Alternatives
4654 { 5240 {
4655 pushFollow(FOLLOW_2); 5241 pushFollow(FOLLOW_2);
4656 rule__ObjectiveKind__Alternatives(); 5242 rule__ObjectiveKind__Alternatives();
@@ -4683,21 +5269,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4683 5269
4684 5270
4685 // $ANTLR start "rule__Statement__Alternatives_0" 5271 // $ANTLR start "rule__Statement__Alternatives_0"
4686 // InternalSolverLanguageParser.g:1586:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) ); 5272 // InternalSolverLanguageParser.g:1773:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleMetricDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleExternMetricDefinition ) | ( ruleExternAggregatorDefinition ) | ( ruleExternDatatypeDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );
4687 public final void rule__Statement__Alternatives_0() throws RecognitionException { 5273 public final void rule__Statement__Alternatives_0() throws RecognitionException {
4688 5274
4689 int stackSize = keepStackSize(); 5275 int stackSize = keepStackSize();
4690 5276
4691 try { 5277 try {
4692 // InternalSolverLanguageParser.g:1590:1: ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) ) 5278 // InternalSolverLanguageParser.g:1777:1: ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleMetricDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleExternMetricDefinition ) | ( ruleExternAggregatorDefinition ) | ( ruleExternDatatypeDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) )
4693 int alt2=10; 5279 int alt2=12;
4694 alt2 = dfa2.predict(input); 5280 alt2 = dfa2.predict(input);
4695 switch (alt2) { 5281 switch (alt2) {
4696 case 1 : 5282 case 1 :
4697 // InternalSolverLanguageParser.g:1591:2: ( ruleAssertionOrDefinition ) 5283 // InternalSolverLanguageParser.g:1778:2: ( ruleAssertionOrDefinition )
4698 { 5284 {
4699 // InternalSolverLanguageParser.g:1591:2: ( ruleAssertionOrDefinition ) 5285 // InternalSolverLanguageParser.g:1778:2: ( ruleAssertionOrDefinition )
4700 // InternalSolverLanguageParser.g:1592:3: ruleAssertionOrDefinition 5286 // InternalSolverLanguageParser.g:1779:3: ruleAssertionOrDefinition
4701 { 5287 {
4702 before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); 5288 before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0());
4703 pushFollow(FOLLOW_2); 5289 pushFollow(FOLLOW_2);
@@ -4713,10 +5299,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4713 } 5299 }
4714 break; 5300 break;
4715 case 2 : 5301 case 2 :
4716 // InternalSolverLanguageParser.g:1597:2: ( rulePredicateDefinition ) 5302 // InternalSolverLanguageParser.g:1784:2: ( rulePredicateDefinition )
4717 { 5303 {
4718 // InternalSolverLanguageParser.g:1597:2: ( rulePredicateDefinition ) 5304 // InternalSolverLanguageParser.g:1784:2: ( rulePredicateDefinition )
4719 // InternalSolverLanguageParser.g:1598:3: rulePredicateDefinition 5305 // InternalSolverLanguageParser.g:1785:3: rulePredicateDefinition
4720 { 5306 {
4721 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); 5307 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
4722 pushFollow(FOLLOW_2); 5308 pushFollow(FOLLOW_2);
@@ -4732,10 +5318,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4732 } 5318 }
4733 break; 5319 break;
4734 case 3 : 5320 case 3 :
4735 // InternalSolverLanguageParser.g:1603:2: ( ruleUnnamedErrorPrediateDefinition ) 5321 // InternalSolverLanguageParser.g:1790:2: ( ruleUnnamedErrorPrediateDefinition )
4736 { 5322 {
4737 // InternalSolverLanguageParser.g:1603:2: ( ruleUnnamedErrorPrediateDefinition ) 5323 // InternalSolverLanguageParser.g:1790:2: ( ruleUnnamedErrorPrediateDefinition )
4738 // InternalSolverLanguageParser.g:1604:3: ruleUnnamedErrorPrediateDefinition 5324 // InternalSolverLanguageParser.g:1791:3: ruleUnnamedErrorPrediateDefinition
4739 { 5325 {
4740 before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); 5326 before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
4741 pushFollow(FOLLOW_2); 5327 pushFollow(FOLLOW_2);
@@ -4751,10 +5337,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4751 } 5337 }
4752 break; 5338 break;
4753 case 4 : 5339 case 4 :
4754 // InternalSolverLanguageParser.g:1609:2: ( ruleDefaultDefinition ) 5340 // InternalSolverLanguageParser.g:1796:2: ( ruleDefaultDefinition )
4755 { 5341 {
4756 // InternalSolverLanguageParser.g:1609:2: ( ruleDefaultDefinition ) 5342 // InternalSolverLanguageParser.g:1796:2: ( ruleDefaultDefinition )
4757 // InternalSolverLanguageParser.g:1610:3: ruleDefaultDefinition 5343 // InternalSolverLanguageParser.g:1797:3: ruleDefaultDefinition
4758 { 5344 {
4759 before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); 5345 before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
4760 pushFollow(FOLLOW_2); 5346 pushFollow(FOLLOW_2);
@@ -4770,18 +5356,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4770 } 5356 }
4771 break; 5357 break;
4772 case 5 : 5358 case 5 :
4773 // InternalSolverLanguageParser.g:1615:2: ( ruleExternPredicateDefinition ) 5359 // InternalSolverLanguageParser.g:1802:2: ( ruleMetricDefinition )
4774 { 5360 {
4775 // InternalSolverLanguageParser.g:1615:2: ( ruleExternPredicateDefinition ) 5361 // InternalSolverLanguageParser.g:1802:2: ( ruleMetricDefinition )
4776 // InternalSolverLanguageParser.g:1616:3: ruleExternPredicateDefinition 5362 // InternalSolverLanguageParser.g:1803:3: ruleMetricDefinition
4777 { 5363 {
4778 before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 5364 before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
4779 pushFollow(FOLLOW_2); 5365 pushFollow(FOLLOW_2);
4780 ruleExternPredicateDefinition(); 5366 ruleMetricDefinition();
4781 5367
4782 state._fsp--; 5368 state._fsp--;
4783 5369
4784 after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 5370 after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
4785 5371
4786 } 5372 }
4787 5373
@@ -4789,18 +5375,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4789 } 5375 }
4790 break; 5376 break;
4791 case 6 : 5377 case 6 :
4792 // InternalSolverLanguageParser.g:1621:2: ( ruleMetricDefinition ) 5378 // InternalSolverLanguageParser.g:1808:2: ( ruleExternPredicateDefinition )
4793 { 5379 {
4794 // InternalSolverLanguageParser.g:1621:2: ( ruleMetricDefinition ) 5380 // InternalSolverLanguageParser.g:1808:2: ( ruleExternPredicateDefinition )
4795 // InternalSolverLanguageParser.g:1622:3: ruleMetricDefinition 5381 // InternalSolverLanguageParser.g:1809:3: ruleExternPredicateDefinition
4796 { 5382 {
4797 before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 5383 before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
4798 pushFollow(FOLLOW_2); 5384 pushFollow(FOLLOW_2);
4799 ruleMetricDefinition(); 5385 ruleExternPredicateDefinition();
4800 5386
4801 state._fsp--; 5387 state._fsp--;
4802 5388
4803 after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 5389 after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
4804 5390
4805 } 5391 }
4806 5392
@@ -4808,10 +5394,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4808 } 5394 }
4809 break; 5395 break;
4810 case 7 : 5396 case 7 :
4811 // InternalSolverLanguageParser.g:1627:2: ( ruleExternMetricDefinition ) 5397 // InternalSolverLanguageParser.g:1814:2: ( ruleExternMetricDefinition )
4812 { 5398 {
4813 // InternalSolverLanguageParser.g:1627:2: ( ruleExternMetricDefinition ) 5399 // InternalSolverLanguageParser.g:1814:2: ( ruleExternMetricDefinition )
4814 // InternalSolverLanguageParser.g:1628:3: ruleExternMetricDefinition 5400 // InternalSolverLanguageParser.g:1815:3: ruleExternMetricDefinition
4815 { 5401 {
4816 before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); 5402 before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
4817 pushFollow(FOLLOW_2); 5403 pushFollow(FOLLOW_2);
@@ -4827,18 +5413,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4827 } 5413 }
4828 break; 5414 break;
4829 case 8 : 5415 case 8 :
4830 // InternalSolverLanguageParser.g:1633:2: ( ruleClassDefinition ) 5416 // InternalSolverLanguageParser.g:1820:2: ( ruleExternAggregatorDefinition )
4831 { 5417 {
4832 // InternalSolverLanguageParser.g:1633:2: ( ruleClassDefinition ) 5418 // InternalSolverLanguageParser.g:1820:2: ( ruleExternAggregatorDefinition )
4833 // InternalSolverLanguageParser.g:1634:3: ruleClassDefinition 5419 // InternalSolverLanguageParser.g:1821:3: ruleExternAggregatorDefinition
4834 { 5420 {
4835 before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 5421 before(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
4836 pushFollow(FOLLOW_2); 5422 pushFollow(FOLLOW_2);
4837 ruleClassDefinition(); 5423 ruleExternAggregatorDefinition();
4838 5424
4839 state._fsp--; 5425 state._fsp--;
4840 5426
4841 after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 5427 after(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
4842 5428
4843 } 5429 }
4844 5430
@@ -4846,18 +5432,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4846 } 5432 }
4847 break; 5433 break;
4848 case 9 : 5434 case 9 :
4849 // InternalSolverLanguageParser.g:1639:2: ( ruleScopeDefinition ) 5435 // InternalSolverLanguageParser.g:1826:2: ( ruleExternDatatypeDefinition )
4850 { 5436 {
4851 // InternalSolverLanguageParser.g:1639:2: ( ruleScopeDefinition ) 5437 // InternalSolverLanguageParser.g:1826:2: ( ruleExternDatatypeDefinition )
4852 // InternalSolverLanguageParser.g:1640:3: ruleScopeDefinition 5438 // InternalSolverLanguageParser.g:1827:3: ruleExternDatatypeDefinition
4853 { 5439 {
4854 before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 5440 before(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
4855 pushFollow(FOLLOW_2); 5441 pushFollow(FOLLOW_2);
4856 ruleScopeDefinition(); 5442 ruleExternDatatypeDefinition();
4857 5443
4858 state._fsp--; 5444 state._fsp--;
4859 5445
4860 after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 5446 after(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
4861 5447
4862 } 5448 }
4863 5449
@@ -4865,18 +5451,56 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4865 } 5451 }
4866 break; 5452 break;
4867 case 10 : 5453 case 10 :
4868 // InternalSolverLanguageParser.g:1645:2: ( ruleObjectiveDefinition ) 5454 // InternalSolverLanguageParser.g:1832:2: ( ruleClassDefinition )
5455 {
5456 // InternalSolverLanguageParser.g:1832:2: ( ruleClassDefinition )
5457 // InternalSolverLanguageParser.g:1833:3: ruleClassDefinition
5458 {
5459 before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
5460 pushFollow(FOLLOW_2);
5461 ruleClassDefinition();
5462
5463 state._fsp--;
5464
5465 after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
5466
5467 }
5468
5469
5470 }
5471 break;
5472 case 11 :
5473 // InternalSolverLanguageParser.g:1838:2: ( ruleScopeDefinition )
5474 {
5475 // InternalSolverLanguageParser.g:1838:2: ( ruleScopeDefinition )
5476 // InternalSolverLanguageParser.g:1839:3: ruleScopeDefinition
5477 {
5478 before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
5479 pushFollow(FOLLOW_2);
5480 ruleScopeDefinition();
5481
5482 state._fsp--;
5483
5484 after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
5485
5486 }
5487
5488
5489 }
5490 break;
5491 case 12 :
5492 // InternalSolverLanguageParser.g:1844:2: ( ruleObjectiveDefinition )
4869 { 5493 {
4870 // InternalSolverLanguageParser.g:1645:2: ( ruleObjectiveDefinition ) 5494 // InternalSolverLanguageParser.g:1844:2: ( ruleObjectiveDefinition )
4871 // InternalSolverLanguageParser.g:1646:3: ruleObjectiveDefinition 5495 // InternalSolverLanguageParser.g:1845:3: ruleObjectiveDefinition
4872 { 5496 {
4873 before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 5497 before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
4874 pushFollow(FOLLOW_2); 5498 pushFollow(FOLLOW_2);
4875 ruleObjectiveDefinition(); 5499 ruleObjectiveDefinition();
4876 5500
4877 state._fsp--; 5501 state._fsp--;
4878 5502
4879 after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 5503 after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
4880 5504
4881 } 5505 }
4882 5506
@@ -4901,18 +5525,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4901 5525
4902 5526
4903 // $ANTLR start "rule__AssertionOrDefinition__Alternatives_1" 5527 // $ANTLR start "rule__AssertionOrDefinition__Alternatives_1"
4904 // InternalSolverLanguageParser.g:1655:1: rule__AssertionOrDefinition__Alternatives_1 : ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) ); 5528 // InternalSolverLanguageParser.g:1854:1: rule__AssertionOrDefinition__Alternatives_1 : ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) );
4905 public final void rule__AssertionOrDefinition__Alternatives_1() throws RecognitionException { 5529 public final void rule__AssertionOrDefinition__Alternatives_1() throws RecognitionException {
4906 5530
4907 int stackSize = keepStackSize(); 5531 int stackSize = keepStackSize();
4908 5532
4909 try { 5533 try {
4910 // InternalSolverLanguageParser.g:1659:1: ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) ) 5534 // InternalSolverLanguageParser.g:1858:1: ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) )
4911 int alt3=3; 5535 int alt3=3;
4912 switch ( input.LA(1) ) { 5536 switch ( input.LA(1) ) {
4913 case EOF:
4914 case Colon: 5537 case Colon:
4915 case RULE_FULL_STOP:
4916 { 5538 {
4917 alt3=1; 5539 alt3=1;
4918 } 5540 }
@@ -4936,14 +5558,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4936 5558
4937 switch (alt3) { 5559 switch (alt3) {
4938 case 1 : 5560 case 1 :
4939 // InternalSolverLanguageParser.g:1660:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) 5561 // InternalSolverLanguageParser.g:1859:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) )
4940 { 5562 {
4941 // InternalSolverLanguageParser.g:1660:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) 5563 // InternalSolverLanguageParser.g:1859:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) )
4942 // InternalSolverLanguageParser.g:1661:3: ( rule__AssertionOrDefinition__Group_1_0__0 ) 5564 // InternalSolverLanguageParser.g:1860:3: ( rule__AssertionOrDefinition__Group_1_0__0 )
4943 { 5565 {
4944 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); 5566 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0());
4945 // InternalSolverLanguageParser.g:1662:3: ( rule__AssertionOrDefinition__Group_1_0__0 ) 5567 // InternalSolverLanguageParser.g:1861:3: ( rule__AssertionOrDefinition__Group_1_0__0 )
4946 // InternalSolverLanguageParser.g:1662:4: rule__AssertionOrDefinition__Group_1_0__0 5568 // InternalSolverLanguageParser.g:1861:4: rule__AssertionOrDefinition__Group_1_0__0
4947 { 5569 {
4948 pushFollow(FOLLOW_2); 5570 pushFollow(FOLLOW_2);
4949 rule__AssertionOrDefinition__Group_1_0__0(); 5571 rule__AssertionOrDefinition__Group_1_0__0();
@@ -4961,14 +5583,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4961 } 5583 }
4962 break; 5584 break;
4963 case 2 : 5585 case 2 :
4964 // InternalSolverLanguageParser.g:1666:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) 5586 // InternalSolverLanguageParser.g:1865:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) )
4965 { 5587 {
4966 // InternalSolverLanguageParser.g:1666:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) 5588 // InternalSolverLanguageParser.g:1865:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) )
4967 // InternalSolverLanguageParser.g:1667:3: ( rule__AssertionOrDefinition__Group_1_1__0 ) 5589 // InternalSolverLanguageParser.g:1866:3: ( rule__AssertionOrDefinition__Group_1_1__0 )
4968 { 5590 {
4969 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); 5591 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1());
4970 // InternalSolverLanguageParser.g:1668:3: ( rule__AssertionOrDefinition__Group_1_1__0 ) 5592 // InternalSolverLanguageParser.g:1867:3: ( rule__AssertionOrDefinition__Group_1_1__0 )
4971 // InternalSolverLanguageParser.g:1668:4: rule__AssertionOrDefinition__Group_1_1__0 5593 // InternalSolverLanguageParser.g:1867:4: rule__AssertionOrDefinition__Group_1_1__0
4972 { 5594 {
4973 pushFollow(FOLLOW_2); 5595 pushFollow(FOLLOW_2);
4974 rule__AssertionOrDefinition__Group_1_1__0(); 5596 rule__AssertionOrDefinition__Group_1_1__0();
@@ -4986,14 +5608,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4986 } 5608 }
4987 break; 5609 break;
4988 case 3 : 5610 case 3 :
4989 // InternalSolverLanguageParser.g:1672:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) 5611 // InternalSolverLanguageParser.g:1871:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) )
4990 { 5612 {
4991 // InternalSolverLanguageParser.g:1672:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) 5613 // InternalSolverLanguageParser.g:1871:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) )
4992 // InternalSolverLanguageParser.g:1673:3: ( rule__AssertionOrDefinition__Group_1_2__0 ) 5614 // InternalSolverLanguageParser.g:1872:3: ( rule__AssertionOrDefinition__Group_1_2__0 )
4993 { 5615 {
4994 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); 5616 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2());
4995 // InternalSolverLanguageParser.g:1674:3: ( rule__AssertionOrDefinition__Group_1_2__0 ) 5617 // InternalSolverLanguageParser.g:1873:3: ( rule__AssertionOrDefinition__Group_1_2__0 )
4996 // InternalSolverLanguageParser.g:1674:4: rule__AssertionOrDefinition__Group_1_2__0 5618 // InternalSolverLanguageParser.g:1873:4: rule__AssertionOrDefinition__Group_1_2__0
4997 { 5619 {
4998 pushFollow(FOLLOW_2); 5620 pushFollow(FOLLOW_2);
4999 rule__AssertionOrDefinition__Group_1_2__0(); 5621 rule__AssertionOrDefinition__Group_1_2__0();
@@ -5028,13 +5650,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5028 5650
5029 5651
5030 // $ANTLR start "rule__PredicateDefinition__Alternatives_0" 5652 // $ANTLR start "rule__PredicateDefinition__Alternatives_0"
5031 // InternalSolverLanguageParser.g:1682:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) ); 5653 // InternalSolverLanguageParser.g:1881:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) );
5032 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException { 5654 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException {
5033 5655
5034 int stackSize = keepStackSize(); 5656 int stackSize = keepStackSize();
5035 5657
5036 try { 5658 try {
5037 // InternalSolverLanguageParser.g:1686:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) ) 5659 // InternalSolverLanguageParser.g:1885:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) )
5038 int alt4=2; 5660 int alt4=2;
5039 int LA4_0 = input.LA(1); 5661 int LA4_0 = input.LA(1);
5040 5662
@@ -5052,14 +5674,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5052 } 5674 }
5053 switch (alt4) { 5675 switch (alt4) {
5054 case 1 : 5676 case 1 :
5055 // InternalSolverLanguageParser.g:1687:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 5677 // InternalSolverLanguageParser.g:1886:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
5056 { 5678 {
5057 // InternalSolverLanguageParser.g:1687:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 5679 // InternalSolverLanguageParser.g:1886:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
5058 // InternalSolverLanguageParser.g:1688:3: ( rule__PredicateDefinition__Group_0_0__0 ) 5680 // InternalSolverLanguageParser.g:1887:3: ( rule__PredicateDefinition__Group_0_0__0 )
5059 { 5681 {
5060 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); 5682 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
5061 // InternalSolverLanguageParser.g:1689:3: ( rule__PredicateDefinition__Group_0_0__0 ) 5683 // InternalSolverLanguageParser.g:1888:3: ( rule__PredicateDefinition__Group_0_0__0 )
5062 // InternalSolverLanguageParser.g:1689:4: rule__PredicateDefinition__Group_0_0__0 5684 // InternalSolverLanguageParser.g:1888:4: rule__PredicateDefinition__Group_0_0__0
5063 { 5685 {
5064 pushFollow(FOLLOW_2); 5686 pushFollow(FOLLOW_2);
5065 rule__PredicateDefinition__Group_0_0__0(); 5687 rule__PredicateDefinition__Group_0_0__0();
@@ -5077,14 +5699,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5077 } 5699 }
5078 break; 5700 break;
5079 case 2 : 5701 case 2 :
5080 // InternalSolverLanguageParser.g:1693:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) ) 5702 // InternalSolverLanguageParser.g:1892:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) )
5081 { 5703 {
5082 // InternalSolverLanguageParser.g:1693:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) ) 5704 // InternalSolverLanguageParser.g:1892:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) )
5083 // InternalSolverLanguageParser.g:1694:3: ( rule__PredicateDefinition__Group_0_1__0 ) 5705 // InternalSolverLanguageParser.g:1893:3: ( rule__PredicateDefinition__Group_0_1__0 )
5084 { 5706 {
5085 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); 5707 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1());
5086 // InternalSolverLanguageParser.g:1695:3: ( rule__PredicateDefinition__Group_0_1__0 ) 5708 // InternalSolverLanguageParser.g:1894:3: ( rule__PredicateDefinition__Group_0_1__0 )
5087 // InternalSolverLanguageParser.g:1695:4: rule__PredicateDefinition__Group_0_1__0 5709 // InternalSolverLanguageParser.g:1894:4: rule__PredicateDefinition__Group_0_1__0
5088 { 5710 {
5089 pushFollow(FOLLOW_2); 5711 pushFollow(FOLLOW_2);
5090 rule__PredicateDefinition__Group_0_1__0(); 5712 rule__PredicateDefinition__Group_0_1__0();
@@ -5119,34 +5741,63 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5119 5741
5120 5742
5121 // $ANTLR start "rule__Expression__Alternatives" 5743 // $ANTLR start "rule__Expression__Alternatives"
5122 // InternalSolverLanguageParser.g:1703:1: rule__Expression__Alternatives : ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) ); 5744 // InternalSolverLanguageParser.g:1902:1: rule__Expression__Alternatives : ( ( ruleIfElse ) | ( ruleLet ) | ( ruleImplicationExpression ) );
5123 public final void rule__Expression__Alternatives() throws RecognitionException { 5745 public final void rule__Expression__Alternatives() throws RecognitionException {
5124 5746
5125 int stackSize = keepStackSize(); 5747 int stackSize = keepStackSize();
5126 5748
5127 try { 5749 try {
5128 // InternalSolverLanguageParser.g:1707:1: ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) ) 5750 // InternalSolverLanguageParser.g:1906:1: ( ( ruleIfElse ) | ( ruleLet ) | ( ruleImplicationExpression ) )
5129 int alt5=2; 5751 int alt5=3;
5130 int LA5_0 = input.LA(1); 5752 switch ( input.LA(1) ) {
5131 5753 case If:
5132 if ( (LA5_0==If) ) { 5754 {
5133 alt5=1; 5755 alt5=1;
5134 } 5756 }
5135 else if ( (LA5_0==Current||LA5_0==Unknown||(LA5_0>=Count && LA5_0<=False)||(LA5_0>=Must && LA5_0<=Prod)||LA5_0==True||(LA5_0>=Avg && LA5_0<=Inf)||(LA5_0>=Max && LA5_0<=Sum)||(LA5_0>=ExclamationMark && LA5_0<=LeftParenthesis)||LA5_0==PlusSign||LA5_0==HyphenMinus||LA5_0==LeftSquareBracket||(LA5_0>=RULE_STRING && LA5_0<=RULE_QUOTED_ID)||(LA5_0>=RULE_ID && LA5_0<=RULE_INT)) ) { 5757 break;
5758 case Let:
5759 {
5136 alt5=2; 5760 alt5=2;
5137 } 5761 }
5138 else { 5762 break;
5763 case Current:
5764 case Unknown:
5765 case Exists:
5766 case Forall:
5767 case Count:
5768 case Empty:
5769 case Error:
5770 case False:
5771 case Must:
5772 case True:
5773 case Inf:
5774 case May:
5775 case ExclamationMark:
5776 case LeftParenthesis:
5777 case PlusSign:
5778 case HyphenMinus:
5779 case LeftSquareBracket:
5780 case RULE_STRING:
5781 case RULE_QUOTED_ID:
5782 case RULE_ID:
5783 case RULE_INT:
5784 {
5785 alt5=3;
5786 }
5787 break;
5788 default:
5139 NoViableAltException nvae = 5789 NoViableAltException nvae =
5140 new NoViableAltException("", 5, 0, input); 5790 new NoViableAltException("", 5, 0, input);
5141 5791
5142 throw nvae; 5792 throw nvae;
5143 } 5793 }
5794
5144 switch (alt5) { 5795 switch (alt5) {
5145 case 1 : 5796 case 1 :
5146 // InternalSolverLanguageParser.g:1708:2: ( ruleIfElse ) 5797 // InternalSolverLanguageParser.g:1907:2: ( ruleIfElse )
5147 { 5798 {
5148 // InternalSolverLanguageParser.g:1708:2: ( ruleIfElse ) 5799 // InternalSolverLanguageParser.g:1907:2: ( ruleIfElse )
5149 // InternalSolverLanguageParser.g:1709:3: ruleIfElse 5800 // InternalSolverLanguageParser.g:1908:3: ruleIfElse
5150 { 5801 {
5151 before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 5802 before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
5152 pushFollow(FOLLOW_2); 5803 pushFollow(FOLLOW_2);
@@ -5162,18 +5813,37 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5162 } 5813 }
5163 break; 5814 break;
5164 case 2 : 5815 case 2 :
5165 // InternalSolverLanguageParser.g:1714:2: ( ruleDisjunctiveExpression ) 5816 // InternalSolverLanguageParser.g:1913:2: ( ruleLet )
5166 { 5817 {
5167 // InternalSolverLanguageParser.g:1714:2: ( ruleDisjunctiveExpression ) 5818 // InternalSolverLanguageParser.g:1913:2: ( ruleLet )
5168 // InternalSolverLanguageParser.g:1715:3: ruleDisjunctiveExpression 5819 // InternalSolverLanguageParser.g:1914:3: ruleLet
5169 { 5820 {
5170 before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 5821 before(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
5171 pushFollow(FOLLOW_2); 5822 pushFollow(FOLLOW_2);
5172 ruleDisjunctiveExpression(); 5823 ruleLet();
5173 5824
5174 state._fsp--; 5825 state._fsp--;
5175 5826
5176 after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 5827 after(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
5828
5829 }
5830
5831
5832 }
5833 break;
5834 case 3 :
5835 // InternalSolverLanguageParser.g:1919:2: ( ruleImplicationExpression )
5836 {
5837 // InternalSolverLanguageParser.g:1919:2: ( ruleImplicationExpression )
5838 // InternalSolverLanguageParser.g:1920:3: ruleImplicationExpression
5839 {
5840 before(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
5841 pushFollow(FOLLOW_2);
5842 ruleImplicationExpression();
5843
5844 state._fsp--;
5845
5846 after(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
5177 5847
5178 } 5848 }
5179 5849
@@ -5198,13 +5868,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5198 5868
5199 5869
5200 // $ANTLR start "rule__DisjunctiveExpression__Alternatives_1" 5870 // $ANTLR start "rule__DisjunctiveExpression__Alternatives_1"
5201 // InternalSolverLanguageParser.g:1724:1: rule__DisjunctiveExpression__Alternatives_1 : ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) ); 5871 // InternalSolverLanguageParser.g:1929:1: rule__DisjunctiveExpression__Alternatives_1 : ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) );
5202 public final void rule__DisjunctiveExpression__Alternatives_1() throws RecognitionException { 5872 public final void rule__DisjunctiveExpression__Alternatives_1() throws RecognitionException {
5203 5873
5204 int stackSize = keepStackSize(); 5874 int stackSize = keepStackSize();
5205 5875
5206 try { 5876 try {
5207 // InternalSolverLanguageParser.g:1728:1: ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) ) 5877 // InternalSolverLanguageParser.g:1933:1: ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) )
5208 int alt6=2; 5878 int alt6=2;
5209 int LA6_0 = input.LA(1); 5879 int LA6_0 = input.LA(1);
5210 5880
@@ -5222,14 +5892,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5222 } 5892 }
5223 switch (alt6) { 5893 switch (alt6) {
5224 case 1 : 5894 case 1 :
5225 // InternalSolverLanguageParser.g:1729:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) 5895 // InternalSolverLanguageParser.g:1934:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) )
5226 { 5896 {
5227 // InternalSolverLanguageParser.g:1729:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) 5897 // InternalSolverLanguageParser.g:1934:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) )
5228 // InternalSolverLanguageParser.g:1730:3: ( rule__DisjunctiveExpression__Group_1_0__0 ) 5898 // InternalSolverLanguageParser.g:1935:3: ( rule__DisjunctiveExpression__Group_1_0__0 )
5229 { 5899 {
5230 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); 5900 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0());
5231 // InternalSolverLanguageParser.g:1731:3: ( rule__DisjunctiveExpression__Group_1_0__0 ) 5901 // InternalSolverLanguageParser.g:1936:3: ( rule__DisjunctiveExpression__Group_1_0__0 )
5232 // InternalSolverLanguageParser.g:1731:4: rule__DisjunctiveExpression__Group_1_0__0 5902 // InternalSolverLanguageParser.g:1936:4: rule__DisjunctiveExpression__Group_1_0__0
5233 { 5903 {
5234 pushFollow(FOLLOW_2); 5904 pushFollow(FOLLOW_2);
5235 rule__DisjunctiveExpression__Group_1_0__0(); 5905 rule__DisjunctiveExpression__Group_1_0__0();
@@ -5247,14 +5917,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5247 } 5917 }
5248 break; 5918 break;
5249 case 2 : 5919 case 2 :
5250 // InternalSolverLanguageParser.g:1735:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) 5920 // InternalSolverLanguageParser.g:1940:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) )
5251 { 5921 {
5252 // InternalSolverLanguageParser.g:1735:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) 5922 // InternalSolverLanguageParser.g:1940:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) )
5253 // InternalSolverLanguageParser.g:1736:3: ( rule__DisjunctiveExpression__Group_1_1__0 ) 5923 // InternalSolverLanguageParser.g:1941:3: ( rule__DisjunctiveExpression__Group_1_1__0 )
5254 { 5924 {
5255 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); 5925 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1());
5256 // InternalSolverLanguageParser.g:1737:3: ( rule__DisjunctiveExpression__Group_1_1__0 ) 5926 // InternalSolverLanguageParser.g:1942:3: ( rule__DisjunctiveExpression__Group_1_1__0 )
5257 // InternalSolverLanguageParser.g:1737:4: rule__DisjunctiveExpression__Group_1_1__0 5927 // InternalSolverLanguageParser.g:1942:4: rule__DisjunctiveExpression__Group_1_1__0
5258 { 5928 {
5259 pushFollow(FOLLOW_2); 5929 pushFollow(FOLLOW_2);
5260 rule__DisjunctiveExpression__Group_1_1__0(); 5930 rule__DisjunctiveExpression__Group_1_1__0();
@@ -5289,17 +5959,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5289 5959
5290 5960
5291 // $ANTLR start "rule__UnaryExpression__Alternatives" 5961 // $ANTLR start "rule__UnaryExpression__Alternatives"
5292 // InternalSolverLanguageParser.g:1745:1: rule__UnaryExpression__Alternatives : ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) ); 5962 // InternalSolverLanguageParser.g:1950:1: rule__UnaryExpression__Alternatives : ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) );
5293 public final void rule__UnaryExpression__Alternatives() throws RecognitionException { 5963 public final void rule__UnaryExpression__Alternatives() throws RecognitionException {
5294 5964
5295 int stackSize = keepStackSize(); 5965 int stackSize = keepStackSize();
5296 5966
5297 try { 5967 try {
5298 // InternalSolverLanguageParser.g:1749:1: ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) ) 5968 // InternalSolverLanguageParser.g:1954:1: ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) )
5299 int alt7=2; 5969 int alt7=2;
5300 int LA7_0 = input.LA(1); 5970 int LA7_0 = input.LA(1);
5301 5971
5302 if ( (LA7_0==Unknown||(LA7_0>=Count && LA7_0<=False)||(LA7_0>=Only && LA7_0<=Prod)||LA7_0==True||(LA7_0>=Avg && LA7_0<=Inf)||LA7_0==Max||(LA7_0>=Min && LA7_0<=Sum)||LA7_0==LeftParenthesis||LA7_0==LeftSquareBracket||(LA7_0>=RULE_STRING && LA7_0<=RULE_QUOTED_ID)||(LA7_0>=RULE_ID && LA7_0<=RULE_INT)) ) { 5972 if ( ((LA7_0>=Unknown && LA7_0<=Exists)||LA7_0==Forall||(LA7_0>=Count && LA7_0<=False)||LA7_0==True||LA7_0==Inf||LA7_0==LeftParenthesis||LA7_0==LeftSquareBracket||(LA7_0>=RULE_STRING && LA7_0<=RULE_QUOTED_ID)||(LA7_0>=RULE_ID && LA7_0<=RULE_INT)) ) {
5303 alt7=1; 5973 alt7=1;
5304 } 5974 }
5305 else if ( (LA7_0==Current||LA7_0==Must||LA7_0==May||LA7_0==ExclamationMark||LA7_0==PlusSign||LA7_0==HyphenMinus) ) { 5975 else if ( (LA7_0==Current||LA7_0==Must||LA7_0==May||LA7_0==ExclamationMark||LA7_0==PlusSign||LA7_0==HyphenMinus) ) {
@@ -5313,10 +5983,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5313 } 5983 }
5314 switch (alt7) { 5984 switch (alt7) {
5315 case 1 : 5985 case 1 :
5316 // InternalSolverLanguageParser.g:1750:2: ( ruleAggregationExpression ) 5986 // InternalSolverLanguageParser.g:1955:2: ( ruleAggregationExpression )
5317 { 5987 {
5318 // InternalSolverLanguageParser.g:1750:2: ( ruleAggregationExpression ) 5988 // InternalSolverLanguageParser.g:1955:2: ( ruleAggregationExpression )
5319 // InternalSolverLanguageParser.g:1751:3: ruleAggregationExpression 5989 // InternalSolverLanguageParser.g:1956:3: ruleAggregationExpression
5320 { 5990 {
5321 before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 5991 before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
5322 pushFollow(FOLLOW_2); 5992 pushFollow(FOLLOW_2);
@@ -5332,14 +6002,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5332 } 6002 }
5333 break; 6003 break;
5334 case 2 : 6004 case 2 :
5335 // InternalSolverLanguageParser.g:1756:2: ( ( rule__UnaryExpression__Group_1__0 ) ) 6005 // InternalSolverLanguageParser.g:1961:2: ( ( rule__UnaryExpression__Group_1__0 ) )
5336 { 6006 {
5337 // InternalSolverLanguageParser.g:1756:2: ( ( rule__UnaryExpression__Group_1__0 ) ) 6007 // InternalSolverLanguageParser.g:1961:2: ( ( rule__UnaryExpression__Group_1__0 ) )
5338 // InternalSolverLanguageParser.g:1757:3: ( rule__UnaryExpression__Group_1__0 ) 6008 // InternalSolverLanguageParser.g:1962:3: ( rule__UnaryExpression__Group_1__0 )
5339 { 6009 {
5340 before(grammarAccess.getUnaryExpressionAccess().getGroup_1()); 6010 before(grammarAccess.getUnaryExpressionAccess().getGroup_1());
5341 // InternalSolverLanguageParser.g:1758:3: ( rule__UnaryExpression__Group_1__0 ) 6011 // InternalSolverLanguageParser.g:1963:3: ( rule__UnaryExpression__Group_1__0 )
5342 // InternalSolverLanguageParser.g:1758:4: rule__UnaryExpression__Group_1__0 6012 // InternalSolverLanguageParser.g:1963:4: rule__UnaryExpression__Group_1__0
5343 { 6013 {
5344 pushFollow(FOLLOW_2); 6014 pushFollow(FOLLOW_2);
5345 rule__UnaryExpression__Group_1__0(); 6015 rule__UnaryExpression__Group_1__0();
@@ -5374,59 +6044,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5374 6044
5375 6045
5376 // $ANTLR start "rule__AggregationExpression__Alternatives" 6046 // $ANTLR start "rule__AggregationExpression__Alternatives"
5377 // InternalSolverLanguageParser.g:1766:1: rule__AggregationExpression__Alternatives : ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) ); 6047 // InternalSolverLanguageParser.g:1971:1: rule__AggregationExpression__Alternatives : ( ( ruleAtomicExpression ) | ( ruleQuantifiedExpression ) | ( ruleAggregation ) );
5378 public final void rule__AggregationExpression__Alternatives() throws RecognitionException { 6048 public final void rule__AggregationExpression__Alternatives() throws RecognitionException {
5379 6049
5380 int stackSize = keepStackSize(); 6050 int stackSize = keepStackSize();
5381 6051
5382 try { 6052 try {
5383 // InternalSolverLanguageParser.g:1770:1: ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) ) 6053 // InternalSolverLanguageParser.g:1975:1: ( ( ruleAtomicExpression ) | ( ruleQuantifiedExpression ) | ( ruleAggregation ) )
5384 int alt8=3; 6054 int alt8=3;
5385 switch ( input.LA(1) ) { 6055 alt8 = dfa8.predict(input);
5386 case Unknown:
5387 case Empty:
5388 case Error:
5389 case False:
5390 case True:
5391 case Inf:
5392 case LeftParenthesis:
5393 case LeftSquareBracket:
5394 case RULE_STRING:
5395 case RULE_QUOTED_ID:
5396 case RULE_ID:
5397 case RULE_INT:
5398 {
5399 alt8=1;
5400 }
5401 break;
5402 case Count:
5403 {
5404 alt8=2;
5405 }
5406 break;
5407 case Only:
5408 case Prod:
5409 case Avg:
5410 case Max:
5411 case Min:
5412 case Sum:
5413 {
5414 alt8=3;
5415 }
5416 break;
5417 default:
5418 NoViableAltException nvae =
5419 new NoViableAltException("", 8, 0, input);
5420
5421 throw nvae;
5422 }
5423
5424 switch (alt8) { 6056 switch (alt8) {
5425 case 1 : 6057 case 1 :
5426 // InternalSolverLanguageParser.g:1771:2: ( ruleAtomicExpression ) 6058 // InternalSolverLanguageParser.g:1976:2: ( ruleAtomicExpression )
5427 { 6059 {
5428 // InternalSolverLanguageParser.g:1771:2: ( ruleAtomicExpression ) 6060 // InternalSolverLanguageParser.g:1976:2: ( ruleAtomicExpression )
5429 // InternalSolverLanguageParser.g:1772:3: ruleAtomicExpression 6061 // InternalSolverLanguageParser.g:1977:3: ruleAtomicExpression
5430 { 6062 {
5431 before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 6063 before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
5432 pushFollow(FOLLOW_2); 6064 pushFollow(FOLLOW_2);
@@ -5442,18 +6074,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5442 } 6074 }
5443 break; 6075 break;
5444 case 2 : 6076 case 2 :
5445 // InternalSolverLanguageParser.g:1777:2: ( ruleCount ) 6077 // InternalSolverLanguageParser.g:1982:2: ( ruleQuantifiedExpression )
5446 { 6078 {
5447 // InternalSolverLanguageParser.g:1777:2: ( ruleCount ) 6079 // InternalSolverLanguageParser.g:1982:2: ( ruleQuantifiedExpression )
5448 // InternalSolverLanguageParser.g:1778:3: ruleCount 6080 // InternalSolverLanguageParser.g:1983:3: ruleQuantifiedExpression
5449 { 6081 {
5450 before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 6082 before(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
5451 pushFollow(FOLLOW_2); 6083 pushFollow(FOLLOW_2);
5452 ruleCount(); 6084 ruleQuantifiedExpression();
5453 6085
5454 state._fsp--; 6086 state._fsp--;
5455 6087
5456 after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 6088 after(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
5457 6089
5458 } 6090 }
5459 6091
@@ -5461,10 +6093,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5461 } 6093 }
5462 break; 6094 break;
5463 case 3 : 6095 case 3 :
5464 // InternalSolverLanguageParser.g:1783:2: ( ruleAggregation ) 6096 // InternalSolverLanguageParser.g:1988:2: ( ruleAggregation )
5465 { 6097 {
5466 // InternalSolverLanguageParser.g:1783:2: ( ruleAggregation ) 6098 // InternalSolverLanguageParser.g:1988:2: ( ruleAggregation )
5467 // InternalSolverLanguageParser.g:1784:3: ruleAggregation 6099 // InternalSolverLanguageParser.g:1989:3: ruleAggregation
5468 { 6100 {
5469 before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 6101 before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
5470 pushFollow(FOLLOW_2); 6102 pushFollow(FOLLOW_2);
@@ -5497,21 +6129,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5497 6129
5498 6130
5499 // $ANTLR start "rule__AtomicExpression__Alternatives" 6131 // $ANTLR start "rule__AtomicExpression__Alternatives"
5500 // InternalSolverLanguageParser.g:1793:1: rule__AtomicExpression__Alternatives : ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) ); 6132 // InternalSolverLanguageParser.g:1998:1: rule__AtomicExpression__Alternatives : ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) );
5501 public final void rule__AtomicExpression__Alternatives() throws RecognitionException { 6133 public final void rule__AtomicExpression__Alternatives() throws RecognitionException {
5502 6134
5503 int stackSize = keepStackSize(); 6135 int stackSize = keepStackSize();
5504 6136
5505 try { 6137 try {
5506 // InternalSolverLanguageParser.g:1797:1: ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) ) 6138 // InternalSolverLanguageParser.g:2002:1: ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) )
5507 int alt9=5; 6139 int alt9=5;
5508 alt9 = dfa9.predict(input); 6140 alt9 = dfa9.predict(input);
5509 switch (alt9) { 6141 switch (alt9) {
5510 case 1 : 6142 case 1 :
5511 // InternalSolverLanguageParser.g:1798:2: ( ruleReference ) 6143 // InternalSolverLanguageParser.g:2003:2: ( ruleReference )
5512 { 6144 {
5513 // InternalSolverLanguageParser.g:1798:2: ( ruleReference ) 6145 // InternalSolverLanguageParser.g:2003:2: ( ruleReference )
5514 // InternalSolverLanguageParser.g:1799:3: ruleReference 6146 // InternalSolverLanguageParser.g:2004:3: ruleReference
5515 { 6147 {
5516 before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); 6148 before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0());
5517 pushFollow(FOLLOW_2); 6149 pushFollow(FOLLOW_2);
@@ -5527,10 +6159,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5527 } 6159 }
5528 break; 6160 break;
5529 case 2 : 6161 case 2 :
5530 // InternalSolverLanguageParser.g:1804:2: ( ruleCall ) 6162 // InternalSolverLanguageParser.g:2009:2: ( ruleCall )
5531 { 6163 {
5532 // InternalSolverLanguageParser.g:1804:2: ( ruleCall ) 6164 // InternalSolverLanguageParser.g:2009:2: ( ruleCall )
5533 // InternalSolverLanguageParser.g:1805:3: ruleCall 6165 // InternalSolverLanguageParser.g:2010:3: ruleCall
5534 { 6166 {
5535 before(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); 6167 before(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1());
5536 pushFollow(FOLLOW_2); 6168 pushFollow(FOLLOW_2);
@@ -5546,10 +6178,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5546 } 6178 }
5547 break; 6179 break;
5548 case 3 : 6180 case 3 :
5549 // InternalSolverLanguageParser.g:1810:2: ( ruleInterval ) 6181 // InternalSolverLanguageParser.g:2015:2: ( ruleInterval )
5550 { 6182 {
5551 // InternalSolverLanguageParser.g:1810:2: ( ruleInterval ) 6183 // InternalSolverLanguageParser.g:2015:2: ( ruleInterval )
5552 // InternalSolverLanguageParser.g:1811:3: ruleInterval 6184 // InternalSolverLanguageParser.g:2016:3: ruleInterval
5553 { 6185 {
5554 before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); 6186 before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2());
5555 pushFollow(FOLLOW_2); 6187 pushFollow(FOLLOW_2);
@@ -5565,10 +6197,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5565 } 6197 }
5566 break; 6198 break;
5567 case 4 : 6199 case 4 :
5568 // InternalSolverLanguageParser.g:1816:2: ( ruleLiteral ) 6200 // InternalSolverLanguageParser.g:2021:2: ( ruleLiteral )
5569 { 6201 {
5570 // InternalSolverLanguageParser.g:1816:2: ( ruleLiteral ) 6202 // InternalSolverLanguageParser.g:2021:2: ( ruleLiteral )
5571 // InternalSolverLanguageParser.g:1817:3: ruleLiteral 6203 // InternalSolverLanguageParser.g:2022:3: ruleLiteral
5572 { 6204 {
5573 before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); 6205 before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3());
5574 pushFollow(FOLLOW_2); 6206 pushFollow(FOLLOW_2);
@@ -5584,14 +6216,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5584 } 6216 }
5585 break; 6217 break;
5586 case 5 : 6218 case 5 :
5587 // InternalSolverLanguageParser.g:1822:2: ( ( rule__AtomicExpression__Group_4__0 ) ) 6219 // InternalSolverLanguageParser.g:2027:2: ( ( rule__AtomicExpression__Group_4__0 ) )
5588 { 6220 {
5589 // InternalSolverLanguageParser.g:1822:2: ( ( rule__AtomicExpression__Group_4__0 ) ) 6221 // InternalSolverLanguageParser.g:2027:2: ( ( rule__AtomicExpression__Group_4__0 ) )
5590 // InternalSolverLanguageParser.g:1823:3: ( rule__AtomicExpression__Group_4__0 ) 6222 // InternalSolverLanguageParser.g:2028:3: ( rule__AtomicExpression__Group_4__0 )
5591 { 6223 {
5592 before(grammarAccess.getAtomicExpressionAccess().getGroup_4()); 6224 before(grammarAccess.getAtomicExpressionAccess().getGroup_4());
5593 // InternalSolverLanguageParser.g:1824:3: ( rule__AtomicExpression__Group_4__0 ) 6225 // InternalSolverLanguageParser.g:2029:3: ( rule__AtomicExpression__Group_4__0 )
5594 // InternalSolverLanguageParser.g:1824:4: rule__AtomicExpression__Group_4__0 6226 // InternalSolverLanguageParser.g:2029:4: rule__AtomicExpression__Group_4__0
5595 { 6227 {
5596 pushFollow(FOLLOW_2); 6228 pushFollow(FOLLOW_2);
5597 rule__AtomicExpression__Group_4__0(); 6229 rule__AtomicExpression__Group_4__0();
@@ -5626,13 +6258,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5626 6258
5627 6259
5628 // $ANTLR start "rule__Call__Alternatives_1" 6260 // $ANTLR start "rule__Call__Alternatives_1"
5629 // InternalSolverLanguageParser.g:1832:1: rule__Call__Alternatives_1 : ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) ); 6261 // InternalSolverLanguageParser.g:2037:1: rule__Call__Alternatives_1 : ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) );
5630 public final void rule__Call__Alternatives_1() throws RecognitionException { 6262 public final void rule__Call__Alternatives_1() throws RecognitionException {
5631 6263
5632 int stackSize = keepStackSize(); 6264 int stackSize = keepStackSize();
5633 6265
5634 try { 6266 try {
5635 // InternalSolverLanguageParser.g:1836:1: ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) ) 6267 // InternalSolverLanguageParser.g:2041:1: ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) )
5636 int alt10=2; 6268 int alt10=2;
5637 int LA10_0 = input.LA(1); 6269 int LA10_0 = input.LA(1);
5638 6270
@@ -5650,14 +6282,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5650 } 6282 }
5651 switch (alt10) { 6283 switch (alt10) {
5652 case 1 : 6284 case 1 :
5653 // InternalSolverLanguageParser.g:1837:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) 6285 // InternalSolverLanguageParser.g:2042:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) )
5654 { 6286 {
5655 // InternalSolverLanguageParser.g:1837:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) 6287 // InternalSolverLanguageParser.g:2042:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) )
5656 // InternalSolverLanguageParser.g:1838:3: ( rule__Call__TransitiveClosureAssignment_1_0 ) 6288 // InternalSolverLanguageParser.g:2043:3: ( rule__Call__TransitiveClosureAssignment_1_0 )
5657 { 6289 {
5658 before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); 6290 before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0());
5659 // InternalSolverLanguageParser.g:1839:3: ( rule__Call__TransitiveClosureAssignment_1_0 ) 6291 // InternalSolverLanguageParser.g:2044:3: ( rule__Call__TransitiveClosureAssignment_1_0 )
5660 // InternalSolverLanguageParser.g:1839:4: rule__Call__TransitiveClosureAssignment_1_0 6292 // InternalSolverLanguageParser.g:2044:4: rule__Call__TransitiveClosureAssignment_1_0
5661 { 6293 {
5662 pushFollow(FOLLOW_2); 6294 pushFollow(FOLLOW_2);
5663 rule__Call__TransitiveClosureAssignment_1_0(); 6295 rule__Call__TransitiveClosureAssignment_1_0();
@@ -5675,14 +6307,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5675 } 6307 }
5676 break; 6308 break;
5677 case 2 : 6309 case 2 :
5678 // InternalSolverLanguageParser.g:1843:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) 6310 // InternalSolverLanguageParser.g:2048:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) )
5679 { 6311 {
5680 // InternalSolverLanguageParser.g:1843:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) 6312 // InternalSolverLanguageParser.g:2048:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) )
5681 // InternalSolverLanguageParser.g:1844:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) 6313 // InternalSolverLanguageParser.g:2049:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 )
5682 { 6314 {
5683 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); 6315 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1());
5684 // InternalSolverLanguageParser.g:1845:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) 6316 // InternalSolverLanguageParser.g:2050:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 )
5685 // InternalSolverLanguageParser.g:1845:4: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 6317 // InternalSolverLanguageParser.g:2050:4: rule__Call__ReflexiveTransitiveClosureAssignment_1_1
5686 { 6318 {
5687 pushFollow(FOLLOW_2); 6319 pushFollow(FOLLOW_2);
5688 rule__Call__ReflexiveTransitiveClosureAssignment_1_1(); 6320 rule__Call__ReflexiveTransitiveClosureAssignment_1_1();
@@ -5717,21 +6349,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5717 6349
5718 6350
5719 // $ANTLR start "rule__Argument__Alternatives" 6351 // $ANTLR start "rule__Argument__Alternatives"
5720 // InternalSolverLanguageParser.g:1853:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) ); 6352 // InternalSolverLanguageParser.g:2058:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );
5721 public final void rule__Argument__Alternatives() throws RecognitionException { 6353 public final void rule__Argument__Alternatives() throws RecognitionException {
5722 6354
5723 int stackSize = keepStackSize(); 6355 int stackSize = keepStackSize();
5724 6356
5725 try { 6357 try {
5726 // InternalSolverLanguageParser.g:1857:1: ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) ) 6358 // InternalSolverLanguageParser.g:2062:1: ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) )
5727 int alt11=4; 6359 int alt11=4;
5728 alt11 = dfa11.predict(input); 6360 alt11 = dfa11.predict(input);
5729 switch (alt11) { 6361 switch (alt11) {
5730 case 1 : 6362 case 1 :
5731 // InternalSolverLanguageParser.g:1858:2: ( ruleExpressionArgument ) 6363 // InternalSolverLanguageParser.g:2063:2: ( ruleExpressionArgument )
5732 { 6364 {
5733 // InternalSolverLanguageParser.g:1858:2: ( ruleExpressionArgument ) 6365 // InternalSolverLanguageParser.g:2063:2: ( ruleExpressionArgument )
5734 // InternalSolverLanguageParser.g:1859:3: ruleExpressionArgument 6366 // InternalSolverLanguageParser.g:2064:3: ruleExpressionArgument
5735 { 6367 {
5736 before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); 6368 before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
5737 pushFollow(FOLLOW_2); 6369 pushFollow(FOLLOW_2);
@@ -5747,10 +6379,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5747 } 6379 }
5748 break; 6380 break;
5749 case 2 : 6381 case 2 :
5750 // InternalSolverLanguageParser.g:1864:2: ( ruleStarArgument ) 6382 // InternalSolverLanguageParser.g:2069:2: ( ruleStarArgument )
5751 { 6383 {
5752 // InternalSolverLanguageParser.g:1864:2: ( ruleStarArgument ) 6384 // InternalSolverLanguageParser.g:2069:2: ( ruleStarArgument )
5753 // InternalSolverLanguageParser.g:1865:3: ruleStarArgument 6385 // InternalSolverLanguageParser.g:2070:3: ruleStarArgument
5754 { 6386 {
5755 before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); 6387 before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
5756 pushFollow(FOLLOW_2); 6388 pushFollow(FOLLOW_2);
@@ -5766,10 +6398,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5766 } 6398 }
5767 break; 6399 break;
5768 case 3 : 6400 case 3 :
5769 // InternalSolverLanguageParser.g:1870:2: ( ruleTypedArgument ) 6401 // InternalSolverLanguageParser.g:2075:2: ( ruleTypedArgument )
5770 { 6402 {
5771 // InternalSolverLanguageParser.g:1870:2: ( ruleTypedArgument ) 6403 // InternalSolverLanguageParser.g:2075:2: ( ruleTypedArgument )
5772 // InternalSolverLanguageParser.g:1871:3: ruleTypedArgument 6404 // InternalSolverLanguageParser.g:2076:3: ruleTypedArgument
5773 { 6405 {
5774 before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 6406 before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
5775 pushFollow(FOLLOW_2); 6407 pushFollow(FOLLOW_2);
@@ -5785,10 +6417,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5785 } 6417 }
5786 break; 6418 break;
5787 case 4 : 6419 case 4 :
5788 // InternalSolverLanguageParser.g:1876:2: ( ruleTypedStarArgument ) 6420 // InternalSolverLanguageParser.g:2081:2: ( ruleTypedStarArgument )
5789 { 6421 {
5790 // InternalSolverLanguageParser.g:1876:2: ( ruleTypedStarArgument ) 6422 // InternalSolverLanguageParser.g:2081:2: ( ruleTypedStarArgument )
5791 // InternalSolverLanguageParser.g:1877:3: ruleTypedStarArgument 6423 // InternalSolverLanguageParser.g:2082:3: ruleTypedStarArgument
5792 { 6424 {
5793 before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); 6425 before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
5794 pushFollow(FOLLOW_2); 6426 pushFollow(FOLLOW_2);
@@ -5821,13 +6453,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5821 6453
5822 6454
5823 // $ANTLR start "rule__Literal__Alternatives" 6455 // $ANTLR start "rule__Literal__Alternatives"
5824 // InternalSolverLanguageParser.g:1886:1: rule__Literal__Alternatives : ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) ); 6456 // InternalSolverLanguageParser.g:2091:1: rule__Literal__Alternatives : ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) );
5825 public final void rule__Literal__Alternatives() throws RecognitionException { 6457 public final void rule__Literal__Alternatives() throws RecognitionException {
5826 6458
5827 int stackSize = keepStackSize(); 6459 int stackSize = keepStackSize();
5828 6460
5829 try { 6461 try {
5830 // InternalSolverLanguageParser.g:1890:1: ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) ) 6462 // InternalSolverLanguageParser.g:2095:1: ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) )
5831 int alt12=5; 6463 int alt12=5;
5832 switch ( input.LA(1) ) { 6464 switch ( input.LA(1) ) {
5833 case Unknown: 6465 case Unknown:
@@ -5867,10 +6499,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5867 6499
5868 switch (alt12) { 6500 switch (alt12) {
5869 case 1 : 6501 case 1 :
5870 // InternalSolverLanguageParser.g:1891:2: ( ruleLogicLiteral ) 6502 // InternalSolverLanguageParser.g:2096:2: ( ruleLogicLiteral )
5871 { 6503 {
5872 // InternalSolverLanguageParser.g:1891:2: ( ruleLogicLiteral ) 6504 // InternalSolverLanguageParser.g:2096:2: ( ruleLogicLiteral )
5873 // InternalSolverLanguageParser.g:1892:3: ruleLogicLiteral 6505 // InternalSolverLanguageParser.g:2097:3: ruleLogicLiteral
5874 { 6506 {
5875 before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); 6507 before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
5876 pushFollow(FOLLOW_2); 6508 pushFollow(FOLLOW_2);
@@ -5886,10 +6518,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5886 } 6518 }
5887 break; 6519 break;
5888 case 2 : 6520 case 2 :
5889 // InternalSolverLanguageParser.g:1897:2: ( ruleNumericLiteral ) 6521 // InternalSolverLanguageParser.g:2102:2: ( ruleNumericLiteral )
5890 { 6522 {
5891 // InternalSolverLanguageParser.g:1897:2: ( ruleNumericLiteral ) 6523 // InternalSolverLanguageParser.g:2102:2: ( ruleNumericLiteral )
5892 // InternalSolverLanguageParser.g:1898:3: ruleNumericLiteral 6524 // InternalSolverLanguageParser.g:2103:3: ruleNumericLiteral
5893 { 6525 {
5894 before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 6526 before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
5895 pushFollow(FOLLOW_2); 6527 pushFollow(FOLLOW_2);
@@ -5905,10 +6537,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5905 } 6537 }
5906 break; 6538 break;
5907 case 3 : 6539 case 3 :
5908 // InternalSolverLanguageParser.g:1903:2: ( ruleInfinityLiteral ) 6540 // InternalSolverLanguageParser.g:2108:2: ( ruleInfinityLiteral )
5909 { 6541 {
5910 // InternalSolverLanguageParser.g:1903:2: ( ruleInfinityLiteral ) 6542 // InternalSolverLanguageParser.g:2108:2: ( ruleInfinityLiteral )
5911 // InternalSolverLanguageParser.g:1904:3: ruleInfinityLiteral 6543 // InternalSolverLanguageParser.g:2109:3: ruleInfinityLiteral
5912 { 6544 {
5913 before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 6545 before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
5914 pushFollow(FOLLOW_2); 6546 pushFollow(FOLLOW_2);
@@ -5924,10 +6556,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5924 } 6556 }
5925 break; 6557 break;
5926 case 4 : 6558 case 4 :
5927 // InternalSolverLanguageParser.g:1909:2: ( ruleEmptyIntervalLiteral ) 6559 // InternalSolverLanguageParser.g:2114:2: ( ruleEmptyIntervalLiteral )
5928 { 6560 {
5929 // InternalSolverLanguageParser.g:1909:2: ( ruleEmptyIntervalLiteral ) 6561 // InternalSolverLanguageParser.g:2114:2: ( ruleEmptyIntervalLiteral )
5930 // InternalSolverLanguageParser.g:1910:3: ruleEmptyIntervalLiteral 6562 // InternalSolverLanguageParser.g:2115:3: ruleEmptyIntervalLiteral
5931 { 6563 {
5932 before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 6564 before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
5933 pushFollow(FOLLOW_2); 6565 pushFollow(FOLLOW_2);
@@ -5943,10 +6575,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5943 } 6575 }
5944 break; 6576 break;
5945 case 5 : 6577 case 5 :
5946 // InternalSolverLanguageParser.g:1915:2: ( ruleStringLiteral ) 6578 // InternalSolverLanguageParser.g:2120:2: ( ruleStringLiteral )
5947 { 6579 {
5948 // InternalSolverLanguageParser.g:1915:2: ( ruleStringLiteral ) 6580 // InternalSolverLanguageParser.g:2120:2: ( ruleStringLiteral )
5949 // InternalSolverLanguageParser.g:1916:3: ruleStringLiteral 6581 // InternalSolverLanguageParser.g:2121:3: ruleStringLiteral
5950 { 6582 {
5951 before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 6583 before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
5952 pushFollow(FOLLOW_2); 6584 pushFollow(FOLLOW_2);
@@ -5979,13 +6611,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5979 6611
5980 6612
5981 // $ANTLR start "rule__Multiplicity__Alternatives" 6613 // $ANTLR start "rule__Multiplicity__Alternatives"
5982 // InternalSolverLanguageParser.g:1925:1: rule__Multiplicity__Alternatives : ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) ); 6614 // InternalSolverLanguageParser.g:2130:1: rule__Multiplicity__Alternatives : ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) );
5983 public final void rule__Multiplicity__Alternatives() throws RecognitionException { 6615 public final void rule__Multiplicity__Alternatives() throws RecognitionException {
5984 6616
5985 int stackSize = keepStackSize(); 6617 int stackSize = keepStackSize();
5986 6618
5987 try { 6619 try {
5988 // InternalSolverLanguageParser.g:1929:1: ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) ) 6620 // InternalSolverLanguageParser.g:2134:1: ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) )
5989 int alt13=3; 6621 int alt13=3;
5990 int LA13_0 = input.LA(1); 6622 int LA13_0 = input.LA(1);
5991 6623
@@ -6009,14 +6641,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6009 } 6641 }
6010 } 6642 }
6011 break; 6643 break;
6012 case Asterisk: 6644 case RightSquareBracket:
6013 { 6645 {
6014 alt13=2; 6646 alt13=1;
6015 } 6647 }
6016 break; 6648 break;
6017 case RightSquareBracket: 6649 case Asterisk:
6018 { 6650 {
6019 alt13=1; 6651 alt13=2;
6020 } 6652 }
6021 break; 6653 break;
6022 default: 6654 default:
@@ -6035,10 +6667,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6035 } 6667 }
6036 switch (alt13) { 6668 switch (alt13) {
6037 case 1 : 6669 case 1 :
6038 // InternalSolverLanguageParser.g:1930:2: ( ruleManyMultiplicity ) 6670 // InternalSolverLanguageParser.g:2135:2: ( ruleManyMultiplicity )
6039 { 6671 {
6040 // InternalSolverLanguageParser.g:1930:2: ( ruleManyMultiplicity ) 6672 // InternalSolverLanguageParser.g:2135:2: ( ruleManyMultiplicity )
6041 // InternalSolverLanguageParser.g:1931:3: ruleManyMultiplicity 6673 // InternalSolverLanguageParser.g:2136:3: ruleManyMultiplicity
6042 { 6674 {
6043 before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 6675 before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
6044 pushFollow(FOLLOW_2); 6676 pushFollow(FOLLOW_2);
@@ -6054,10 +6686,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6054 } 6686 }
6055 break; 6687 break;
6056 case 2 : 6688 case 2 :
6057 // InternalSolverLanguageParser.g:1936:2: ( ruleExactMultiplicity ) 6689 // InternalSolverLanguageParser.g:2141:2: ( ruleExactMultiplicity )
6058 { 6690 {
6059 // InternalSolverLanguageParser.g:1936:2: ( ruleExactMultiplicity ) 6691 // InternalSolverLanguageParser.g:2141:2: ( ruleExactMultiplicity )
6060 // InternalSolverLanguageParser.g:1937:3: ruleExactMultiplicity 6692 // InternalSolverLanguageParser.g:2142:3: ruleExactMultiplicity
6061 { 6693 {
6062 before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 6694 before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
6063 pushFollow(FOLLOW_2); 6695 pushFollow(FOLLOW_2);
@@ -6073,10 +6705,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6073 } 6705 }
6074 break; 6706 break;
6075 case 3 : 6707 case 3 :
6076 // InternalSolverLanguageParser.g:1942:2: ( ruleBoundedMultiplicity ) 6708 // InternalSolverLanguageParser.g:2147:2: ( ruleBoundedMultiplicity )
6077 { 6709 {
6078 // InternalSolverLanguageParser.g:1942:2: ( ruleBoundedMultiplicity ) 6710 // InternalSolverLanguageParser.g:2147:2: ( ruleBoundedMultiplicity )
6079 // InternalSolverLanguageParser.g:1943:3: ruleBoundedMultiplicity 6711 // InternalSolverLanguageParser.g:2148:3: ruleBoundedMultiplicity
6080 { 6712 {
6081 before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); 6713 before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
6082 pushFollow(FOLLOW_2); 6714 pushFollow(FOLLOW_2);
@@ -6109,21 +6741,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6109 6741
6110 6742
6111 // $ANTLR start "rule__ScopeDefinition__Alternatives" 6743 // $ANTLR start "rule__ScopeDefinition__Alternatives"
6112 // InternalSolverLanguageParser.g:1952:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) ); 6744 // InternalSolverLanguageParser.g:2157:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );
6113 public final void rule__ScopeDefinition__Alternatives() throws RecognitionException { 6745 public final void rule__ScopeDefinition__Alternatives() throws RecognitionException {
6114 6746
6115 int stackSize = keepStackSize(); 6747 int stackSize = keepStackSize();
6116 6748
6117 try { 6749 try {
6118 // InternalSolverLanguageParser.g:1956:1: ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) ) 6750 // InternalSolverLanguageParser.g:2161:1: ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) )
6119 int alt14=3; 6751 int alt14=3;
6120 alt14 = dfa14.predict(input); 6752 alt14 = dfa14.predict(input);
6121 switch (alt14) { 6753 switch (alt14) {
6122 case 1 : 6754 case 1 :
6123 // InternalSolverLanguageParser.g:1957:2: ( ruleExactScopeDefinition ) 6755 // InternalSolverLanguageParser.g:2162:2: ( ruleExactScopeDefinition )
6124 { 6756 {
6125 // InternalSolverLanguageParser.g:1957:2: ( ruleExactScopeDefinition ) 6757 // InternalSolverLanguageParser.g:2162:2: ( ruleExactScopeDefinition )
6126 // InternalSolverLanguageParser.g:1958:3: ruleExactScopeDefinition 6758 // InternalSolverLanguageParser.g:2163:3: ruleExactScopeDefinition
6127 { 6759 {
6128 before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 6760 before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
6129 pushFollow(FOLLOW_2); 6761 pushFollow(FOLLOW_2);
@@ -6139,10 +6771,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6139 } 6771 }
6140 break; 6772 break;
6141 case 2 : 6773 case 2 :
6142 // InternalSolverLanguageParser.g:1963:2: ( ruleBoundedScopeDefinition ) 6774 // InternalSolverLanguageParser.g:2168:2: ( ruleBoundedScopeDefinition )
6143 { 6775 {
6144 // InternalSolverLanguageParser.g:1963:2: ( ruleBoundedScopeDefinition ) 6776 // InternalSolverLanguageParser.g:2168:2: ( ruleBoundedScopeDefinition )
6145 // InternalSolverLanguageParser.g:1964:3: ruleBoundedScopeDefinition 6777 // InternalSolverLanguageParser.g:2169:3: ruleBoundedScopeDefinition
6146 { 6778 {
6147 before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 6779 before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
6148 pushFollow(FOLLOW_2); 6780 pushFollow(FOLLOW_2);
@@ -6158,10 +6790,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6158 } 6790 }
6159 break; 6791 break;
6160 case 3 : 6792 case 3 :
6161 // InternalSolverLanguageParser.g:1969:2: ( ruleLowerBoundedScopeDefinition ) 6793 // InternalSolverLanguageParser.g:2174:2: ( ruleLowerBoundedScopeDefinition )
6162 { 6794 {
6163 // InternalSolverLanguageParser.g:1969:2: ( ruleLowerBoundedScopeDefinition ) 6795 // InternalSolverLanguageParser.g:2174:2: ( ruleLowerBoundedScopeDefinition )
6164 // InternalSolverLanguageParser.g:1970:3: ruleLowerBoundedScopeDefinition 6796 // InternalSolverLanguageParser.g:2175:3: ruleLowerBoundedScopeDefinition
6165 { 6797 {
6166 before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 6798 before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
6167 pushFollow(FOLLOW_2); 6799 pushFollow(FOLLOW_2);
@@ -6194,25 +6826,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6194 6826
6195 6827
6196 // $ANTLR start "rule__BoundedScopeDefinition__Alternatives_1" 6828 // $ANTLR start "rule__BoundedScopeDefinition__Alternatives_1"
6197 // InternalSolverLanguageParser.g:1979:1: rule__BoundedScopeDefinition__Alternatives_1 : ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) ); 6829 // InternalSolverLanguageParser.g:2184:1: rule__BoundedScopeDefinition__Alternatives_1 : ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) );
6198 public final void rule__BoundedScopeDefinition__Alternatives_1() throws RecognitionException { 6830 public final void rule__BoundedScopeDefinition__Alternatives_1() throws RecognitionException {
6199 6831
6200 int stackSize = keepStackSize(); 6832 int stackSize = keepStackSize();
6201 6833
6202 try { 6834 try {
6203 // InternalSolverLanguageParser.g:1983:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) ) 6835 // InternalSolverLanguageParser.g:2188:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) )
6204 int alt15=2; 6836 int alt15=2;
6205 int LA15_0 = input.LA(1); 6837 int LA15_0 = input.LA(1);
6206 6838
6207 if ( (LA15_0==RULE_INT) ) { 6839 if ( (LA15_0==RULE_INT) ) {
6208 int LA15_1 = input.LA(2); 6840 int LA15_1 = input.LA(2);
6209 6841
6210 if ( (LA15_1==LessThanSignEqualsSign) ) { 6842 if ( (LA15_1==GreaterThanSignEqualsSign) ) {
6211 alt15=1;
6212 }
6213 else if ( (LA15_1==GreaterThanSignEqualsSign) ) {
6214 alt15=2; 6843 alt15=2;
6215 } 6844 }
6845 else if ( (LA15_1==LessThanSignEqualsSign) ) {
6846 alt15=1;
6847 }
6216 else { 6848 else {
6217 NoViableAltException nvae = 6849 NoViableAltException nvae =
6218 new NoViableAltException("", 15, 1, input); 6850 new NoViableAltException("", 15, 1, input);
@@ -6231,14 +6863,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6231 } 6863 }
6232 switch (alt15) { 6864 switch (alt15) {
6233 case 1 : 6865 case 1 :
6234 // InternalSolverLanguageParser.g:1984:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) 6866 // InternalSolverLanguageParser.g:2189:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) )
6235 { 6867 {
6236 // InternalSolverLanguageParser.g:1984:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) 6868 // InternalSolverLanguageParser.g:2189:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) )
6237 // InternalSolverLanguageParser.g:1985:3: ( rule__BoundedScopeDefinition__Group_1_0__0 ) 6869 // InternalSolverLanguageParser.g:2190:3: ( rule__BoundedScopeDefinition__Group_1_0__0 )
6238 { 6870 {
6239 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); 6871 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0());
6240 // InternalSolverLanguageParser.g:1986:3: ( rule__BoundedScopeDefinition__Group_1_0__0 ) 6872 // InternalSolverLanguageParser.g:2191:3: ( rule__BoundedScopeDefinition__Group_1_0__0 )
6241 // InternalSolverLanguageParser.g:1986:4: rule__BoundedScopeDefinition__Group_1_0__0 6873 // InternalSolverLanguageParser.g:2191:4: rule__BoundedScopeDefinition__Group_1_0__0
6242 { 6874 {
6243 pushFollow(FOLLOW_2); 6875 pushFollow(FOLLOW_2);
6244 rule__BoundedScopeDefinition__Group_1_0__0(); 6876 rule__BoundedScopeDefinition__Group_1_0__0();
@@ -6256,14 +6888,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6256 } 6888 }
6257 break; 6889 break;
6258 case 2 : 6890 case 2 :
6259 // InternalSolverLanguageParser.g:1990:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) 6891 // InternalSolverLanguageParser.g:2195:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) )
6260 { 6892 {
6261 // InternalSolverLanguageParser.g:1990:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) 6893 // InternalSolverLanguageParser.g:2195:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) )
6262 // InternalSolverLanguageParser.g:1991:3: ( rule__BoundedScopeDefinition__Group_1_1__0 ) 6894 // InternalSolverLanguageParser.g:2196:3: ( rule__BoundedScopeDefinition__Group_1_1__0 )
6263 { 6895 {
6264 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); 6896 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1());
6265 // InternalSolverLanguageParser.g:1992:3: ( rule__BoundedScopeDefinition__Group_1_1__0 ) 6897 // InternalSolverLanguageParser.g:2197:3: ( rule__BoundedScopeDefinition__Group_1_1__0 )
6266 // InternalSolverLanguageParser.g:1992:4: rule__BoundedScopeDefinition__Group_1_1__0 6898 // InternalSolverLanguageParser.g:2197:4: rule__BoundedScopeDefinition__Group_1_1__0
6267 { 6899 {
6268 pushFollow(FOLLOW_2); 6900 pushFollow(FOLLOW_2);
6269 rule__BoundedScopeDefinition__Group_1_1__0(); 6901 rule__BoundedScopeDefinition__Group_1_1__0();
@@ -6298,13 +6930,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6298 6930
6299 6931
6300 // $ANTLR start "rule__LowerBoundedScopeDefinition__Alternatives_1" 6932 // $ANTLR start "rule__LowerBoundedScopeDefinition__Alternatives_1"
6301 // InternalSolverLanguageParser.g:2000:1: rule__LowerBoundedScopeDefinition__Alternatives_1 : ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) ); 6933 // InternalSolverLanguageParser.g:2205:1: rule__LowerBoundedScopeDefinition__Alternatives_1 : ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) );
6302 public final void rule__LowerBoundedScopeDefinition__Alternatives_1() throws RecognitionException { 6934 public final void rule__LowerBoundedScopeDefinition__Alternatives_1() throws RecognitionException {
6303 6935
6304 int stackSize = keepStackSize(); 6936 int stackSize = keepStackSize();
6305 6937
6306 try { 6938 try {
6307 // InternalSolverLanguageParser.g:2004:1: ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) ) 6939 // InternalSolverLanguageParser.g:2209:1: ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) )
6308 int alt16=2; 6940 int alt16=2;
6309 int LA16_0 = input.LA(1); 6941 int LA16_0 = input.LA(1);
6310 6942
@@ -6322,14 +6954,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6322 } 6954 }
6323 switch (alt16) { 6955 switch (alt16) {
6324 case 1 : 6956 case 1 :
6325 // InternalSolverLanguageParser.g:2005:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) 6957 // InternalSolverLanguageParser.g:2210:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) )
6326 { 6958 {
6327 // InternalSolverLanguageParser.g:2005:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) 6959 // InternalSolverLanguageParser.g:2210:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) )
6328 // InternalSolverLanguageParser.g:2006:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) 6960 // InternalSolverLanguageParser.g:2211:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 )
6329 { 6961 {
6330 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); 6962 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0());
6331 // InternalSolverLanguageParser.g:2007:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) 6963 // InternalSolverLanguageParser.g:2212:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 )
6332 // InternalSolverLanguageParser.g:2007:4: rule__LowerBoundedScopeDefinition__Group_1_0__0 6964 // InternalSolverLanguageParser.g:2212:4: rule__LowerBoundedScopeDefinition__Group_1_0__0
6333 { 6965 {
6334 pushFollow(FOLLOW_2); 6966 pushFollow(FOLLOW_2);
6335 rule__LowerBoundedScopeDefinition__Group_1_0__0(); 6967 rule__LowerBoundedScopeDefinition__Group_1_0__0();
@@ -6347,14 +6979,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6347 } 6979 }
6348 break; 6980 break;
6349 case 2 : 6981 case 2 :
6350 // InternalSolverLanguageParser.g:2011:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) 6982 // InternalSolverLanguageParser.g:2216:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) )
6351 { 6983 {
6352 // InternalSolverLanguageParser.g:2011:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) 6984 // InternalSolverLanguageParser.g:2216:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) )
6353 // InternalSolverLanguageParser.g:2012:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) 6985 // InternalSolverLanguageParser.g:2217:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 )
6354 { 6986 {
6355 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); 6987 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1());
6356 // InternalSolverLanguageParser.g:2013:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) 6988 // InternalSolverLanguageParser.g:2218:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 )
6357 // InternalSolverLanguageParser.g:2013:4: rule__LowerBoundedScopeDefinition__Group_1_1__0 6989 // InternalSolverLanguageParser.g:2218:4: rule__LowerBoundedScopeDefinition__Group_1_1__0
6358 { 6990 {
6359 pushFollow(FOLLOW_2); 6991 pushFollow(FOLLOW_2);
6360 rule__LowerBoundedScopeDefinition__Group_1_1__0(); 6992 rule__LowerBoundedScopeDefinition__Group_1_1__0();
@@ -6389,13 +7021,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6389 7021
6390 7022
6391 // $ANTLR start "rule__UpperMultiplicty__Alternatives" 7023 // $ANTLR start "rule__UpperMultiplicty__Alternatives"
6392 // InternalSolverLanguageParser.g:2021:1: rule__UpperMultiplicty__Alternatives : ( ( RULE_INT ) | ( Asterisk ) ); 7024 // InternalSolverLanguageParser.g:2226:1: rule__UpperMultiplicty__Alternatives : ( ( RULE_INT ) | ( Asterisk ) );
6393 public final void rule__UpperMultiplicty__Alternatives() throws RecognitionException { 7025 public final void rule__UpperMultiplicty__Alternatives() throws RecognitionException {
6394 7026
6395 int stackSize = keepStackSize(); 7027 int stackSize = keepStackSize();
6396 7028
6397 try { 7029 try {
6398 // InternalSolverLanguageParser.g:2025:1: ( ( RULE_INT ) | ( Asterisk ) ) 7030 // InternalSolverLanguageParser.g:2230:1: ( ( RULE_INT ) | ( Asterisk ) )
6399 int alt17=2; 7031 int alt17=2;
6400 int LA17_0 = input.LA(1); 7032 int LA17_0 = input.LA(1);
6401 7033
@@ -6413,10 +7045,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6413 } 7045 }
6414 switch (alt17) { 7046 switch (alt17) {
6415 case 1 : 7047 case 1 :
6416 // InternalSolverLanguageParser.g:2026:2: ( RULE_INT ) 7048 // InternalSolverLanguageParser.g:2231:2: ( RULE_INT )
6417 { 7049 {
6418 // InternalSolverLanguageParser.g:2026:2: ( RULE_INT ) 7050 // InternalSolverLanguageParser.g:2231:2: ( RULE_INT )
6419 // InternalSolverLanguageParser.g:2027:3: RULE_INT 7051 // InternalSolverLanguageParser.g:2232:3: RULE_INT
6420 { 7052 {
6421 before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); 7053 before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0());
6422 match(input,RULE_INT,FOLLOW_2); 7054 match(input,RULE_INT,FOLLOW_2);
@@ -6428,10 +7060,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6428 } 7060 }
6429 break; 7061 break;
6430 case 2 : 7062 case 2 :
6431 // InternalSolverLanguageParser.g:2032:2: ( Asterisk ) 7063 // InternalSolverLanguageParser.g:2237:2: ( Asterisk )
6432 { 7064 {
6433 // InternalSolverLanguageParser.g:2032:2: ( Asterisk ) 7065 // InternalSolverLanguageParser.g:2237:2: ( Asterisk )
6434 // InternalSolverLanguageParser.g:2033:3: Asterisk 7066 // InternalSolverLanguageParser.g:2238:3: Asterisk
6435 { 7067 {
6436 before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); 7068 before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1());
6437 match(input,Asterisk,FOLLOW_2); 7069 match(input,Asterisk,FOLLOW_2);
@@ -6460,13 +7092,13 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6460 7092
6461 7093
6462 // $ANTLR start "rule__QualifiedName__Alternatives" 7094 // $ANTLR start "rule__QualifiedName__Alternatives"
6463 // InternalSolverLanguageParser.g:2042:1: rule__QualifiedName__Alternatives : ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) ); 7095 // InternalSolverLanguageParser.g:2247:1: rule__QualifiedName__Alternatives : ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) );
6464 public final void rule__QualifiedName__Alternatives() throws RecognitionException { 7096 public final void rule__QualifiedName__Alternatives() throws RecognitionException {
6465 7097
6466 int stackSize = keepStackSize(); 7098 int stackSize = keepStackSize();
6467 7099
6468 try { 7100 try {
6469 // InternalSolverLanguageParser.g:2046:1: ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) ) 7101 // InternalSolverLanguageParser.g:2251:1: ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) )
6470 int alt18=2; 7102 int alt18=2;
6471 int LA18_0 = input.LA(1); 7103 int LA18_0 = input.LA(1);
6472 7104
@@ -6484,14 +7116,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6484 } 7116 }
6485 switch (alt18) { 7117 switch (alt18) {
6486 case 1 : 7118 case 1 :
6487 // InternalSolverLanguageParser.g:2047:2: ( ( rule__QualifiedName__Group_0__0 ) ) 7119 // InternalSolverLanguageParser.g:2252:2: ( ( rule__QualifiedName__Group_0__0 ) )
6488 { 7120 {
6489 // InternalSolverLanguageParser.g:2047:2: ( ( rule__QualifiedName__Group_0__0 ) ) 7121 // InternalSolverLanguageParser.g:2252:2: ( ( rule__QualifiedName__Group_0__0 ) )
6490 // InternalSolverLanguageParser.g:2048:3: ( rule__QualifiedName__Group_0__0 ) 7122 // InternalSolverLanguageParser.g:2253:3: ( rule__QualifiedName__Group_0__0 )
6491 { 7123 {
6492 before(grammarAccess.getQualifiedNameAccess().getGroup_0()); 7124 before(grammarAccess.getQualifiedNameAccess().getGroup_0());
6493 // InternalSolverLanguageParser.g:2049:3: ( rule__QualifiedName__Group_0__0 ) 7125 // InternalSolverLanguageParser.g:2254:3: ( rule__QualifiedName__Group_0__0 )
6494 // InternalSolverLanguageParser.g:2049:4: rule__QualifiedName__Group_0__0 7126 // InternalSolverLanguageParser.g:2254:4: rule__QualifiedName__Group_0__0
6495 { 7127 {
6496 pushFollow(FOLLOW_2); 7128 pushFollow(FOLLOW_2);
6497 rule__QualifiedName__Group_0__0(); 7129 rule__QualifiedName__Group_0__0();
@@ -6509,10 +7141,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6509 } 7141 }
6510 break; 7142 break;
6511 case 2 : 7143 case 2 :
6512 // InternalSolverLanguageParser.g:2053:2: ( RULE_QUOTED_ID ) 7144 // InternalSolverLanguageParser.g:2258:2: ( RULE_QUOTED_ID )
6513 { 7145 {
6514 // InternalSolverLanguageParser.g:2053:2: ( RULE_QUOTED_ID ) 7146 // InternalSolverLanguageParser.g:2258:2: ( RULE_QUOTED_ID )
6515 // InternalSolverLanguageParser.g:2054:3: RULE_QUOTED_ID 7147 // InternalSolverLanguageParser.g:2259:3: RULE_QUOTED_ID
6516 { 7148 {
6517 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); 7149 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
6518 match(input,RULE_QUOTED_ID,FOLLOW_2); 7150 match(input,RULE_QUOTED_ID,FOLLOW_2);
@@ -6540,151 +7172,68 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6540 // $ANTLR end "rule__QualifiedName__Alternatives" 7172 // $ANTLR end "rule__QualifiedName__Alternatives"
6541 7173
6542 7174
6543 // $ANTLR start "rule__MetricType__Alternatives"
6544 // InternalSolverLanguageParser.g:2063:1: rule__MetricType__Alternatives : ( ( ( Int ) ) | ( ( Real ) ) );
6545 public final void rule__MetricType__Alternatives() throws RecognitionException {
6546
6547 int stackSize = keepStackSize();
6548
6549 try {
6550 // InternalSolverLanguageParser.g:2067:1: ( ( ( Int ) ) | ( ( Real ) ) )
6551 int alt19=2;
6552 int LA19_0 = input.LA(1);
6553
6554 if ( (LA19_0==Int) ) {
6555 alt19=1;
6556 }
6557 else if ( (LA19_0==Real) ) {
6558 alt19=2;
6559 }
6560 else {
6561 NoViableAltException nvae =
6562 new NoViableAltException("", 19, 0, input);
6563
6564 throw nvae;
6565 }
6566 switch (alt19) {
6567 case 1 :
6568 // InternalSolverLanguageParser.g:2068:2: ( ( Int ) )
6569 {
6570 // InternalSolverLanguageParser.g:2068:2: ( ( Int ) )
6571 // InternalSolverLanguageParser.g:2069:3: ( Int )
6572 {
6573 before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
6574 // InternalSolverLanguageParser.g:2070:3: ( Int )
6575 // InternalSolverLanguageParser.g:2070:4: Int
6576 {
6577 match(input,Int,FOLLOW_2);
6578
6579 }
6580
6581 after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
6582
6583 }
6584
6585
6586 }
6587 break;
6588 case 2 :
6589 // InternalSolverLanguageParser.g:2074:2: ( ( Real ) )
6590 {
6591 // InternalSolverLanguageParser.g:2074:2: ( ( Real ) )
6592 // InternalSolverLanguageParser.g:2075:3: ( Real )
6593 {
6594 before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
6595 // InternalSolverLanguageParser.g:2076:3: ( Real )
6596 // InternalSolverLanguageParser.g:2076:4: Real
6597 {
6598 match(input,Real,FOLLOW_2);
6599
6600 }
6601
6602 after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
6603
6604 }
6605
6606
6607 }
6608 break;
6609
6610 }
6611 }
6612 catch (RecognitionException re) {
6613 reportError(re);
6614 recover(input,re);
6615 }
6616 finally {
6617
6618 restoreStackSize(stackSize);
6619
6620 }
6621 return ;
6622 }
6623 // $ANTLR end "rule__MetricType__Alternatives"
6624
6625
6626 // $ANTLR start "rule__ComparisonOperator__Alternatives" 7175 // $ANTLR start "rule__ComparisonOperator__Alternatives"
6627 // InternalSolverLanguageParser.g:2084:1: rule__ComparisonOperator__Alternatives : ( ( ( EqualsSignEqualsSign ) ) | ( ( ExclamationMarkEqualsSign ) ) | ( ( LessThanSign ) ) | ( ( LessThanSignEqualsSign ) ) | ( ( GreaterThanSign ) ) | ( ( GreaterThanSignEqualsSign ) ) | ( ( In ) ) ); 7176 // InternalSolverLanguageParser.g:2268:1: rule__ComparisonOperator__Alternatives : ( ( ( EqualsSignEqualsSign ) ) | ( ( ExclamationMarkEqualsSign ) ) | ( ( LessThanSign ) ) | ( ( LessThanSignEqualsSign ) ) | ( ( GreaterThanSign ) ) | ( ( GreaterThanSignEqualsSign ) ) | ( ( In ) ) );
6628 public final void rule__ComparisonOperator__Alternatives() throws RecognitionException { 7177 public final void rule__ComparisonOperator__Alternatives() throws RecognitionException {
6629 7178
6630 int stackSize = keepStackSize(); 7179 int stackSize = keepStackSize();
6631 7180
6632 try { 7181 try {
6633 // InternalSolverLanguageParser.g:2088:1: ( ( ( EqualsSignEqualsSign ) ) | ( ( ExclamationMarkEqualsSign ) ) | ( ( LessThanSign ) ) | ( ( LessThanSignEqualsSign ) ) | ( ( GreaterThanSign ) ) | ( ( GreaterThanSignEqualsSign ) ) | ( ( In ) ) ) 7182 // InternalSolverLanguageParser.g:2272:1: ( ( ( EqualsSignEqualsSign ) ) | ( ( ExclamationMarkEqualsSign ) ) | ( ( LessThanSign ) ) | ( ( LessThanSignEqualsSign ) ) | ( ( GreaterThanSign ) ) | ( ( GreaterThanSignEqualsSign ) ) | ( ( In ) ) )
6634 int alt20=7; 7183 int alt19=7;
6635 switch ( input.LA(1) ) { 7184 switch ( input.LA(1) ) {
6636 case EqualsSignEqualsSign: 7185 case EqualsSignEqualsSign:
6637 { 7186 {
6638 alt20=1; 7187 alt19=1;
6639 } 7188 }
6640 break; 7189 break;
6641 case ExclamationMarkEqualsSign: 7190 case ExclamationMarkEqualsSign:
6642 { 7191 {
6643 alt20=2; 7192 alt19=2;
6644 } 7193 }
6645 break; 7194 break;
6646 case LessThanSign: 7195 case LessThanSign:
6647 { 7196 {
6648 alt20=3; 7197 alt19=3;
6649 } 7198 }
6650 break; 7199 break;
6651 case LessThanSignEqualsSign: 7200 case LessThanSignEqualsSign:
6652 { 7201 {
6653 alt20=4; 7202 alt19=4;
6654 } 7203 }
6655 break; 7204 break;
6656 case GreaterThanSign: 7205 case GreaterThanSign:
6657 { 7206 {
6658 alt20=5; 7207 alt19=5;
6659 } 7208 }
6660 break; 7209 break;
6661 case GreaterThanSignEqualsSign: 7210 case GreaterThanSignEqualsSign:
6662 { 7211 {
6663 alt20=6; 7212 alt19=6;
6664 } 7213 }
6665 break; 7214 break;
6666 case In: 7215 case In:
6667 { 7216 {
6668 alt20=7; 7217 alt19=7;
6669 } 7218 }
6670 break; 7219 break;
6671 default: 7220 default:
6672 NoViableAltException nvae = 7221 NoViableAltException nvae =
6673 new NoViableAltException("", 20, 0, input); 7222 new NoViableAltException("", 19, 0, input);
6674 7223
6675 throw nvae; 7224 throw nvae;
6676 } 7225 }
6677 7226
6678 switch (alt20) { 7227 switch (alt19) {
6679 case 1 : 7228 case 1 :
6680 // InternalSolverLanguageParser.g:2089:2: ( ( EqualsSignEqualsSign ) ) 7229 // InternalSolverLanguageParser.g:2273:2: ( ( EqualsSignEqualsSign ) )
6681 { 7230 {
6682 // InternalSolverLanguageParser.g:2089:2: ( ( EqualsSignEqualsSign ) ) 7231 // InternalSolverLanguageParser.g:2273:2: ( ( EqualsSignEqualsSign ) )
6683 // InternalSolverLanguageParser.g:2090:3: ( EqualsSignEqualsSign ) 7232 // InternalSolverLanguageParser.g:2274:3: ( EqualsSignEqualsSign )
6684 { 7233 {
6685 before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); 7234 before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0());
6686 // InternalSolverLanguageParser.g:2091:3: ( EqualsSignEqualsSign ) 7235 // InternalSolverLanguageParser.g:2275:3: ( EqualsSignEqualsSign )
6687 // InternalSolverLanguageParser.g:2091:4: EqualsSignEqualsSign 7236 // InternalSolverLanguageParser.g:2275:4: EqualsSignEqualsSign
6688 { 7237 {
6689 match(input,EqualsSignEqualsSign,FOLLOW_2); 7238 match(input,EqualsSignEqualsSign,FOLLOW_2);
6690 7239
@@ -6698,14 +7247,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6698 } 7247 }
6699 break; 7248 break;
6700 case 2 : 7249 case 2 :
6701 // InternalSolverLanguageParser.g:2095:2: ( ( ExclamationMarkEqualsSign ) ) 7250 // InternalSolverLanguageParser.g:2279:2: ( ( ExclamationMarkEqualsSign ) )
6702 { 7251 {
6703 // InternalSolverLanguageParser.g:2095:2: ( ( ExclamationMarkEqualsSign ) ) 7252 // InternalSolverLanguageParser.g:2279:2: ( ( ExclamationMarkEqualsSign ) )
6704 // InternalSolverLanguageParser.g:2096:3: ( ExclamationMarkEqualsSign ) 7253 // InternalSolverLanguageParser.g:2280:3: ( ExclamationMarkEqualsSign )
6705 { 7254 {
6706 before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); 7255 before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1());
6707 // InternalSolverLanguageParser.g:2097:3: ( ExclamationMarkEqualsSign ) 7256 // InternalSolverLanguageParser.g:2281:3: ( ExclamationMarkEqualsSign )
6708 // InternalSolverLanguageParser.g:2097:4: ExclamationMarkEqualsSign 7257 // InternalSolverLanguageParser.g:2281:4: ExclamationMarkEqualsSign
6709 { 7258 {
6710 match(input,ExclamationMarkEqualsSign,FOLLOW_2); 7259 match(input,ExclamationMarkEqualsSign,FOLLOW_2);
6711 7260
@@ -6719,14 +7268,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6719 } 7268 }
6720 break; 7269 break;
6721 case 3 : 7270 case 3 :
6722 // InternalSolverLanguageParser.g:2101:2: ( ( LessThanSign ) ) 7271 // InternalSolverLanguageParser.g:2285:2: ( ( LessThanSign ) )
6723 { 7272 {
6724 // InternalSolverLanguageParser.g:2101:2: ( ( LessThanSign ) ) 7273 // InternalSolverLanguageParser.g:2285:2: ( ( LessThanSign ) )
6725 // InternalSolverLanguageParser.g:2102:3: ( LessThanSign ) 7274 // InternalSolverLanguageParser.g:2286:3: ( LessThanSign )
6726 { 7275 {
6727 before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); 7276 before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2());
6728 // InternalSolverLanguageParser.g:2103:3: ( LessThanSign ) 7277 // InternalSolverLanguageParser.g:2287:3: ( LessThanSign )
6729 // InternalSolverLanguageParser.g:2103:4: LessThanSign 7278 // InternalSolverLanguageParser.g:2287:4: LessThanSign
6730 { 7279 {
6731 match(input,LessThanSign,FOLLOW_2); 7280 match(input,LessThanSign,FOLLOW_2);
6732 7281
@@ -6740,14 +7289,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6740 } 7289 }
6741 break; 7290 break;
6742 case 4 : 7291 case 4 :
6743 // InternalSolverLanguageParser.g:2107:2: ( ( LessThanSignEqualsSign ) ) 7292 // InternalSolverLanguageParser.g:2291:2: ( ( LessThanSignEqualsSign ) )
6744 { 7293 {
6745 // InternalSolverLanguageParser.g:2107:2: ( ( LessThanSignEqualsSign ) ) 7294 // InternalSolverLanguageParser.g:2291:2: ( ( LessThanSignEqualsSign ) )
6746 // InternalSolverLanguageParser.g:2108:3: ( LessThanSignEqualsSign ) 7295 // InternalSolverLanguageParser.g:2292:3: ( LessThanSignEqualsSign )
6747 { 7296 {
6748 before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); 7297 before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3());
6749 // InternalSolverLanguageParser.g:2109:3: ( LessThanSignEqualsSign ) 7298 // InternalSolverLanguageParser.g:2293:3: ( LessThanSignEqualsSign )
6750 // InternalSolverLanguageParser.g:2109:4: LessThanSignEqualsSign 7299 // InternalSolverLanguageParser.g:2293:4: LessThanSignEqualsSign
6751 { 7300 {
6752 match(input,LessThanSignEqualsSign,FOLLOW_2); 7301 match(input,LessThanSignEqualsSign,FOLLOW_2);
6753 7302
@@ -6761,14 +7310,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6761 } 7310 }
6762 break; 7311 break;
6763 case 5 : 7312 case 5 :
6764 // InternalSolverLanguageParser.g:2113:2: ( ( GreaterThanSign ) ) 7313 // InternalSolverLanguageParser.g:2297:2: ( ( GreaterThanSign ) )
6765 { 7314 {
6766 // InternalSolverLanguageParser.g:2113:2: ( ( GreaterThanSign ) ) 7315 // InternalSolverLanguageParser.g:2297:2: ( ( GreaterThanSign ) )
6767 // InternalSolverLanguageParser.g:2114:3: ( GreaterThanSign ) 7316 // InternalSolverLanguageParser.g:2298:3: ( GreaterThanSign )
6768 { 7317 {
6769 before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); 7318 before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
6770 // InternalSolverLanguageParser.g:2115:3: ( GreaterThanSign ) 7319 // InternalSolverLanguageParser.g:2299:3: ( GreaterThanSign )
6771 // InternalSolverLanguageParser.g:2115:4: GreaterThanSign 7320 // InternalSolverLanguageParser.g:2299:4: GreaterThanSign
6772 { 7321 {
6773 match(input,GreaterThanSign,FOLLOW_2); 7322 match(input,GreaterThanSign,FOLLOW_2);
6774 7323
@@ -6782,14 +7331,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6782 } 7331 }
6783 break; 7332 break;
6784 case 6 : 7333 case 6 :
6785 // InternalSolverLanguageParser.g:2119:2: ( ( GreaterThanSignEqualsSign ) ) 7334 // InternalSolverLanguageParser.g:2303:2: ( ( GreaterThanSignEqualsSign ) )
6786 { 7335 {
6787 // InternalSolverLanguageParser.g:2119:2: ( ( GreaterThanSignEqualsSign ) ) 7336 // InternalSolverLanguageParser.g:2303:2: ( ( GreaterThanSignEqualsSign ) )
6788 // InternalSolverLanguageParser.g:2120:3: ( GreaterThanSignEqualsSign ) 7337 // InternalSolverLanguageParser.g:2304:3: ( GreaterThanSignEqualsSign )
6789 { 7338 {
6790 before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); 7339 before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5());
6791 // InternalSolverLanguageParser.g:2121:3: ( GreaterThanSignEqualsSign ) 7340 // InternalSolverLanguageParser.g:2305:3: ( GreaterThanSignEqualsSign )
6792 // InternalSolverLanguageParser.g:2121:4: GreaterThanSignEqualsSign 7341 // InternalSolverLanguageParser.g:2305:4: GreaterThanSignEqualsSign
6793 { 7342 {
6794 match(input,GreaterThanSignEqualsSign,FOLLOW_2); 7343 match(input,GreaterThanSignEqualsSign,FOLLOW_2);
6795 7344
@@ -6803,14 +7352,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6803 } 7352 }
6804 break; 7353 break;
6805 case 7 : 7354 case 7 :
6806 // InternalSolverLanguageParser.g:2125:2: ( ( In ) ) 7355 // InternalSolverLanguageParser.g:2309:2: ( ( In ) )
6807 { 7356 {
6808 // InternalSolverLanguageParser.g:2125:2: ( ( In ) ) 7357 // InternalSolverLanguageParser.g:2309:2: ( ( In ) )
6809 // InternalSolverLanguageParser.g:2126:3: ( In ) 7358 // InternalSolverLanguageParser.g:2310:3: ( In )
6810 { 7359 {
6811 before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); 7360 before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6());
6812 // InternalSolverLanguageParser.g:2127:3: ( In ) 7361 // InternalSolverLanguageParser.g:2311:3: ( In )
6813 // InternalSolverLanguageParser.g:2127:4: In 7362 // InternalSolverLanguageParser.g:2311:4: In
6814 { 7363 {
6815 match(input,In,FOLLOW_2); 7364 match(input,In,FOLLOW_2);
6816 7365
@@ -6841,38 +7390,38 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6841 7390
6842 7391
6843 // $ANTLR start "rule__AdditiveBinaryOperator__Alternatives" 7392 // $ANTLR start "rule__AdditiveBinaryOperator__Alternatives"
6844 // InternalSolverLanguageParser.g:2135:1: rule__AdditiveBinaryOperator__Alternatives : ( ( ( PlusSign ) ) | ( ( HyphenMinus ) ) ); 7393 // InternalSolverLanguageParser.g:2319:1: rule__AdditiveBinaryOperator__Alternatives : ( ( ( PlusSign ) ) | ( ( HyphenMinus ) ) );
6845 public final void rule__AdditiveBinaryOperator__Alternatives() throws RecognitionException { 7394 public final void rule__AdditiveBinaryOperator__Alternatives() throws RecognitionException {
6846 7395
6847 int stackSize = keepStackSize(); 7396 int stackSize = keepStackSize();
6848 7397
6849 try { 7398 try {
6850 // InternalSolverLanguageParser.g:2139:1: ( ( ( PlusSign ) ) | ( ( HyphenMinus ) ) ) 7399 // InternalSolverLanguageParser.g:2323:1: ( ( ( PlusSign ) ) | ( ( HyphenMinus ) ) )
6851 int alt21=2; 7400 int alt20=2;
6852 int LA21_0 = input.LA(1); 7401 int LA20_0 = input.LA(1);
6853 7402
6854 if ( (LA21_0==PlusSign) ) { 7403 if ( (LA20_0==PlusSign) ) {
6855 alt21=1; 7404 alt20=1;
6856 } 7405 }
6857 else if ( (LA21_0==HyphenMinus) ) { 7406 else if ( (LA20_0==HyphenMinus) ) {
6858 alt21=2; 7407 alt20=2;
6859 } 7408 }
6860 else { 7409 else {
6861 NoViableAltException nvae = 7410 NoViableAltException nvae =
6862 new NoViableAltException("", 21, 0, input); 7411 new NoViableAltException("", 20, 0, input);
6863 7412
6864 throw nvae; 7413 throw nvae;
6865 } 7414 }
6866 switch (alt21) { 7415 switch (alt20) {
6867 case 1 : 7416 case 1 :
6868 // InternalSolverLanguageParser.g:2140:2: ( ( PlusSign ) ) 7417 // InternalSolverLanguageParser.g:2324:2: ( ( PlusSign ) )
6869 { 7418 {
6870 // InternalSolverLanguageParser.g:2140:2: ( ( PlusSign ) ) 7419 // InternalSolverLanguageParser.g:2324:2: ( ( PlusSign ) )
6871 // InternalSolverLanguageParser.g:2141:3: ( PlusSign ) 7420 // InternalSolverLanguageParser.g:2325:3: ( PlusSign )
6872 { 7421 {
6873 before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); 7422 before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0());
6874 // InternalSolverLanguageParser.g:2142:3: ( PlusSign ) 7423 // InternalSolverLanguageParser.g:2326:3: ( PlusSign )
6875 // InternalSolverLanguageParser.g:2142:4: PlusSign 7424 // InternalSolverLanguageParser.g:2326:4: PlusSign
6876 { 7425 {
6877 match(input,PlusSign,FOLLOW_2); 7426 match(input,PlusSign,FOLLOW_2);
6878 7427
@@ -6886,14 +7435,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6886 } 7435 }
6887 break; 7436 break;
6888 case 2 : 7437 case 2 :
6889 // InternalSolverLanguageParser.g:2146:2: ( ( HyphenMinus ) ) 7438 // InternalSolverLanguageParser.g:2330:2: ( ( HyphenMinus ) )
6890 { 7439 {
6891 // InternalSolverLanguageParser.g:2146:2: ( ( HyphenMinus ) ) 7440 // InternalSolverLanguageParser.g:2330:2: ( ( HyphenMinus ) )
6892 // InternalSolverLanguageParser.g:2147:3: ( HyphenMinus ) 7441 // InternalSolverLanguageParser.g:2331:3: ( HyphenMinus )
6893 { 7442 {
6894 before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); 7443 before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1());
6895 // InternalSolverLanguageParser.g:2148:3: ( HyphenMinus ) 7444 // InternalSolverLanguageParser.g:2332:3: ( HyphenMinus )
6896 // InternalSolverLanguageParser.g:2148:4: HyphenMinus 7445 // InternalSolverLanguageParser.g:2332:4: HyphenMinus
6897 { 7446 {
6898 match(input,HyphenMinus,FOLLOW_2); 7447 match(input,HyphenMinus,FOLLOW_2);
6899 7448
@@ -6924,38 +7473,38 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6924 7473
6925 7474
6926 // $ANTLR start "rule__MultiplicativeBinaryOperator__Alternatives" 7475 // $ANTLR start "rule__MultiplicativeBinaryOperator__Alternatives"
6927 // InternalSolverLanguageParser.g:2156:1: rule__MultiplicativeBinaryOperator__Alternatives : ( ( ( Asterisk ) ) | ( ( Solidus ) ) ); 7476 // InternalSolverLanguageParser.g:2340:1: rule__MultiplicativeBinaryOperator__Alternatives : ( ( ( Asterisk ) ) | ( ( Solidus ) ) );
6928 public final void rule__MultiplicativeBinaryOperator__Alternatives() throws RecognitionException { 7477 public final void rule__MultiplicativeBinaryOperator__Alternatives() throws RecognitionException {
6929 7478
6930 int stackSize = keepStackSize(); 7479 int stackSize = keepStackSize();
6931 7480
6932 try { 7481 try {
6933 // InternalSolverLanguageParser.g:2160:1: ( ( ( Asterisk ) ) | ( ( Solidus ) ) ) 7482 // InternalSolverLanguageParser.g:2344:1: ( ( ( Asterisk ) ) | ( ( Solidus ) ) )
6934 int alt22=2; 7483 int alt21=2;
6935 int LA22_0 = input.LA(1); 7484 int LA21_0 = input.LA(1);
6936 7485
6937 if ( (LA22_0==Asterisk) ) { 7486 if ( (LA21_0==Asterisk) ) {
6938 alt22=1; 7487 alt21=1;
6939 } 7488 }
6940 else if ( (LA22_0==Solidus) ) { 7489 else if ( (LA21_0==Solidus) ) {
6941 alt22=2; 7490 alt21=2;
6942 } 7491 }
6943 else { 7492 else {
6944 NoViableAltException nvae = 7493 NoViableAltException nvae =
6945 new NoViableAltException("", 22, 0, input); 7494 new NoViableAltException("", 21, 0, input);
6946 7495
6947 throw nvae; 7496 throw nvae;
6948 } 7497 }
6949 switch (alt22) { 7498 switch (alt21) {
6950 case 1 : 7499 case 1 :
6951 // InternalSolverLanguageParser.g:2161:2: ( ( Asterisk ) ) 7500 // InternalSolverLanguageParser.g:2345:2: ( ( Asterisk ) )
6952 { 7501 {
6953 // InternalSolverLanguageParser.g:2161:2: ( ( Asterisk ) ) 7502 // InternalSolverLanguageParser.g:2345:2: ( ( Asterisk ) )
6954 // InternalSolverLanguageParser.g:2162:3: ( Asterisk ) 7503 // InternalSolverLanguageParser.g:2346:3: ( Asterisk )
6955 { 7504 {
6956 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); 7505 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0());
6957 // InternalSolverLanguageParser.g:2163:3: ( Asterisk ) 7506 // InternalSolverLanguageParser.g:2347:3: ( Asterisk )
6958 // InternalSolverLanguageParser.g:2163:4: Asterisk 7507 // InternalSolverLanguageParser.g:2347:4: Asterisk
6959 { 7508 {
6960 match(input,Asterisk,FOLLOW_2); 7509 match(input,Asterisk,FOLLOW_2);
6961 7510
@@ -6969,14 +7518,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6969 } 7518 }
6970 break; 7519 break;
6971 case 2 : 7520 case 2 :
6972 // InternalSolverLanguageParser.g:2167:2: ( ( Solidus ) ) 7521 // InternalSolverLanguageParser.g:2351:2: ( ( Solidus ) )
6973 { 7522 {
6974 // InternalSolverLanguageParser.g:2167:2: ( ( Solidus ) ) 7523 // InternalSolverLanguageParser.g:2351:2: ( ( Solidus ) )
6975 // InternalSolverLanguageParser.g:2168:3: ( Solidus ) 7524 // InternalSolverLanguageParser.g:2352:3: ( Solidus )
6976 { 7525 {
6977 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); 7526 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1());
6978 // InternalSolverLanguageParser.g:2169:3: ( Solidus ) 7527 // InternalSolverLanguageParser.g:2353:3: ( Solidus )
6979 // InternalSolverLanguageParser.g:2169:4: Solidus 7528 // InternalSolverLanguageParser.g:2353:4: Solidus
6980 { 7529 {
6981 match(input,Solidus,FOLLOW_2); 7530 match(input,Solidus,FOLLOW_2);
6982 7531
@@ -7007,62 +7556,62 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7007 7556
7008 7557
7009 // $ANTLR start "rule__UnaryOp__Alternatives" 7558 // $ANTLR start "rule__UnaryOp__Alternatives"
7010 // InternalSolverLanguageParser.g:2177:1: rule__UnaryOp__Alternatives : ( ( ( ExclamationMark ) ) | ( ( PlusSign ) ) | ( ( HyphenMinus ) ) | ( ( May ) ) | ( ( Must ) ) | ( ( Current ) ) ); 7559 // InternalSolverLanguageParser.g:2361:1: rule__UnaryOp__Alternatives : ( ( ( ExclamationMark ) ) | ( ( PlusSign ) ) | ( ( HyphenMinus ) ) | ( ( May ) ) | ( ( Must ) ) | ( ( Current ) ) );
7011 public final void rule__UnaryOp__Alternatives() throws RecognitionException { 7560 public final void rule__UnaryOp__Alternatives() throws RecognitionException {
7012 7561
7013 int stackSize = keepStackSize(); 7562 int stackSize = keepStackSize();
7014 7563
7015 try { 7564 try {
7016 // InternalSolverLanguageParser.g:2181:1: ( ( ( ExclamationMark ) ) | ( ( PlusSign ) ) | ( ( HyphenMinus ) ) | ( ( May ) ) | ( ( Must ) ) | ( ( Current ) ) ) 7565 // InternalSolverLanguageParser.g:2365:1: ( ( ( ExclamationMark ) ) | ( ( PlusSign ) ) | ( ( HyphenMinus ) ) | ( ( May ) ) | ( ( Must ) ) | ( ( Current ) ) )
7017 int alt23=6; 7566 int alt22=6;
7018 switch ( input.LA(1) ) { 7567 switch ( input.LA(1) ) {
7019 case ExclamationMark: 7568 case ExclamationMark:
7020 { 7569 {
7021 alt23=1; 7570 alt22=1;
7022 } 7571 }
7023 break; 7572 break;
7024 case PlusSign: 7573 case PlusSign:
7025 { 7574 {
7026 alt23=2; 7575 alt22=2;
7027 } 7576 }
7028 break; 7577 break;
7029 case HyphenMinus: 7578 case HyphenMinus:
7030 { 7579 {
7031 alt23=3; 7580 alt22=3;
7032 } 7581 }
7033 break; 7582 break;
7034 case May: 7583 case May:
7035 { 7584 {
7036 alt23=4; 7585 alt22=4;
7037 } 7586 }
7038 break; 7587 break;
7039 case Must: 7588 case Must:
7040 { 7589 {
7041 alt23=5; 7590 alt22=5;
7042 } 7591 }
7043 break; 7592 break;
7044 case Current: 7593 case Current:
7045 { 7594 {
7046 alt23=6; 7595 alt22=6;
7047 } 7596 }
7048 break; 7597 break;
7049 default: 7598 default:
7050 NoViableAltException nvae = 7599 NoViableAltException nvae =
7051 new NoViableAltException("", 23, 0, input); 7600 new NoViableAltException("", 22, 0, input);
7052 7601
7053 throw nvae; 7602 throw nvae;
7054 } 7603 }
7055 7604
7056 switch (alt23) { 7605 switch (alt22) {
7057 case 1 : 7606 case 1 :
7058 // InternalSolverLanguageParser.g:2182:2: ( ( ExclamationMark ) ) 7607 // InternalSolverLanguageParser.g:2366:2: ( ( ExclamationMark ) )
7059 { 7608 {
7060 // InternalSolverLanguageParser.g:2182:2: ( ( ExclamationMark ) ) 7609 // InternalSolverLanguageParser.g:2366:2: ( ( ExclamationMark ) )
7061 // InternalSolverLanguageParser.g:2183:3: ( ExclamationMark ) 7610 // InternalSolverLanguageParser.g:2367:3: ( ExclamationMark )
7062 { 7611 {
7063 before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); 7612 before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0());
7064 // InternalSolverLanguageParser.g:2184:3: ( ExclamationMark ) 7613 // InternalSolverLanguageParser.g:2368:3: ( ExclamationMark )
7065 // InternalSolverLanguageParser.g:2184:4: ExclamationMark 7614 // InternalSolverLanguageParser.g:2368:4: ExclamationMark
7066 { 7615 {
7067 match(input,ExclamationMark,FOLLOW_2); 7616 match(input,ExclamationMark,FOLLOW_2);
7068 7617
@@ -7076,14 +7625,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7076 } 7625 }
7077 break; 7626 break;
7078 case 2 : 7627 case 2 :
7079 // InternalSolverLanguageParser.g:2188:2: ( ( PlusSign ) ) 7628 // InternalSolverLanguageParser.g:2372:2: ( ( PlusSign ) )
7080 { 7629 {
7081 // InternalSolverLanguageParser.g:2188:2: ( ( PlusSign ) ) 7630 // InternalSolverLanguageParser.g:2372:2: ( ( PlusSign ) )
7082 // InternalSolverLanguageParser.g:2189:3: ( PlusSign ) 7631 // InternalSolverLanguageParser.g:2373:3: ( PlusSign )
7083 { 7632 {
7084 before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); 7633 before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1());
7085 // InternalSolverLanguageParser.g:2190:3: ( PlusSign ) 7634 // InternalSolverLanguageParser.g:2374:3: ( PlusSign )
7086 // InternalSolverLanguageParser.g:2190:4: PlusSign 7635 // InternalSolverLanguageParser.g:2374:4: PlusSign
7087 { 7636 {
7088 match(input,PlusSign,FOLLOW_2); 7637 match(input,PlusSign,FOLLOW_2);
7089 7638
@@ -7097,14 +7646,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7097 } 7646 }
7098 break; 7647 break;
7099 case 3 : 7648 case 3 :
7100 // InternalSolverLanguageParser.g:2194:2: ( ( HyphenMinus ) ) 7649 // InternalSolverLanguageParser.g:2378:2: ( ( HyphenMinus ) )
7101 { 7650 {
7102 // InternalSolverLanguageParser.g:2194:2: ( ( HyphenMinus ) ) 7651 // InternalSolverLanguageParser.g:2378:2: ( ( HyphenMinus ) )
7103 // InternalSolverLanguageParser.g:2195:3: ( HyphenMinus ) 7652 // InternalSolverLanguageParser.g:2379:3: ( HyphenMinus )
7104 { 7653 {
7105 before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); 7654 before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2());
7106 // InternalSolverLanguageParser.g:2196:3: ( HyphenMinus ) 7655 // InternalSolverLanguageParser.g:2380:3: ( HyphenMinus )
7107 // InternalSolverLanguageParser.g:2196:4: HyphenMinus 7656 // InternalSolverLanguageParser.g:2380:4: HyphenMinus
7108 { 7657 {
7109 match(input,HyphenMinus,FOLLOW_2); 7658 match(input,HyphenMinus,FOLLOW_2);
7110 7659
@@ -7118,14 +7667,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7118 } 7667 }
7119 break; 7668 break;
7120 case 4 : 7669 case 4 :
7121 // InternalSolverLanguageParser.g:2200:2: ( ( May ) ) 7670 // InternalSolverLanguageParser.g:2384:2: ( ( May ) )
7122 { 7671 {
7123 // InternalSolverLanguageParser.g:2200:2: ( ( May ) ) 7672 // InternalSolverLanguageParser.g:2384:2: ( ( May ) )
7124 // InternalSolverLanguageParser.g:2201:3: ( May ) 7673 // InternalSolverLanguageParser.g:2385:3: ( May )
7125 { 7674 {
7126 before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); 7675 before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
7127 // InternalSolverLanguageParser.g:2202:3: ( May ) 7676 // InternalSolverLanguageParser.g:2386:3: ( May )
7128 // InternalSolverLanguageParser.g:2202:4: May 7677 // InternalSolverLanguageParser.g:2386:4: May
7129 { 7678 {
7130 match(input,May,FOLLOW_2); 7679 match(input,May,FOLLOW_2);
7131 7680
@@ -7139,14 +7688,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7139 } 7688 }
7140 break; 7689 break;
7141 case 5 : 7690 case 5 :
7142 // InternalSolverLanguageParser.g:2206:2: ( ( Must ) ) 7691 // InternalSolverLanguageParser.g:2390:2: ( ( Must ) )
7143 { 7692 {
7144 // InternalSolverLanguageParser.g:2206:2: ( ( Must ) ) 7693 // InternalSolverLanguageParser.g:2390:2: ( ( Must ) )
7145 // InternalSolverLanguageParser.g:2207:3: ( Must ) 7694 // InternalSolverLanguageParser.g:2391:3: ( Must )
7146 { 7695 {
7147 before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); 7696 before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
7148 // InternalSolverLanguageParser.g:2208:3: ( Must ) 7697 // InternalSolverLanguageParser.g:2392:3: ( Must )
7149 // InternalSolverLanguageParser.g:2208:4: Must 7698 // InternalSolverLanguageParser.g:2392:4: Must
7150 { 7699 {
7151 match(input,Must,FOLLOW_2); 7700 match(input,Must,FOLLOW_2);
7152 7701
@@ -7160,14 +7709,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7160 } 7709 }
7161 break; 7710 break;
7162 case 6 : 7711 case 6 :
7163 // InternalSolverLanguageParser.g:2212:2: ( ( Current ) ) 7712 // InternalSolverLanguageParser.g:2396:2: ( ( Current ) )
7164 { 7713 {
7165 // InternalSolverLanguageParser.g:2212:2: ( ( Current ) ) 7714 // InternalSolverLanguageParser.g:2396:2: ( ( Current ) )
7166 // InternalSolverLanguageParser.g:2213:3: ( Current ) 7715 // InternalSolverLanguageParser.g:2397:3: ( Current )
7167 { 7716 {
7168 before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); 7717 before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
7169 // InternalSolverLanguageParser.g:2214:3: ( Current ) 7718 // InternalSolverLanguageParser.g:2398:3: ( Current )
7170 // InternalSolverLanguageParser.g:2214:4: Current 7719 // InternalSolverLanguageParser.g:2398:4: Current
7171 { 7720 {
7172 match(input,Current,FOLLOW_2); 7721 match(input,Current,FOLLOW_2);
7173 7722
@@ -7197,69 +7746,54 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7197 // $ANTLR end "rule__UnaryOp__Alternatives" 7746 // $ANTLR end "rule__UnaryOp__Alternatives"
7198 7747
7199 7748
7200 // $ANTLR start "rule__AggregationOp__Alternatives" 7749 // $ANTLR start "rule__Quantifier__Alternatives"
7201 // InternalSolverLanguageParser.g:2222:1: rule__AggregationOp__Alternatives : ( ( ( Only ) ) | ( ( Sum ) ) | ( ( Prod ) ) | ( ( Avg ) ) | ( ( Min ) ) | ( ( Max ) ) ); 7750 // InternalSolverLanguageParser.g:2406:1: rule__Quantifier__Alternatives : ( ( ( Exists ) ) | ( ( Forall ) ) | ( ( Count ) ) );
7202 public final void rule__AggregationOp__Alternatives() throws RecognitionException { 7751 public final void rule__Quantifier__Alternatives() throws RecognitionException {
7203 7752
7204 int stackSize = keepStackSize(); 7753 int stackSize = keepStackSize();
7205 7754
7206 try { 7755 try {
7207 // InternalSolverLanguageParser.g:2226:1: ( ( ( Only ) ) | ( ( Sum ) ) | ( ( Prod ) ) | ( ( Avg ) ) | ( ( Min ) ) | ( ( Max ) ) ) 7756 // InternalSolverLanguageParser.g:2410:1: ( ( ( Exists ) ) | ( ( Forall ) ) | ( ( Count ) ) )
7208 int alt24=6; 7757 int alt23=3;
7209 switch ( input.LA(1) ) { 7758 switch ( input.LA(1) ) {
7210 case Only: 7759 case Exists:
7211 { 7760 {
7212 alt24=1; 7761 alt23=1;
7213 }
7214 break;
7215 case Sum:
7216 {
7217 alt24=2;
7218 }
7219 break;
7220 case Prod:
7221 {
7222 alt24=3;
7223 }
7224 break;
7225 case Avg:
7226 {
7227 alt24=4;
7228 } 7762 }
7229 break; 7763 break;
7230 case Min: 7764 case Forall:
7231 { 7765 {
7232 alt24=5; 7766 alt23=2;
7233 } 7767 }
7234 break; 7768 break;
7235 case Max: 7769 case Count:
7236 { 7770 {
7237 alt24=6; 7771 alt23=3;
7238 } 7772 }
7239 break; 7773 break;
7240 default: 7774 default:
7241 NoViableAltException nvae = 7775 NoViableAltException nvae =
7242 new NoViableAltException("", 24, 0, input); 7776 new NoViableAltException("", 23, 0, input);
7243 7777
7244 throw nvae; 7778 throw nvae;
7245 } 7779 }
7246 7780
7247 switch (alt24) { 7781 switch (alt23) {
7248 case 1 : 7782 case 1 :
7249 // InternalSolverLanguageParser.g:2227:2: ( ( Only ) ) 7783 // InternalSolverLanguageParser.g:2411:2: ( ( Exists ) )
7250 { 7784 {
7251 // InternalSolverLanguageParser.g:2227:2: ( ( Only ) ) 7785 // InternalSolverLanguageParser.g:2411:2: ( ( Exists ) )
7252 // InternalSolverLanguageParser.g:2228:3: ( Only ) 7786 // InternalSolverLanguageParser.g:2412:3: ( Exists )
7253 { 7787 {
7254 before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); 7788 before(grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
7255 // InternalSolverLanguageParser.g:2229:3: ( Only ) 7789 // InternalSolverLanguageParser.g:2413:3: ( Exists )
7256 // InternalSolverLanguageParser.g:2229:4: Only 7790 // InternalSolverLanguageParser.g:2413:4: Exists
7257 { 7791 {
7258 match(input,Only,FOLLOW_2); 7792 match(input,Exists,FOLLOW_2);
7259 7793
7260 } 7794 }
7261 7795
7262 after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); 7796 after(grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
7263 7797
7264 } 7798 }
7265 7799
@@ -7267,20 +7801,20 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7267 } 7801 }
7268 break; 7802 break;
7269 case 2 : 7803 case 2 :
7270 // InternalSolverLanguageParser.g:2233:2: ( ( Sum ) ) 7804 // InternalSolverLanguageParser.g:2417:2: ( ( Forall ) )
7271 { 7805 {
7272 // InternalSolverLanguageParser.g:2233:2: ( ( Sum ) ) 7806 // InternalSolverLanguageParser.g:2417:2: ( ( Forall ) )
7273 // InternalSolverLanguageParser.g:2234:3: ( Sum ) 7807 // InternalSolverLanguageParser.g:2418:3: ( Forall )
7274 { 7808 {
7275 before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); 7809 before(grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
7276 // InternalSolverLanguageParser.g:2235:3: ( Sum ) 7810 // InternalSolverLanguageParser.g:2419:3: ( Forall )
7277 // InternalSolverLanguageParser.g:2235:4: Sum 7811 // InternalSolverLanguageParser.g:2419:4: Forall
7278 { 7812 {
7279 match(input,Sum,FOLLOW_2); 7813 match(input,Forall,FOLLOW_2);
7280 7814
7281 } 7815 }
7282 7816
7283 after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); 7817 after(grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
7284 7818
7285 } 7819 }
7286 7820
@@ -7288,83 +7822,20 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7288 } 7822 }
7289 break; 7823 break;
7290 case 3 : 7824 case 3 :
7291 // InternalSolverLanguageParser.g:2239:2: ( ( Prod ) ) 7825 // InternalSolverLanguageParser.g:2423:2: ( ( Count ) )
7292 { 7826 {
7293 // InternalSolverLanguageParser.g:2239:2: ( ( Prod ) ) 7827 // InternalSolverLanguageParser.g:2423:2: ( ( Count ) )
7294 // InternalSolverLanguageParser.g:2240:3: ( Prod ) 7828 // InternalSolverLanguageParser.g:2424:3: ( Count )
7295 { 7829 {
7296 before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); 7830 before(grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
7297 // InternalSolverLanguageParser.g:2241:3: ( Prod ) 7831 // InternalSolverLanguageParser.g:2425:3: ( Count )
7298 // InternalSolverLanguageParser.g:2241:4: Prod 7832 // InternalSolverLanguageParser.g:2425:4: Count
7299 { 7833 {
7300 match(input,Prod,FOLLOW_2); 7834 match(input,Count,FOLLOW_2);
7301 7835
7302 } 7836 }
7303 7837
7304 after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); 7838 after(grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
7305
7306 }
7307
7308
7309 }
7310 break;
7311 case 4 :
7312 // InternalSolverLanguageParser.g:2245:2: ( ( Avg ) )
7313 {
7314 // InternalSolverLanguageParser.g:2245:2: ( ( Avg ) )
7315 // InternalSolverLanguageParser.g:2246:3: ( Avg )
7316 {
7317 before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
7318 // InternalSolverLanguageParser.g:2247:3: ( Avg )
7319 // InternalSolverLanguageParser.g:2247:4: Avg
7320 {
7321 match(input,Avg,FOLLOW_2);
7322
7323 }
7324
7325 after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
7326
7327 }
7328
7329
7330 }
7331 break;
7332 case 5 :
7333 // InternalSolverLanguageParser.g:2251:2: ( ( Min ) )
7334 {
7335 // InternalSolverLanguageParser.g:2251:2: ( ( Min ) )
7336 // InternalSolverLanguageParser.g:2252:3: ( Min )
7337 {
7338 before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
7339 // InternalSolverLanguageParser.g:2253:3: ( Min )
7340 // InternalSolverLanguageParser.g:2253:4: Min
7341 {
7342 match(input,Min,FOLLOW_2);
7343
7344 }
7345
7346 after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
7347
7348 }
7349
7350
7351 }
7352 break;
7353 case 6 :
7354 // InternalSolverLanguageParser.g:2257:2: ( ( Max ) )
7355 {
7356 // InternalSolverLanguageParser.g:2257:2: ( ( Max ) )
7357 // InternalSolverLanguageParser.g:2258:3: ( Max )
7358 {
7359 before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
7360 // InternalSolverLanguageParser.g:2259:3: ( Max )
7361 // InternalSolverLanguageParser.g:2259:4: Max
7362 {
7363 match(input,Max,FOLLOW_2);
7364
7365 }
7366
7367 after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
7368 7839
7369 } 7840 }
7370 7841
@@ -7385,56 +7856,56 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7385 } 7856 }
7386 return ; 7857 return ;
7387 } 7858 }
7388 // $ANTLR end "rule__AggregationOp__Alternatives" 7859 // $ANTLR end "rule__Quantifier__Alternatives"
7389 7860
7390 7861
7391 // $ANTLR start "rule__LogicValue__Alternatives" 7862 // $ANTLR start "rule__LogicValue__Alternatives"
7392 // InternalSolverLanguageParser.g:2267:1: rule__LogicValue__Alternatives : ( ( ( True ) ) | ( ( False ) ) | ( ( Unknown ) ) | ( ( Error ) ) ); 7863 // InternalSolverLanguageParser.g:2433:1: rule__LogicValue__Alternatives : ( ( ( True ) ) | ( ( False ) ) | ( ( Unknown ) ) | ( ( Error ) ) );
7393 public final void rule__LogicValue__Alternatives() throws RecognitionException { 7864 public final void rule__LogicValue__Alternatives() throws RecognitionException {
7394 7865
7395 int stackSize = keepStackSize(); 7866 int stackSize = keepStackSize();
7396 7867
7397 try { 7868 try {
7398 // InternalSolverLanguageParser.g:2271:1: ( ( ( True ) ) | ( ( False ) ) | ( ( Unknown ) ) | ( ( Error ) ) ) 7869 // InternalSolverLanguageParser.g:2437:1: ( ( ( True ) ) | ( ( False ) ) | ( ( Unknown ) ) | ( ( Error ) ) )
7399 int alt25=4; 7870 int alt24=4;
7400 switch ( input.LA(1) ) { 7871 switch ( input.LA(1) ) {
7401 case True: 7872 case True:
7402 { 7873 {
7403 alt25=1; 7874 alt24=1;
7404 } 7875 }
7405 break; 7876 break;
7406 case False: 7877 case False:
7407 { 7878 {
7408 alt25=2; 7879 alt24=2;
7409 } 7880 }
7410 break; 7881 break;
7411 case Unknown: 7882 case Unknown:
7412 { 7883 {
7413 alt25=3; 7884 alt24=3;
7414 } 7885 }
7415 break; 7886 break;
7416 case Error: 7887 case Error:
7417 { 7888 {
7418 alt25=4; 7889 alt24=4;
7419 } 7890 }
7420 break; 7891 break;
7421 default: 7892 default:
7422 NoViableAltException nvae = 7893 NoViableAltException nvae =
7423 new NoViableAltException("", 25, 0, input); 7894 new NoViableAltException("", 24, 0, input);
7424 7895
7425 throw nvae; 7896 throw nvae;
7426 } 7897 }
7427 7898
7428 switch (alt25) { 7899 switch (alt24) {
7429 case 1 : 7900 case 1 :
7430 // InternalSolverLanguageParser.g:2272:2: ( ( True ) ) 7901 // InternalSolverLanguageParser.g:2438:2: ( ( True ) )
7431 { 7902 {
7432 // InternalSolverLanguageParser.g:2272:2: ( ( True ) ) 7903 // InternalSolverLanguageParser.g:2438:2: ( ( True ) )
7433 // InternalSolverLanguageParser.g:2273:3: ( True ) 7904 // InternalSolverLanguageParser.g:2439:3: ( True )
7434 { 7905 {
7435 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 7906 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
7436 // InternalSolverLanguageParser.g:2274:3: ( True ) 7907 // InternalSolverLanguageParser.g:2440:3: ( True )
7437 // InternalSolverLanguageParser.g:2274:4: True 7908 // InternalSolverLanguageParser.g:2440:4: True
7438 { 7909 {
7439 match(input,True,FOLLOW_2); 7910 match(input,True,FOLLOW_2);
7440 7911
@@ -7448,14 +7919,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7448 } 7919 }
7449 break; 7920 break;
7450 case 2 : 7921 case 2 :
7451 // InternalSolverLanguageParser.g:2278:2: ( ( False ) ) 7922 // InternalSolverLanguageParser.g:2444:2: ( ( False ) )
7452 { 7923 {
7453 // InternalSolverLanguageParser.g:2278:2: ( ( False ) ) 7924 // InternalSolverLanguageParser.g:2444:2: ( ( False ) )
7454 // InternalSolverLanguageParser.g:2279:3: ( False ) 7925 // InternalSolverLanguageParser.g:2445:3: ( False )
7455 { 7926 {
7456 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 7927 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
7457 // InternalSolverLanguageParser.g:2280:3: ( False ) 7928 // InternalSolverLanguageParser.g:2446:3: ( False )
7458 // InternalSolverLanguageParser.g:2280:4: False 7929 // InternalSolverLanguageParser.g:2446:4: False
7459 { 7930 {
7460 match(input,False,FOLLOW_2); 7931 match(input,False,FOLLOW_2);
7461 7932
@@ -7469,14 +7940,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7469 } 7940 }
7470 break; 7941 break;
7471 case 3 : 7942 case 3 :
7472 // InternalSolverLanguageParser.g:2284:2: ( ( Unknown ) ) 7943 // InternalSolverLanguageParser.g:2450:2: ( ( Unknown ) )
7473 { 7944 {
7474 // InternalSolverLanguageParser.g:2284:2: ( ( Unknown ) ) 7945 // InternalSolverLanguageParser.g:2450:2: ( ( Unknown ) )
7475 // InternalSolverLanguageParser.g:2285:3: ( Unknown ) 7946 // InternalSolverLanguageParser.g:2451:3: ( Unknown )
7476 { 7947 {
7477 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 7948 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
7478 // InternalSolverLanguageParser.g:2286:3: ( Unknown ) 7949 // InternalSolverLanguageParser.g:2452:3: ( Unknown )
7479 // InternalSolverLanguageParser.g:2286:4: Unknown 7950 // InternalSolverLanguageParser.g:2452:4: Unknown
7480 { 7951 {
7481 match(input,Unknown,FOLLOW_2); 7952 match(input,Unknown,FOLLOW_2);
7482 7953
@@ -7490,14 +7961,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7490 } 7961 }
7491 break; 7962 break;
7492 case 4 : 7963 case 4 :
7493 // InternalSolverLanguageParser.g:2290:2: ( ( Error ) ) 7964 // InternalSolverLanguageParser.g:2456:2: ( ( Error ) )
7494 { 7965 {
7495 // InternalSolverLanguageParser.g:2290:2: ( ( Error ) ) 7966 // InternalSolverLanguageParser.g:2456:2: ( ( Error ) )
7496 // InternalSolverLanguageParser.g:2291:3: ( Error ) 7967 // InternalSolverLanguageParser.g:2457:3: ( Error )
7497 { 7968 {
7498 before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); 7969 before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3());
7499 // InternalSolverLanguageParser.g:2292:3: ( Error ) 7970 // InternalSolverLanguageParser.g:2458:3: ( Error )
7500 // InternalSolverLanguageParser.g:2292:4: Error 7971 // InternalSolverLanguageParser.g:2458:4: Error
7501 { 7972 {
7502 match(input,Error,FOLLOW_2); 7973 match(input,Error,FOLLOW_2);
7503 7974
@@ -7528,38 +7999,38 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7528 7999
7529 8000
7530 // $ANTLR start "rule__ObjectiveKind__Alternatives" 8001 // $ANTLR start "rule__ObjectiveKind__Alternatives"
7531 // InternalSolverLanguageParser.g:2300:1: rule__ObjectiveKind__Alternatives : ( ( ( Minimize ) ) | ( ( Maximize ) ) ); 8002 // InternalSolverLanguageParser.g:2466:1: rule__ObjectiveKind__Alternatives : ( ( ( Minimize ) ) | ( ( Maximize ) ) );
7532 public final void rule__ObjectiveKind__Alternatives() throws RecognitionException { 8003 public final void rule__ObjectiveKind__Alternatives() throws RecognitionException {
7533 8004
7534 int stackSize = keepStackSize(); 8005 int stackSize = keepStackSize();
7535 8006
7536 try { 8007 try {
7537 // InternalSolverLanguageParser.g:2304:1: ( ( ( Minimize ) ) | ( ( Maximize ) ) ) 8008 // InternalSolverLanguageParser.g:2470:1: ( ( ( Minimize ) ) | ( ( Maximize ) ) )
7538 int alt26=2; 8009 int alt25=2;
7539 int LA26_0 = input.LA(1); 8010 int LA25_0 = input.LA(1);
7540 8011
7541 if ( (LA26_0==Minimize) ) { 8012 if ( (LA25_0==Minimize) ) {
7542 alt26=1; 8013 alt25=1;
7543 } 8014 }
7544 else if ( (LA26_0==Maximize) ) { 8015 else if ( (LA25_0==Maximize) ) {
7545 alt26=2; 8016 alt25=2;
7546 } 8017 }
7547 else { 8018 else {
7548 NoViableAltException nvae = 8019 NoViableAltException nvae =
7549 new NoViableAltException("", 26, 0, input); 8020 new NoViableAltException("", 25, 0, input);
7550 8021
7551 throw nvae; 8022 throw nvae;
7552 } 8023 }
7553 switch (alt26) { 8024 switch (alt25) {
7554 case 1 : 8025 case 1 :
7555 // InternalSolverLanguageParser.g:2305:2: ( ( Minimize ) ) 8026 // InternalSolverLanguageParser.g:2471:2: ( ( Minimize ) )
7556 { 8027 {
7557 // InternalSolverLanguageParser.g:2305:2: ( ( Minimize ) ) 8028 // InternalSolverLanguageParser.g:2471:2: ( ( Minimize ) )
7558 // InternalSolverLanguageParser.g:2306:3: ( Minimize ) 8029 // InternalSolverLanguageParser.g:2472:3: ( Minimize )
7559 { 8030 {
7560 before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); 8031 before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0());
7561 // InternalSolverLanguageParser.g:2307:3: ( Minimize ) 8032 // InternalSolverLanguageParser.g:2473:3: ( Minimize )
7562 // InternalSolverLanguageParser.g:2307:4: Minimize 8033 // InternalSolverLanguageParser.g:2473:4: Minimize
7563 { 8034 {
7564 match(input,Minimize,FOLLOW_2); 8035 match(input,Minimize,FOLLOW_2);
7565 8036
@@ -7573,14 +8044,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7573 } 8044 }
7574 break; 8045 break;
7575 case 2 : 8046 case 2 :
7576 // InternalSolverLanguageParser.g:2311:2: ( ( Maximize ) ) 8047 // InternalSolverLanguageParser.g:2477:2: ( ( Maximize ) )
7577 { 8048 {
7578 // InternalSolverLanguageParser.g:2311:2: ( ( Maximize ) ) 8049 // InternalSolverLanguageParser.g:2477:2: ( ( Maximize ) )
7579 // InternalSolverLanguageParser.g:2312:3: ( Maximize ) 8050 // InternalSolverLanguageParser.g:2478:3: ( Maximize )
7580 { 8051 {
7581 before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); 8052 before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1());
7582 // InternalSolverLanguageParser.g:2313:3: ( Maximize ) 8053 // InternalSolverLanguageParser.g:2479:3: ( Maximize )
7583 // InternalSolverLanguageParser.g:2313:4: Maximize 8054 // InternalSolverLanguageParser.g:2479:4: Maximize
7584 { 8055 {
7585 match(input,Maximize,FOLLOW_2); 8056 match(input,Maximize,FOLLOW_2);
7586 8057
@@ -7611,14 +8082,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7611 8082
7612 8083
7613 // $ANTLR start "rule__Statement__Group__0" 8084 // $ANTLR start "rule__Statement__Group__0"
7614 // InternalSolverLanguageParser.g:2321:1: rule__Statement__Group__0 : rule__Statement__Group__0__Impl rule__Statement__Group__1 ; 8085 // InternalSolverLanguageParser.g:2487:1: rule__Statement__Group__0 : rule__Statement__Group__0__Impl rule__Statement__Group__1 ;
7615 public final void rule__Statement__Group__0() throws RecognitionException { 8086 public final void rule__Statement__Group__0() throws RecognitionException {
7616 8087
7617 int stackSize = keepStackSize(); 8088 int stackSize = keepStackSize();
7618 8089
7619 try { 8090 try {
7620 // InternalSolverLanguageParser.g:2325:1: ( rule__Statement__Group__0__Impl rule__Statement__Group__1 ) 8091 // InternalSolverLanguageParser.g:2491:1: ( rule__Statement__Group__0__Impl rule__Statement__Group__1 )
7621 // InternalSolverLanguageParser.g:2326:2: rule__Statement__Group__0__Impl rule__Statement__Group__1 8092 // InternalSolverLanguageParser.g:2492:2: rule__Statement__Group__0__Impl rule__Statement__Group__1
7622 { 8093 {
7623 pushFollow(FOLLOW_4); 8094 pushFollow(FOLLOW_4);
7624 rule__Statement__Group__0__Impl(); 8095 rule__Statement__Group__0__Impl();
@@ -7649,21 +8120,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7649 8120
7650 8121
7651 // $ANTLR start "rule__Statement__Group__0__Impl" 8122 // $ANTLR start "rule__Statement__Group__0__Impl"
7652 // InternalSolverLanguageParser.g:2333:1: rule__Statement__Group__0__Impl : ( ( rule__Statement__Alternatives_0 ) ) ; 8123 // InternalSolverLanguageParser.g:2499:1: rule__Statement__Group__0__Impl : ( ( rule__Statement__Alternatives_0 ) ) ;
7653 public final void rule__Statement__Group__0__Impl() throws RecognitionException { 8124 public final void rule__Statement__Group__0__Impl() throws RecognitionException {
7654 8125
7655 int stackSize = keepStackSize(); 8126 int stackSize = keepStackSize();
7656 8127
7657 try { 8128 try {
7658 // InternalSolverLanguageParser.g:2337:1: ( ( ( rule__Statement__Alternatives_0 ) ) ) 8129 // InternalSolverLanguageParser.g:2503:1: ( ( ( rule__Statement__Alternatives_0 ) ) )
7659 // InternalSolverLanguageParser.g:2338:1: ( ( rule__Statement__Alternatives_0 ) ) 8130 // InternalSolverLanguageParser.g:2504:1: ( ( rule__Statement__Alternatives_0 ) )
7660 { 8131 {
7661 // InternalSolverLanguageParser.g:2338:1: ( ( rule__Statement__Alternatives_0 ) ) 8132 // InternalSolverLanguageParser.g:2504:1: ( ( rule__Statement__Alternatives_0 ) )
7662 // InternalSolverLanguageParser.g:2339:2: ( rule__Statement__Alternatives_0 ) 8133 // InternalSolverLanguageParser.g:2505:2: ( rule__Statement__Alternatives_0 )
7663 { 8134 {
7664 before(grammarAccess.getStatementAccess().getAlternatives_0()); 8135 before(grammarAccess.getStatementAccess().getAlternatives_0());
7665 // InternalSolverLanguageParser.g:2340:2: ( rule__Statement__Alternatives_0 ) 8136 // InternalSolverLanguageParser.g:2506:2: ( rule__Statement__Alternatives_0 )
7666 // InternalSolverLanguageParser.g:2340:3: rule__Statement__Alternatives_0 8137 // InternalSolverLanguageParser.g:2506:3: rule__Statement__Alternatives_0
7667 { 8138 {
7668 pushFollow(FOLLOW_2); 8139 pushFollow(FOLLOW_2);
7669 rule__Statement__Alternatives_0(); 8140 rule__Statement__Alternatives_0();
@@ -7696,14 +8167,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7696 8167
7697 8168
7698 // $ANTLR start "rule__Statement__Group__1" 8169 // $ANTLR start "rule__Statement__Group__1"
7699 // InternalSolverLanguageParser.g:2348:1: rule__Statement__Group__1 : rule__Statement__Group__1__Impl ; 8170 // InternalSolverLanguageParser.g:2514:1: rule__Statement__Group__1 : rule__Statement__Group__1__Impl ;
7700 public final void rule__Statement__Group__1() throws RecognitionException { 8171 public final void rule__Statement__Group__1() throws RecognitionException {
7701 8172
7702 int stackSize = keepStackSize(); 8173 int stackSize = keepStackSize();
7703 8174
7704 try { 8175 try {
7705 // InternalSolverLanguageParser.g:2352:1: ( rule__Statement__Group__1__Impl ) 8176 // InternalSolverLanguageParser.g:2518:1: ( rule__Statement__Group__1__Impl )
7706 // InternalSolverLanguageParser.g:2353:2: rule__Statement__Group__1__Impl 8177 // InternalSolverLanguageParser.g:2519:2: rule__Statement__Group__1__Impl
7707 { 8178 {
7708 pushFollow(FOLLOW_2); 8179 pushFollow(FOLLOW_2);
7709 rule__Statement__Group__1__Impl(); 8180 rule__Statement__Group__1__Impl();
@@ -7729,17 +8200,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7729 8200
7730 8201
7731 // $ANTLR start "rule__Statement__Group__1__Impl" 8202 // $ANTLR start "rule__Statement__Group__1__Impl"
7732 // InternalSolverLanguageParser.g:2359:1: rule__Statement__Group__1__Impl : ( RULE_FULL_STOP ) ; 8203 // InternalSolverLanguageParser.g:2525:1: rule__Statement__Group__1__Impl : ( RULE_FULL_STOP ) ;
7733 public final void rule__Statement__Group__1__Impl() throws RecognitionException { 8204 public final void rule__Statement__Group__1__Impl() throws RecognitionException {
7734 8205
7735 int stackSize = keepStackSize(); 8206 int stackSize = keepStackSize();
7736 8207
7737 try { 8208 try {
7738 // InternalSolverLanguageParser.g:2363:1: ( ( RULE_FULL_STOP ) ) 8209 // InternalSolverLanguageParser.g:2529:1: ( ( RULE_FULL_STOP ) )
7739 // InternalSolverLanguageParser.g:2364:1: ( RULE_FULL_STOP ) 8210 // InternalSolverLanguageParser.g:2530:1: ( RULE_FULL_STOP )
7740 { 8211 {
7741 // InternalSolverLanguageParser.g:2364:1: ( RULE_FULL_STOP ) 8212 // InternalSolverLanguageParser.g:2530:1: ( RULE_FULL_STOP )
7742 // InternalSolverLanguageParser.g:2365:2: RULE_FULL_STOP 8213 // InternalSolverLanguageParser.g:2531:2: RULE_FULL_STOP
7743 { 8214 {
7744 before(grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 8215 before(grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
7745 match(input,RULE_FULL_STOP,FOLLOW_2); 8216 match(input,RULE_FULL_STOP,FOLLOW_2);
@@ -7766,14 +8237,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7766 8237
7767 8238
7768 // $ANTLR start "rule__AssertionOrDefinition__Group__0" 8239 // $ANTLR start "rule__AssertionOrDefinition__Group__0"
7769 // InternalSolverLanguageParser.g:2375:1: rule__AssertionOrDefinition__Group__0 : rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ; 8240 // InternalSolverLanguageParser.g:2541:1: rule__AssertionOrDefinition__Group__0 : rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ;
7770 public final void rule__AssertionOrDefinition__Group__0() throws RecognitionException { 8241 public final void rule__AssertionOrDefinition__Group__0() throws RecognitionException {
7771 8242
7772 int stackSize = keepStackSize(); 8243 int stackSize = keepStackSize();
7773 8244
7774 try { 8245 try {
7775 // InternalSolverLanguageParser.g:2379:1: ( rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ) 8246 // InternalSolverLanguageParser.g:2545:1: ( rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 )
7776 // InternalSolverLanguageParser.g:2380:2: rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 8247 // InternalSolverLanguageParser.g:2546:2: rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1
7777 { 8248 {
7778 pushFollow(FOLLOW_5); 8249 pushFollow(FOLLOW_5);
7779 rule__AssertionOrDefinition__Group__0__Impl(); 8250 rule__AssertionOrDefinition__Group__0__Impl();
@@ -7804,17 +8275,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7804 8275
7805 8276
7806 // $ANTLR start "rule__AssertionOrDefinition__Group__0__Impl" 8277 // $ANTLR start "rule__AssertionOrDefinition__Group__0__Impl"
7807 // InternalSolverLanguageParser.g:2387:1: rule__AssertionOrDefinition__Group__0__Impl : ( ruleExpression ) ; 8278 // InternalSolverLanguageParser.g:2553:1: rule__AssertionOrDefinition__Group__0__Impl : ( ruleExpression ) ;
7808 public final void rule__AssertionOrDefinition__Group__0__Impl() throws RecognitionException { 8279 public final void rule__AssertionOrDefinition__Group__0__Impl() throws RecognitionException {
7809 8280
7810 int stackSize = keepStackSize(); 8281 int stackSize = keepStackSize();
7811 8282
7812 try { 8283 try {
7813 // InternalSolverLanguageParser.g:2391:1: ( ( ruleExpression ) ) 8284 // InternalSolverLanguageParser.g:2557:1: ( ( ruleExpression ) )
7814 // InternalSolverLanguageParser.g:2392:1: ( ruleExpression ) 8285 // InternalSolverLanguageParser.g:2558:1: ( ruleExpression )
7815 { 8286 {
7816 // InternalSolverLanguageParser.g:2392:1: ( ruleExpression ) 8287 // InternalSolverLanguageParser.g:2558:1: ( ruleExpression )
7817 // InternalSolverLanguageParser.g:2393:2: ruleExpression 8288 // InternalSolverLanguageParser.g:2559:2: ruleExpression
7818 { 8289 {
7819 before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); 8290 before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
7820 pushFollow(FOLLOW_2); 8291 pushFollow(FOLLOW_2);
@@ -7845,14 +8316,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7845 8316
7846 8317
7847 // $ANTLR start "rule__AssertionOrDefinition__Group__1" 8318 // $ANTLR start "rule__AssertionOrDefinition__Group__1"
7848 // InternalSolverLanguageParser.g:2402:1: rule__AssertionOrDefinition__Group__1 : rule__AssertionOrDefinition__Group__1__Impl ; 8319 // InternalSolverLanguageParser.g:2568:1: rule__AssertionOrDefinition__Group__1 : rule__AssertionOrDefinition__Group__1__Impl ;
7849 public final void rule__AssertionOrDefinition__Group__1() throws RecognitionException { 8320 public final void rule__AssertionOrDefinition__Group__1() throws RecognitionException {
7850 8321
7851 int stackSize = keepStackSize(); 8322 int stackSize = keepStackSize();
7852 8323
7853 try { 8324 try {
7854 // InternalSolverLanguageParser.g:2406:1: ( rule__AssertionOrDefinition__Group__1__Impl ) 8325 // InternalSolverLanguageParser.g:2572:1: ( rule__AssertionOrDefinition__Group__1__Impl )
7855 // InternalSolverLanguageParser.g:2407:2: rule__AssertionOrDefinition__Group__1__Impl 8326 // InternalSolverLanguageParser.g:2573:2: rule__AssertionOrDefinition__Group__1__Impl
7856 { 8327 {
7857 pushFollow(FOLLOW_2); 8328 pushFollow(FOLLOW_2);
7858 rule__AssertionOrDefinition__Group__1__Impl(); 8329 rule__AssertionOrDefinition__Group__1__Impl();
@@ -7878,28 +8349,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7878 8349
7879 8350
7880 // $ANTLR start "rule__AssertionOrDefinition__Group__1__Impl" 8351 // $ANTLR start "rule__AssertionOrDefinition__Group__1__Impl"
7881 // InternalSolverLanguageParser.g:2413:1: rule__AssertionOrDefinition__Group__1__Impl : ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) ; 8352 // InternalSolverLanguageParser.g:2579:1: rule__AssertionOrDefinition__Group__1__Impl : ( ( rule__AssertionOrDefinition__Alternatives_1 )? ) ;
7882 public final void rule__AssertionOrDefinition__Group__1__Impl() throws RecognitionException { 8353 public final void rule__AssertionOrDefinition__Group__1__Impl() throws RecognitionException {
7883 8354
7884 int stackSize = keepStackSize(); 8355 int stackSize = keepStackSize();
7885 8356
7886 try { 8357 try {
7887 // InternalSolverLanguageParser.g:2417:1: ( ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) ) 8358 // InternalSolverLanguageParser.g:2583:1: ( ( ( rule__AssertionOrDefinition__Alternatives_1 )? ) )
7888 // InternalSolverLanguageParser.g:2418:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) 8359 // InternalSolverLanguageParser.g:2584:1: ( ( rule__AssertionOrDefinition__Alternatives_1 )? )
7889 { 8360 {
7890 // InternalSolverLanguageParser.g:2418:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) 8361 // InternalSolverLanguageParser.g:2584:1: ( ( rule__AssertionOrDefinition__Alternatives_1 )? )
7891 // InternalSolverLanguageParser.g:2419:2: ( rule__AssertionOrDefinition__Alternatives_1 ) 8362 // InternalSolverLanguageParser.g:2585:2: ( rule__AssertionOrDefinition__Alternatives_1 )?
7892 { 8363 {
7893 before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); 8364 before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1());
7894 // InternalSolverLanguageParser.g:2420:2: ( rule__AssertionOrDefinition__Alternatives_1 ) 8365 // InternalSolverLanguageParser.g:2586:2: ( rule__AssertionOrDefinition__Alternatives_1 )?
7895 // InternalSolverLanguageParser.g:2420:3: rule__AssertionOrDefinition__Alternatives_1 8366 int alt26=2;
7896 { 8367 int LA26_0 = input.LA(1);
7897 pushFollow(FOLLOW_2);
7898 rule__AssertionOrDefinition__Alternatives_1();
7899 8368
7900 state._fsp--; 8369 if ( (LA26_0==ColonHyphenMinus||LA26_0==Colon||LA26_0==EqualsSign) ) {
8370 alt26=1;
8371 }
8372 switch (alt26) {
8373 case 1 :
8374 // InternalSolverLanguageParser.g:2586:3: rule__AssertionOrDefinition__Alternatives_1
8375 {
8376 pushFollow(FOLLOW_2);
8377 rule__AssertionOrDefinition__Alternatives_1();
8378
8379 state._fsp--;
7901 8380
7902 8381
8382 }
8383 break;
8384
7903 } 8385 }
7904 8386
7905 after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); 8387 after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1());
@@ -7925,14 +8407,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7925 8407
7926 8408
7927 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0" 8409 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0"
7928 // InternalSolverLanguageParser.g:2429:1: rule__AssertionOrDefinition__Group_1_0__0 : rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ; 8410 // InternalSolverLanguageParser.g:2595:1: rule__AssertionOrDefinition__Group_1_0__0 : rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ;
7929 public final void rule__AssertionOrDefinition__Group_1_0__0() throws RecognitionException { 8411 public final void rule__AssertionOrDefinition__Group_1_0__0() throws RecognitionException {
7930 8412
7931 int stackSize = keepStackSize(); 8413 int stackSize = keepStackSize();
7932 8414
7933 try { 8415 try {
7934 // InternalSolverLanguageParser.g:2433:1: ( rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ) 8416 // InternalSolverLanguageParser.g:2599:1: ( rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 )
7935 // InternalSolverLanguageParser.g:2434:2: rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 8417 // InternalSolverLanguageParser.g:2600:2: rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1
7936 { 8418 {
7937 pushFollow(FOLLOW_6); 8419 pushFollow(FOLLOW_6);
7938 rule__AssertionOrDefinition__Group_1_0__0__Impl(); 8420 rule__AssertionOrDefinition__Group_1_0__0__Impl();
@@ -7963,25 +8445,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7963 8445
7964 8446
7965 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0__Impl" 8447 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0__Impl"
7966 // InternalSolverLanguageParser.g:2441:1: rule__AssertionOrDefinition__Group_1_0__0__Impl : ( () ) ; 8448 // InternalSolverLanguageParser.g:2607:1: rule__AssertionOrDefinition__Group_1_0__0__Impl : ( () ) ;
7967 public final void rule__AssertionOrDefinition__Group_1_0__0__Impl() throws RecognitionException { 8449 public final void rule__AssertionOrDefinition__Group_1_0__0__Impl() throws RecognitionException {
7968 8450
7969 int stackSize = keepStackSize(); 8451 int stackSize = keepStackSize();
7970 8452
7971 try { 8453 try {
7972 // InternalSolverLanguageParser.g:2445:1: ( ( () ) ) 8454 // InternalSolverLanguageParser.g:2611:1: ( ( () ) )
7973 // InternalSolverLanguageParser.g:2446:1: ( () ) 8455 // InternalSolverLanguageParser.g:2612:1: ( () )
7974 { 8456 {
7975 // InternalSolverLanguageParser.g:2446:1: ( () ) 8457 // InternalSolverLanguageParser.g:2612:1: ( () )
7976 // InternalSolverLanguageParser.g:2447:2: () 8458 // InternalSolverLanguageParser.g:2613:2: ()
7977 { 8459 {
7978 before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); 8460 before(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0());
7979 // InternalSolverLanguageParser.g:2448:2: () 8461 // InternalSolverLanguageParser.g:2614:2: ()
7980 // InternalSolverLanguageParser.g:2448:3: 8462 // InternalSolverLanguageParser.g:2614:3:
7981 { 8463 {
7982 } 8464 }
7983 8465
7984 after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); 8466 after(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0());
7985 8467
7986 } 8468 }
7987 8469
@@ -8000,113 +8482,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8000 8482
8001 8483
8002 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1" 8484 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1"
8003 // InternalSolverLanguageParser.g:2456:1: rule__AssertionOrDefinition__Group_1_0__1 : rule__AssertionOrDefinition__Group_1_0__1__Impl ; 8485 // InternalSolverLanguageParser.g:2622:1: rule__AssertionOrDefinition__Group_1_0__1 : rule__AssertionOrDefinition__Group_1_0__1__Impl rule__AssertionOrDefinition__Group_1_0__2 ;
8004 public final void rule__AssertionOrDefinition__Group_1_0__1() throws RecognitionException { 8486 public final void rule__AssertionOrDefinition__Group_1_0__1() throws RecognitionException {
8005 8487
8006 int stackSize = keepStackSize(); 8488 int stackSize = keepStackSize();
8007 8489
8008 try { 8490 try {
8009 // InternalSolverLanguageParser.g:2460:1: ( rule__AssertionOrDefinition__Group_1_0__1__Impl ) 8491 // InternalSolverLanguageParser.g:2626:1: ( rule__AssertionOrDefinition__Group_1_0__1__Impl rule__AssertionOrDefinition__Group_1_0__2 )
8010 // InternalSolverLanguageParser.g:2461:2: rule__AssertionOrDefinition__Group_1_0__1__Impl 8492 // InternalSolverLanguageParser.g:2627:2: rule__AssertionOrDefinition__Group_1_0__1__Impl rule__AssertionOrDefinition__Group_1_0__2
8011 {
8012 pushFollow(FOLLOW_2);
8013 rule__AssertionOrDefinition__Group_1_0__1__Impl();
8014
8015 state._fsp--;
8016
8017
8018 }
8019
8020 }
8021 catch (RecognitionException re) {
8022 reportError(re);
8023 recover(input,re);
8024 }
8025 finally {
8026
8027 restoreStackSize(stackSize);
8028
8029 }
8030 return ;
8031 }
8032 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1"
8033
8034
8035 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1__Impl"
8036 // InternalSolverLanguageParser.g:2467:1: rule__AssertionOrDefinition__Group_1_0__1__Impl : ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) ;
8037 public final void rule__AssertionOrDefinition__Group_1_0__1__Impl() throws RecognitionException {
8038
8039 int stackSize = keepStackSize();
8040
8041 try {
8042 // InternalSolverLanguageParser.g:2471:1: ( ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) )
8043 // InternalSolverLanguageParser.g:2472:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? )
8044 {
8045 // InternalSolverLanguageParser.g:2472:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? )
8046 // InternalSolverLanguageParser.g:2473:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )?
8047 {
8048 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1());
8049 // InternalSolverLanguageParser.g:2474:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )?
8050 int alt27=2;
8051 int LA27_0 = input.LA(1);
8052
8053 if ( (LA27_0==Colon) ) {
8054 alt27=1;
8055 }
8056 switch (alt27) {
8057 case 1 :
8058 // InternalSolverLanguageParser.g:2474:3: rule__AssertionOrDefinition__Group_1_0_1__0
8059 {
8060 pushFollow(FOLLOW_2);
8061 rule__AssertionOrDefinition__Group_1_0_1__0();
8062
8063 state._fsp--;
8064
8065
8066 }
8067 break;
8068
8069 }
8070
8071 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1());
8072
8073 }
8074
8075
8076 }
8077
8078 }
8079 catch (RecognitionException re) {
8080 reportError(re);
8081 recover(input,re);
8082 }
8083 finally {
8084
8085 restoreStackSize(stackSize);
8086
8087 }
8088 return ;
8089 }
8090 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1__Impl"
8091
8092
8093 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0"
8094 // InternalSolverLanguageParser.g:2483:1: rule__AssertionOrDefinition__Group_1_0_1__0 : rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 ;
8095 public final void rule__AssertionOrDefinition__Group_1_0_1__0() throws RecognitionException {
8096
8097 int stackSize = keepStackSize();
8098
8099 try {
8100 // InternalSolverLanguageParser.g:2487:1: ( rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 )
8101 // InternalSolverLanguageParser.g:2488:2: rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1
8102 { 8493 {
8103 pushFollow(FOLLOW_7); 8494 pushFollow(FOLLOW_7);
8104 rule__AssertionOrDefinition__Group_1_0_1__0__Impl(); 8495 rule__AssertionOrDefinition__Group_1_0__1__Impl();
8105 8496
8106 state._fsp--; 8497 state._fsp--;
8107 8498
8108 pushFollow(FOLLOW_2); 8499 pushFollow(FOLLOW_2);
8109 rule__AssertionOrDefinition__Group_1_0_1__1(); 8500 rule__AssertionOrDefinition__Group_1_0__2();
8110 8501
8111 state._fsp--; 8502 state._fsp--;
8112 8503
@@ -8125,25 +8516,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8125 } 8516 }
8126 return ; 8517 return ;
8127 } 8518 }
8128 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0" 8519 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1"
8129 8520
8130 8521
8131 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0__Impl" 8522 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1__Impl"
8132 // InternalSolverLanguageParser.g:2495:1: rule__AssertionOrDefinition__Group_1_0_1__0__Impl : ( Colon ) ; 8523 // InternalSolverLanguageParser.g:2634:1: rule__AssertionOrDefinition__Group_1_0__1__Impl : ( Colon ) ;
8133 public final void rule__AssertionOrDefinition__Group_1_0_1__0__Impl() throws RecognitionException { 8524 public final void rule__AssertionOrDefinition__Group_1_0__1__Impl() throws RecognitionException {
8134 8525
8135 int stackSize = keepStackSize(); 8526 int stackSize = keepStackSize();
8136 8527
8137 try { 8528 try {
8138 // InternalSolverLanguageParser.g:2499:1: ( ( Colon ) ) 8529 // InternalSolverLanguageParser.g:2638:1: ( ( Colon ) )
8139 // InternalSolverLanguageParser.g:2500:1: ( Colon ) 8530 // InternalSolverLanguageParser.g:2639:1: ( Colon )
8140 { 8531 {
8141 // InternalSolverLanguageParser.g:2500:1: ( Colon ) 8532 // InternalSolverLanguageParser.g:2639:1: ( Colon )
8142 // InternalSolverLanguageParser.g:2501:2: Colon 8533 // InternalSolverLanguageParser.g:2640:2: Colon
8143 { 8534 {
8144 before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); 8535 before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
8145 match(input,Colon,FOLLOW_2); 8536 match(input,Colon,FOLLOW_2);
8146 after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); 8537 after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
8147 8538
8148 } 8539 }
8149 8540
@@ -8162,21 +8553,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8162 } 8553 }
8163 return ; 8554 return ;
8164 } 8555 }
8165 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0__Impl" 8556 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1__Impl"
8166 8557
8167 8558
8168 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1" 8559 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__2"
8169 // InternalSolverLanguageParser.g:2510:1: rule__AssertionOrDefinition__Group_1_0_1__1 : rule__AssertionOrDefinition__Group_1_0_1__1__Impl ; 8560 // InternalSolverLanguageParser.g:2649:1: rule__AssertionOrDefinition__Group_1_0__2 : rule__AssertionOrDefinition__Group_1_0__2__Impl ;
8170 public final void rule__AssertionOrDefinition__Group_1_0_1__1() throws RecognitionException { 8561 public final void rule__AssertionOrDefinition__Group_1_0__2() throws RecognitionException {
8171 8562
8172 int stackSize = keepStackSize(); 8563 int stackSize = keepStackSize();
8173 8564
8174 try { 8565 try {
8175 // InternalSolverLanguageParser.g:2514:1: ( rule__AssertionOrDefinition__Group_1_0_1__1__Impl ) 8566 // InternalSolverLanguageParser.g:2653:1: ( rule__AssertionOrDefinition__Group_1_0__2__Impl )
8176 // InternalSolverLanguageParser.g:2515:2: rule__AssertionOrDefinition__Group_1_0_1__1__Impl 8567 // InternalSolverLanguageParser.g:2654:2: rule__AssertionOrDefinition__Group_1_0__2__Impl
8177 { 8568 {
8178 pushFollow(FOLLOW_2); 8569 pushFollow(FOLLOW_2);
8179 rule__AssertionOrDefinition__Group_1_0_1__1__Impl(); 8570 rule__AssertionOrDefinition__Group_1_0__2__Impl();
8180 8571
8181 state._fsp--; 8572 state._fsp--;
8182 8573
@@ -8195,35 +8586,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8195 } 8586 }
8196 return ; 8587 return ;
8197 } 8588 }
8198 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1" 8589 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__2"
8199 8590
8200 8591
8201 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1__Impl" 8592 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__2__Impl"
8202 // InternalSolverLanguageParser.g:2521:1: rule__AssertionOrDefinition__Group_1_0_1__1__Impl : ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) ; 8593 // InternalSolverLanguageParser.g:2660:1: rule__AssertionOrDefinition__Group_1_0__2__Impl : ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 ) ) ;
8203 public final void rule__AssertionOrDefinition__Group_1_0_1__1__Impl() throws RecognitionException { 8594 public final void rule__AssertionOrDefinition__Group_1_0__2__Impl() throws RecognitionException {
8204 8595
8205 int stackSize = keepStackSize(); 8596 int stackSize = keepStackSize();
8206 8597
8207 try { 8598 try {
8208 // InternalSolverLanguageParser.g:2525:1: ( ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) ) 8599 // InternalSolverLanguageParser.g:2664:1: ( ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 ) ) )
8209 // InternalSolverLanguageParser.g:2526:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) 8600 // InternalSolverLanguageParser.g:2665:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 ) )
8210 { 8601 {
8211 // InternalSolverLanguageParser.g:2526:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) 8602 // InternalSolverLanguageParser.g:2665:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 ) )
8212 // InternalSolverLanguageParser.g:2527:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) 8603 // InternalSolverLanguageParser.g:2666:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 )
8213 { 8604 {
8214 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); 8605 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2());
8215 // InternalSolverLanguageParser.g:2528:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) 8606 // InternalSolverLanguageParser.g:2667:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_2 )
8216 // InternalSolverLanguageParser.g:2528:3: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 8607 // InternalSolverLanguageParser.g:2667:3: rule__AssertionOrDefinition__RangeAssignment_1_0_2
8217 { 8608 {
8218 pushFollow(FOLLOW_2); 8609 pushFollow(FOLLOW_2);
8219 rule__AssertionOrDefinition__RangeAssignment_1_0_1_1(); 8610 rule__AssertionOrDefinition__RangeAssignment_1_0_2();
8220 8611
8221 state._fsp--; 8612 state._fsp--;
8222 8613
8223 8614
8224 } 8615 }
8225 8616
8226 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); 8617 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_2());
8227 8618
8228 } 8619 }
8229 8620
@@ -8242,18 +8633,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8242 } 8633 }
8243 return ; 8634 return ;
8244 } 8635 }
8245 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1__Impl" 8636 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__2__Impl"
8246 8637
8247 8638
8248 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0" 8639 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0"
8249 // InternalSolverLanguageParser.g:2537:1: rule__AssertionOrDefinition__Group_1_1__0 : rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ; 8640 // InternalSolverLanguageParser.g:2676:1: rule__AssertionOrDefinition__Group_1_1__0 : rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ;
8250 public final void rule__AssertionOrDefinition__Group_1_1__0() throws RecognitionException { 8641 public final void rule__AssertionOrDefinition__Group_1_1__0() throws RecognitionException {
8251 8642
8252 int stackSize = keepStackSize(); 8643 int stackSize = keepStackSize();
8253 8644
8254 try { 8645 try {
8255 // InternalSolverLanguageParser.g:2541:1: ( rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ) 8646 // InternalSolverLanguageParser.g:2680:1: ( rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 )
8256 // InternalSolverLanguageParser.g:2542:2: rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 8647 // InternalSolverLanguageParser.g:2681:2: rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1
8257 { 8648 {
8258 pushFollow(FOLLOW_8); 8649 pushFollow(FOLLOW_8);
8259 rule__AssertionOrDefinition__Group_1_1__0__Impl(); 8650 rule__AssertionOrDefinition__Group_1_1__0__Impl();
@@ -8284,21 +8675,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8284 8675
8285 8676
8286 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0__Impl" 8677 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0__Impl"
8287 // InternalSolverLanguageParser.g:2549:1: rule__AssertionOrDefinition__Group_1_1__0__Impl : ( () ) ; 8678 // InternalSolverLanguageParser.g:2688:1: rule__AssertionOrDefinition__Group_1_1__0__Impl : ( () ) ;
8288 public final void rule__AssertionOrDefinition__Group_1_1__0__Impl() throws RecognitionException { 8679 public final void rule__AssertionOrDefinition__Group_1_1__0__Impl() throws RecognitionException {
8289 8680
8290 int stackSize = keepStackSize(); 8681 int stackSize = keepStackSize();
8291 8682
8292 try { 8683 try {
8293 // InternalSolverLanguageParser.g:2553:1: ( ( () ) ) 8684 // InternalSolverLanguageParser.g:2692:1: ( ( () ) )
8294 // InternalSolverLanguageParser.g:2554:1: ( () ) 8685 // InternalSolverLanguageParser.g:2693:1: ( () )
8295 { 8686 {
8296 // InternalSolverLanguageParser.g:2554:1: ( () ) 8687 // InternalSolverLanguageParser.g:2693:1: ( () )
8297 // InternalSolverLanguageParser.g:2555:2: () 8688 // InternalSolverLanguageParser.g:2694:2: ()
8298 { 8689 {
8299 before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); 8690 before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0());
8300 // InternalSolverLanguageParser.g:2556:2: () 8691 // InternalSolverLanguageParser.g:2695:2: ()
8301 // InternalSolverLanguageParser.g:2556:3: 8692 // InternalSolverLanguageParser.g:2695:3:
8302 { 8693 {
8303 } 8694 }
8304 8695
@@ -8321,14 +8712,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8321 8712
8322 8713
8323 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1" 8714 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1"
8324 // InternalSolverLanguageParser.g:2564:1: rule__AssertionOrDefinition__Group_1_1__1 : rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ; 8715 // InternalSolverLanguageParser.g:2703:1: rule__AssertionOrDefinition__Group_1_1__1 : rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ;
8325 public final void rule__AssertionOrDefinition__Group_1_1__1() throws RecognitionException { 8716 public final void rule__AssertionOrDefinition__Group_1_1__1() throws RecognitionException {
8326 8717
8327 int stackSize = keepStackSize(); 8718 int stackSize = keepStackSize();
8328 8719
8329 try { 8720 try {
8330 // InternalSolverLanguageParser.g:2568:1: ( rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ) 8721 // InternalSolverLanguageParser.g:2707:1: ( rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 )
8331 // InternalSolverLanguageParser.g:2569:2: rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 8722 // InternalSolverLanguageParser.g:2708:2: rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2
8332 { 8723 {
8333 pushFollow(FOLLOW_7); 8724 pushFollow(FOLLOW_7);
8334 rule__AssertionOrDefinition__Group_1_1__1__Impl(); 8725 rule__AssertionOrDefinition__Group_1_1__1__Impl();
@@ -8359,17 +8750,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8359 8750
8360 8751
8361 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1__Impl" 8752 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1__Impl"
8362 // InternalSolverLanguageParser.g:2576:1: rule__AssertionOrDefinition__Group_1_1__1__Impl : ( ColonHyphenMinus ) ; 8753 // InternalSolverLanguageParser.g:2715:1: rule__AssertionOrDefinition__Group_1_1__1__Impl : ( ColonHyphenMinus ) ;
8363 public final void rule__AssertionOrDefinition__Group_1_1__1__Impl() throws RecognitionException { 8754 public final void rule__AssertionOrDefinition__Group_1_1__1__Impl() throws RecognitionException {
8364 8755
8365 int stackSize = keepStackSize(); 8756 int stackSize = keepStackSize();
8366 8757
8367 try { 8758 try {
8368 // InternalSolverLanguageParser.g:2580:1: ( ( ColonHyphenMinus ) ) 8759 // InternalSolverLanguageParser.g:2719:1: ( ( ColonHyphenMinus ) )
8369 // InternalSolverLanguageParser.g:2581:1: ( ColonHyphenMinus ) 8760 // InternalSolverLanguageParser.g:2720:1: ( ColonHyphenMinus )
8370 { 8761 {
8371 // InternalSolverLanguageParser.g:2581:1: ( ColonHyphenMinus ) 8762 // InternalSolverLanguageParser.g:2720:1: ( ColonHyphenMinus )
8372 // InternalSolverLanguageParser.g:2582:2: ColonHyphenMinus 8763 // InternalSolverLanguageParser.g:2721:2: ColonHyphenMinus
8373 { 8764 {
8374 before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); 8765 before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
8375 match(input,ColonHyphenMinus,FOLLOW_2); 8766 match(input,ColonHyphenMinus,FOLLOW_2);
@@ -8396,14 +8787,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8396 8787
8397 8788
8398 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2" 8789 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2"
8399 // InternalSolverLanguageParser.g:2591:1: rule__AssertionOrDefinition__Group_1_1__2 : rule__AssertionOrDefinition__Group_1_1__2__Impl ; 8790 // InternalSolverLanguageParser.g:2730:1: rule__AssertionOrDefinition__Group_1_1__2 : rule__AssertionOrDefinition__Group_1_1__2__Impl ;
8400 public final void rule__AssertionOrDefinition__Group_1_1__2() throws RecognitionException { 8791 public final void rule__AssertionOrDefinition__Group_1_1__2() throws RecognitionException {
8401 8792
8402 int stackSize = keepStackSize(); 8793 int stackSize = keepStackSize();
8403 8794
8404 try { 8795 try {
8405 // InternalSolverLanguageParser.g:2595:1: ( rule__AssertionOrDefinition__Group_1_1__2__Impl ) 8796 // InternalSolverLanguageParser.g:2734:1: ( rule__AssertionOrDefinition__Group_1_1__2__Impl )
8406 // InternalSolverLanguageParser.g:2596:2: rule__AssertionOrDefinition__Group_1_1__2__Impl 8797 // InternalSolverLanguageParser.g:2735:2: rule__AssertionOrDefinition__Group_1_1__2__Impl
8407 { 8798 {
8408 pushFollow(FOLLOW_2); 8799 pushFollow(FOLLOW_2);
8409 rule__AssertionOrDefinition__Group_1_1__2__Impl(); 8800 rule__AssertionOrDefinition__Group_1_1__2__Impl();
@@ -8429,21 +8820,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8429 8820
8430 8821
8431 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2__Impl" 8822 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2__Impl"
8432 // InternalSolverLanguageParser.g:2602:1: rule__AssertionOrDefinition__Group_1_1__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ; 8823 // InternalSolverLanguageParser.g:2741:1: rule__AssertionOrDefinition__Group_1_1__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ;
8433 public final void rule__AssertionOrDefinition__Group_1_1__2__Impl() throws RecognitionException { 8824 public final void rule__AssertionOrDefinition__Group_1_1__2__Impl() throws RecognitionException {
8434 8825
8435 int stackSize = keepStackSize(); 8826 int stackSize = keepStackSize();
8436 8827
8437 try { 8828 try {
8438 // InternalSolverLanguageParser.g:2606:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ) 8829 // InternalSolverLanguageParser.g:2745:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) )
8439 // InternalSolverLanguageParser.g:2607:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) 8830 // InternalSolverLanguageParser.g:2746:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) )
8440 { 8831 {
8441 // InternalSolverLanguageParser.g:2607:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) 8832 // InternalSolverLanguageParser.g:2746:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) )
8442 // InternalSolverLanguageParser.g:2608:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) 8833 // InternalSolverLanguageParser.g:2747:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 )
8443 { 8834 {
8444 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); 8835 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2());
8445 // InternalSolverLanguageParser.g:2609:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) 8836 // InternalSolverLanguageParser.g:2748:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 )
8446 // InternalSolverLanguageParser.g:2609:3: rule__AssertionOrDefinition__BodyAssignment_1_1_2 8837 // InternalSolverLanguageParser.g:2748:3: rule__AssertionOrDefinition__BodyAssignment_1_1_2
8447 { 8838 {
8448 pushFollow(FOLLOW_2); 8839 pushFollow(FOLLOW_2);
8449 rule__AssertionOrDefinition__BodyAssignment_1_1_2(); 8840 rule__AssertionOrDefinition__BodyAssignment_1_1_2();
@@ -8476,14 +8867,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8476 8867
8477 8868
8478 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0" 8869 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0"
8479 // InternalSolverLanguageParser.g:2618:1: rule__AssertionOrDefinition__Group_1_2__0 : rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ; 8870 // InternalSolverLanguageParser.g:2757:1: rule__AssertionOrDefinition__Group_1_2__0 : rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ;
8480 public final void rule__AssertionOrDefinition__Group_1_2__0() throws RecognitionException { 8871 public final void rule__AssertionOrDefinition__Group_1_2__0() throws RecognitionException {
8481 8872
8482 int stackSize = keepStackSize(); 8873 int stackSize = keepStackSize();
8483 8874
8484 try { 8875 try {
8485 // InternalSolverLanguageParser.g:2622:1: ( rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ) 8876 // InternalSolverLanguageParser.g:2761:1: ( rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 )
8486 // InternalSolverLanguageParser.g:2623:2: rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 8877 // InternalSolverLanguageParser.g:2762:2: rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1
8487 { 8878 {
8488 pushFollow(FOLLOW_5); 8879 pushFollow(FOLLOW_5);
8489 rule__AssertionOrDefinition__Group_1_2__0__Impl(); 8880 rule__AssertionOrDefinition__Group_1_2__0__Impl();
@@ -8514,21 +8905,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8514 8905
8515 8906
8516 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0__Impl" 8907 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0__Impl"
8517 // InternalSolverLanguageParser.g:2630:1: rule__AssertionOrDefinition__Group_1_2__0__Impl : ( () ) ; 8908 // InternalSolverLanguageParser.g:2769:1: rule__AssertionOrDefinition__Group_1_2__0__Impl : ( () ) ;
8518 public final void rule__AssertionOrDefinition__Group_1_2__0__Impl() throws RecognitionException { 8909 public final void rule__AssertionOrDefinition__Group_1_2__0__Impl() throws RecognitionException {
8519 8910
8520 int stackSize = keepStackSize(); 8911 int stackSize = keepStackSize();
8521 8912
8522 try { 8913 try {
8523 // InternalSolverLanguageParser.g:2634:1: ( ( () ) ) 8914 // InternalSolverLanguageParser.g:2773:1: ( ( () ) )
8524 // InternalSolverLanguageParser.g:2635:1: ( () ) 8915 // InternalSolverLanguageParser.g:2774:1: ( () )
8525 { 8916 {
8526 // InternalSolverLanguageParser.g:2635:1: ( () ) 8917 // InternalSolverLanguageParser.g:2774:1: ( () )
8527 // InternalSolverLanguageParser.g:2636:2: () 8918 // InternalSolverLanguageParser.g:2775:2: ()
8528 { 8919 {
8529 before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); 8920 before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0());
8530 // InternalSolverLanguageParser.g:2637:2: () 8921 // InternalSolverLanguageParser.g:2776:2: ()
8531 // InternalSolverLanguageParser.g:2637:3: 8922 // InternalSolverLanguageParser.g:2776:3:
8532 { 8923 {
8533 } 8924 }
8534 8925
@@ -8551,14 +8942,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8551 8942
8552 8943
8553 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1" 8944 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1"
8554 // InternalSolverLanguageParser.g:2645:1: rule__AssertionOrDefinition__Group_1_2__1 : rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ; 8945 // InternalSolverLanguageParser.g:2784:1: rule__AssertionOrDefinition__Group_1_2__1 : rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ;
8555 public final void rule__AssertionOrDefinition__Group_1_2__1() throws RecognitionException { 8946 public final void rule__AssertionOrDefinition__Group_1_2__1() throws RecognitionException {
8556 8947
8557 int stackSize = keepStackSize(); 8948 int stackSize = keepStackSize();
8558 8949
8559 try { 8950 try {
8560 // InternalSolverLanguageParser.g:2649:1: ( rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ) 8951 // InternalSolverLanguageParser.g:2788:1: ( rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 )
8561 // InternalSolverLanguageParser.g:2650:2: rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 8952 // InternalSolverLanguageParser.g:2789:2: rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2
8562 { 8953 {
8563 pushFollow(FOLLOW_7); 8954 pushFollow(FOLLOW_7);
8564 rule__AssertionOrDefinition__Group_1_2__1__Impl(); 8955 rule__AssertionOrDefinition__Group_1_2__1__Impl();
@@ -8589,17 +8980,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8589 8980
8590 8981
8591 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1__Impl" 8982 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1__Impl"
8592 // InternalSolverLanguageParser.g:2657:1: rule__AssertionOrDefinition__Group_1_2__1__Impl : ( EqualsSign ) ; 8983 // InternalSolverLanguageParser.g:2796:1: rule__AssertionOrDefinition__Group_1_2__1__Impl : ( EqualsSign ) ;
8593 public final void rule__AssertionOrDefinition__Group_1_2__1__Impl() throws RecognitionException { 8984 public final void rule__AssertionOrDefinition__Group_1_2__1__Impl() throws RecognitionException {
8594 8985
8595 int stackSize = keepStackSize(); 8986 int stackSize = keepStackSize();
8596 8987
8597 try { 8988 try {
8598 // InternalSolverLanguageParser.g:2661:1: ( ( EqualsSign ) ) 8989 // InternalSolverLanguageParser.g:2800:1: ( ( EqualsSign ) )
8599 // InternalSolverLanguageParser.g:2662:1: ( EqualsSign ) 8990 // InternalSolverLanguageParser.g:2801:1: ( EqualsSign )
8600 { 8991 {
8601 // InternalSolverLanguageParser.g:2662:1: ( EqualsSign ) 8992 // InternalSolverLanguageParser.g:2801:1: ( EqualsSign )
8602 // InternalSolverLanguageParser.g:2663:2: EqualsSign 8993 // InternalSolverLanguageParser.g:2802:2: EqualsSign
8603 { 8994 {
8604 before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 8995 before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
8605 match(input,EqualsSign,FOLLOW_2); 8996 match(input,EqualsSign,FOLLOW_2);
@@ -8626,14 +9017,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8626 9017
8627 9018
8628 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2" 9019 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2"
8629 // InternalSolverLanguageParser.g:2672:1: rule__AssertionOrDefinition__Group_1_2__2 : rule__AssertionOrDefinition__Group_1_2__2__Impl ; 9020 // InternalSolverLanguageParser.g:2811:1: rule__AssertionOrDefinition__Group_1_2__2 : rule__AssertionOrDefinition__Group_1_2__2__Impl ;
8630 public final void rule__AssertionOrDefinition__Group_1_2__2() throws RecognitionException { 9021 public final void rule__AssertionOrDefinition__Group_1_2__2() throws RecognitionException {
8631 9022
8632 int stackSize = keepStackSize(); 9023 int stackSize = keepStackSize();
8633 9024
8634 try { 9025 try {
8635 // InternalSolverLanguageParser.g:2676:1: ( rule__AssertionOrDefinition__Group_1_2__2__Impl ) 9026 // InternalSolverLanguageParser.g:2815:1: ( rule__AssertionOrDefinition__Group_1_2__2__Impl )
8636 // InternalSolverLanguageParser.g:2677:2: rule__AssertionOrDefinition__Group_1_2__2__Impl 9027 // InternalSolverLanguageParser.g:2816:2: rule__AssertionOrDefinition__Group_1_2__2__Impl
8637 { 9028 {
8638 pushFollow(FOLLOW_2); 9029 pushFollow(FOLLOW_2);
8639 rule__AssertionOrDefinition__Group_1_2__2__Impl(); 9030 rule__AssertionOrDefinition__Group_1_2__2__Impl();
@@ -8659,21 +9050,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8659 9050
8660 9051
8661 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2__Impl" 9052 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2__Impl"
8662 // InternalSolverLanguageParser.g:2683:1: rule__AssertionOrDefinition__Group_1_2__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ; 9053 // InternalSolverLanguageParser.g:2822:1: rule__AssertionOrDefinition__Group_1_2__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ;
8663 public final void rule__AssertionOrDefinition__Group_1_2__2__Impl() throws RecognitionException { 9054 public final void rule__AssertionOrDefinition__Group_1_2__2__Impl() throws RecognitionException {
8664 9055
8665 int stackSize = keepStackSize(); 9056 int stackSize = keepStackSize();
8666 9057
8667 try { 9058 try {
8668 // InternalSolverLanguageParser.g:2687:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ) 9059 // InternalSolverLanguageParser.g:2826:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) )
8669 // InternalSolverLanguageParser.g:2688:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) 9060 // InternalSolverLanguageParser.g:2827:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) )
8670 { 9061 {
8671 // InternalSolverLanguageParser.g:2688:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) 9062 // InternalSolverLanguageParser.g:2827:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) )
8672 // InternalSolverLanguageParser.g:2689:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) 9063 // InternalSolverLanguageParser.g:2828:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 )
8673 { 9064 {
8674 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); 9065 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2());
8675 // InternalSolverLanguageParser.g:2690:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) 9066 // InternalSolverLanguageParser.g:2829:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 )
8676 // InternalSolverLanguageParser.g:2690:3: rule__AssertionOrDefinition__BodyAssignment_1_2_2 9067 // InternalSolverLanguageParser.g:2829:3: rule__AssertionOrDefinition__BodyAssignment_1_2_2
8677 { 9068 {
8678 pushFollow(FOLLOW_2); 9069 pushFollow(FOLLOW_2);
8679 rule__AssertionOrDefinition__BodyAssignment_1_2_2(); 9070 rule__AssertionOrDefinition__BodyAssignment_1_2_2();
@@ -8706,14 +9097,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8706 9097
8707 9098
8708 // $ANTLR start "rule__PredicateDefinition__Group__0" 9099 // $ANTLR start "rule__PredicateDefinition__Group__0"
8709 // InternalSolverLanguageParser.g:2699:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ; 9100 // InternalSolverLanguageParser.g:2838:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ;
8710 public final void rule__PredicateDefinition__Group__0() throws RecognitionException { 9101 public final void rule__PredicateDefinition__Group__0() throws RecognitionException {
8711 9102
8712 int stackSize = keepStackSize(); 9103 int stackSize = keepStackSize();
8713 9104
8714 try { 9105 try {
8715 // InternalSolverLanguageParser.g:2703:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ) 9106 // InternalSolverLanguageParser.g:2842:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 )
8716 // InternalSolverLanguageParser.g:2704:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 9107 // InternalSolverLanguageParser.g:2843:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1
8717 { 9108 {
8718 pushFollow(FOLLOW_9); 9109 pushFollow(FOLLOW_9);
8719 rule__PredicateDefinition__Group__0__Impl(); 9110 rule__PredicateDefinition__Group__0__Impl();
@@ -8744,21 +9135,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8744 9135
8745 9136
8746 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl" 9137 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl"
8747 // InternalSolverLanguageParser.g:2711:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ; 9138 // InternalSolverLanguageParser.g:2850:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ;
8748 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException { 9139 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException {
8749 9140
8750 int stackSize = keepStackSize(); 9141 int stackSize = keepStackSize();
8751 9142
8752 try { 9143 try {
8753 // InternalSolverLanguageParser.g:2715:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) ) 9144 // InternalSolverLanguageParser.g:2854:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) )
8754 // InternalSolverLanguageParser.g:2716:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 9145 // InternalSolverLanguageParser.g:2855:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
8755 { 9146 {
8756 // InternalSolverLanguageParser.g:2716:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 9147 // InternalSolverLanguageParser.g:2855:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
8757 // InternalSolverLanguageParser.g:2717:2: ( rule__PredicateDefinition__Alternatives_0 ) 9148 // InternalSolverLanguageParser.g:2856:2: ( rule__PredicateDefinition__Alternatives_0 )
8758 { 9149 {
8759 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); 9150 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
8760 // InternalSolverLanguageParser.g:2718:2: ( rule__PredicateDefinition__Alternatives_0 ) 9151 // InternalSolverLanguageParser.g:2857:2: ( rule__PredicateDefinition__Alternatives_0 )
8761 // InternalSolverLanguageParser.g:2718:3: rule__PredicateDefinition__Alternatives_0 9152 // InternalSolverLanguageParser.g:2857:3: rule__PredicateDefinition__Alternatives_0
8762 { 9153 {
8763 pushFollow(FOLLOW_2); 9154 pushFollow(FOLLOW_2);
8764 rule__PredicateDefinition__Alternatives_0(); 9155 rule__PredicateDefinition__Alternatives_0();
@@ -8791,14 +9182,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8791 9182
8792 9183
8793 // $ANTLR start "rule__PredicateDefinition__Group__1" 9184 // $ANTLR start "rule__PredicateDefinition__Group__1"
8794 // InternalSolverLanguageParser.g:2726:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ; 9185 // InternalSolverLanguageParser.g:2865:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ;
8795 public final void rule__PredicateDefinition__Group__1() throws RecognitionException { 9186 public final void rule__PredicateDefinition__Group__1() throws RecognitionException {
8796 9187
8797 int stackSize = keepStackSize(); 9188 int stackSize = keepStackSize();
8798 9189
8799 try { 9190 try {
8800 // InternalSolverLanguageParser.g:2730:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ) 9191 // InternalSolverLanguageParser.g:2869:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 )
8801 // InternalSolverLanguageParser.g:2731:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 9192 // InternalSolverLanguageParser.g:2870:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2
8802 { 9193 {
8803 pushFollow(FOLLOW_8); 9194 pushFollow(FOLLOW_8);
8804 rule__PredicateDefinition__Group__1__Impl(); 9195 rule__PredicateDefinition__Group__1__Impl();
@@ -8829,21 +9220,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8829 9220
8830 9221
8831 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl" 9222 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl"
8832 // InternalSolverLanguageParser.g:2738:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ; 9223 // InternalSolverLanguageParser.g:2877:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ;
8833 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException { 9224 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException {
8834 9225
8835 int stackSize = keepStackSize(); 9226 int stackSize = keepStackSize();
8836 9227
8837 try { 9228 try {
8838 // InternalSolverLanguageParser.g:2742:1: ( ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ) 9229 // InternalSolverLanguageParser.g:2881:1: ( ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) )
8839 // InternalSolverLanguageParser.g:2743:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) 9230 // InternalSolverLanguageParser.g:2882:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) )
8840 { 9231 {
8841 // InternalSolverLanguageParser.g:2743:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) 9232 // InternalSolverLanguageParser.g:2882:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) )
8842 // InternalSolverLanguageParser.g:2744:2: ( rule__PredicateDefinition__HeadAssignment_1 ) 9233 // InternalSolverLanguageParser.g:2883:2: ( rule__PredicateDefinition__HeadAssignment_1 )
8843 { 9234 {
8844 before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); 9235 before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1());
8845 // InternalSolverLanguageParser.g:2745:2: ( rule__PredicateDefinition__HeadAssignment_1 ) 9236 // InternalSolverLanguageParser.g:2884:2: ( rule__PredicateDefinition__HeadAssignment_1 )
8846 // InternalSolverLanguageParser.g:2745:3: rule__PredicateDefinition__HeadAssignment_1 9237 // InternalSolverLanguageParser.g:2884:3: rule__PredicateDefinition__HeadAssignment_1
8847 { 9238 {
8848 pushFollow(FOLLOW_2); 9239 pushFollow(FOLLOW_2);
8849 rule__PredicateDefinition__HeadAssignment_1(); 9240 rule__PredicateDefinition__HeadAssignment_1();
@@ -8876,14 +9267,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8876 9267
8877 9268
8878 // $ANTLR start "rule__PredicateDefinition__Group__2" 9269 // $ANTLR start "rule__PredicateDefinition__Group__2"
8879 // InternalSolverLanguageParser.g:2753:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ; 9270 // InternalSolverLanguageParser.g:2892:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ;
8880 public final void rule__PredicateDefinition__Group__2() throws RecognitionException { 9271 public final void rule__PredicateDefinition__Group__2() throws RecognitionException {
8881 9272
8882 int stackSize = keepStackSize(); 9273 int stackSize = keepStackSize();
8883 9274
8884 try { 9275 try {
8885 // InternalSolverLanguageParser.g:2757:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ) 9276 // InternalSolverLanguageParser.g:2896:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 )
8886 // InternalSolverLanguageParser.g:2758:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 9277 // InternalSolverLanguageParser.g:2897:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3
8887 { 9278 {
8888 pushFollow(FOLLOW_7); 9279 pushFollow(FOLLOW_7);
8889 rule__PredicateDefinition__Group__2__Impl(); 9280 rule__PredicateDefinition__Group__2__Impl();
@@ -8914,17 +9305,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8914 9305
8915 9306
8916 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl" 9307 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl"
8917 // InternalSolverLanguageParser.g:2765:1: rule__PredicateDefinition__Group__2__Impl : ( ColonHyphenMinus ) ; 9308 // InternalSolverLanguageParser.g:2904:1: rule__PredicateDefinition__Group__2__Impl : ( ColonHyphenMinus ) ;
8918 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException { 9309 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException {
8919 9310
8920 int stackSize = keepStackSize(); 9311 int stackSize = keepStackSize();
8921 9312
8922 try { 9313 try {
8923 // InternalSolverLanguageParser.g:2769:1: ( ( ColonHyphenMinus ) ) 9314 // InternalSolverLanguageParser.g:2908:1: ( ( ColonHyphenMinus ) )
8924 // InternalSolverLanguageParser.g:2770:1: ( ColonHyphenMinus ) 9315 // InternalSolverLanguageParser.g:2909:1: ( ColonHyphenMinus )
8925 { 9316 {
8926 // InternalSolverLanguageParser.g:2770:1: ( ColonHyphenMinus ) 9317 // InternalSolverLanguageParser.g:2909:1: ( ColonHyphenMinus )
8927 // InternalSolverLanguageParser.g:2771:2: ColonHyphenMinus 9318 // InternalSolverLanguageParser.g:2910:2: ColonHyphenMinus
8928 { 9319 {
8929 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); 9320 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
8930 match(input,ColonHyphenMinus,FOLLOW_2); 9321 match(input,ColonHyphenMinus,FOLLOW_2);
@@ -8951,14 +9342,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8951 9342
8952 9343
8953 // $ANTLR start "rule__PredicateDefinition__Group__3" 9344 // $ANTLR start "rule__PredicateDefinition__Group__3"
8954 // InternalSolverLanguageParser.g:2780:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl ; 9345 // InternalSolverLanguageParser.g:2919:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl ;
8955 public final void rule__PredicateDefinition__Group__3() throws RecognitionException { 9346 public final void rule__PredicateDefinition__Group__3() throws RecognitionException {
8956 9347
8957 int stackSize = keepStackSize(); 9348 int stackSize = keepStackSize();
8958 9349
8959 try { 9350 try {
8960 // InternalSolverLanguageParser.g:2784:1: ( rule__PredicateDefinition__Group__3__Impl ) 9351 // InternalSolverLanguageParser.g:2923:1: ( rule__PredicateDefinition__Group__3__Impl )
8961 // InternalSolverLanguageParser.g:2785:2: rule__PredicateDefinition__Group__3__Impl 9352 // InternalSolverLanguageParser.g:2924:2: rule__PredicateDefinition__Group__3__Impl
8962 { 9353 {
8963 pushFollow(FOLLOW_2); 9354 pushFollow(FOLLOW_2);
8964 rule__PredicateDefinition__Group__3__Impl(); 9355 rule__PredicateDefinition__Group__3__Impl();
@@ -8984,21 +9375,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8984 9375
8985 9376
8986 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl" 9377 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl"
8987 // InternalSolverLanguageParser.g:2791:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ; 9378 // InternalSolverLanguageParser.g:2930:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ;
8988 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException { 9379 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException {
8989 9380
8990 int stackSize = keepStackSize(); 9381 int stackSize = keepStackSize();
8991 9382
8992 try { 9383 try {
8993 // InternalSolverLanguageParser.g:2795:1: ( ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ) 9384 // InternalSolverLanguageParser.g:2934:1: ( ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) )
8994 // InternalSolverLanguageParser.g:2796:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) 9385 // InternalSolverLanguageParser.g:2935:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) )
8995 { 9386 {
8996 // InternalSolverLanguageParser.g:2796:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) 9387 // InternalSolverLanguageParser.g:2935:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) )
8997 // InternalSolverLanguageParser.g:2797:2: ( rule__PredicateDefinition__BodyAssignment_3 ) 9388 // InternalSolverLanguageParser.g:2936:2: ( rule__PredicateDefinition__BodyAssignment_3 )
8998 { 9389 {
8999 before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); 9390 before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3());
9000 // InternalSolverLanguageParser.g:2798:2: ( rule__PredicateDefinition__BodyAssignment_3 ) 9391 // InternalSolverLanguageParser.g:2937:2: ( rule__PredicateDefinition__BodyAssignment_3 )
9001 // InternalSolverLanguageParser.g:2798:3: rule__PredicateDefinition__BodyAssignment_3 9392 // InternalSolverLanguageParser.g:2937:3: rule__PredicateDefinition__BodyAssignment_3
9002 { 9393 {
9003 pushFollow(FOLLOW_2); 9394 pushFollow(FOLLOW_2);
9004 rule__PredicateDefinition__BodyAssignment_3(); 9395 rule__PredicateDefinition__BodyAssignment_3();
@@ -9031,14 +9422,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9031 9422
9032 9423
9033 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0" 9424 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0"
9034 // InternalSolverLanguageParser.g:2807:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ; 9425 // InternalSolverLanguageParser.g:2946:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ;
9035 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException { 9426 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException {
9036 9427
9037 int stackSize = keepStackSize(); 9428 int stackSize = keepStackSize();
9038 9429
9039 try { 9430 try {
9040 // InternalSolverLanguageParser.g:2811:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ) 9431 // InternalSolverLanguageParser.g:2950:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 )
9041 // InternalSolverLanguageParser.g:2812:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 9432 // InternalSolverLanguageParser.g:2951:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1
9042 { 9433 {
9043 pushFollow(FOLLOW_10); 9434 pushFollow(FOLLOW_10);
9044 rule__PredicateDefinition__Group_0_0__0__Impl(); 9435 rule__PredicateDefinition__Group_0_0__0__Impl();
@@ -9069,21 +9460,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9069 9460
9070 9461
9071 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl" 9462 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl"
9072 // InternalSolverLanguageParser.g:2819:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ; 9463 // InternalSolverLanguageParser.g:2958:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ;
9073 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException { 9464 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException {
9074 9465
9075 int stackSize = keepStackSize(); 9466 int stackSize = keepStackSize();
9076 9467
9077 try { 9468 try {
9078 // InternalSolverLanguageParser.g:2823:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ) 9469 // InternalSolverLanguageParser.g:2962:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) )
9079 // InternalSolverLanguageParser.g:2824:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) 9470 // InternalSolverLanguageParser.g:2963:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) )
9080 { 9471 {
9081 // InternalSolverLanguageParser.g:2824:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) 9472 // InternalSolverLanguageParser.g:2963:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) )
9082 // InternalSolverLanguageParser.g:2825:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) 9473 // InternalSolverLanguageParser.g:2964:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 )
9083 { 9474 {
9084 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); 9475 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0());
9085 // InternalSolverLanguageParser.g:2826:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) 9476 // InternalSolverLanguageParser.g:2965:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 )
9086 // InternalSolverLanguageParser.g:2826:3: rule__PredicateDefinition__FunctionalAssignment_0_0_0 9477 // InternalSolverLanguageParser.g:2965:3: rule__PredicateDefinition__FunctionalAssignment_0_0_0
9087 { 9478 {
9088 pushFollow(FOLLOW_2); 9479 pushFollow(FOLLOW_2);
9089 rule__PredicateDefinition__FunctionalAssignment_0_0_0(); 9480 rule__PredicateDefinition__FunctionalAssignment_0_0_0();
@@ -9116,14 +9507,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9116 9507
9117 9508
9118 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1" 9509 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1"
9119 // InternalSolverLanguageParser.g:2834:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ; 9510 // InternalSolverLanguageParser.g:2973:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ;
9120 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException { 9511 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException {
9121 9512
9122 int stackSize = keepStackSize(); 9513 int stackSize = keepStackSize();
9123 9514
9124 try { 9515 try {
9125 // InternalSolverLanguageParser.g:2838:1: ( rule__PredicateDefinition__Group_0_0__1__Impl ) 9516 // InternalSolverLanguageParser.g:2977:1: ( rule__PredicateDefinition__Group_0_0__1__Impl )
9126 // InternalSolverLanguageParser.g:2839:2: rule__PredicateDefinition__Group_0_0__1__Impl 9517 // InternalSolverLanguageParser.g:2978:2: rule__PredicateDefinition__Group_0_0__1__Impl
9127 { 9518 {
9128 pushFollow(FOLLOW_2); 9519 pushFollow(FOLLOW_2);
9129 rule__PredicateDefinition__Group_0_0__1__Impl(); 9520 rule__PredicateDefinition__Group_0_0__1__Impl();
@@ -9149,29 +9540,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9149 9540
9150 9541
9151 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl" 9542 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl"
9152 // InternalSolverLanguageParser.g:2845:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ; 9543 // InternalSolverLanguageParser.g:2984:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ;
9153 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException { 9544 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException {
9154 9545
9155 int stackSize = keepStackSize(); 9546 int stackSize = keepStackSize();
9156 9547
9157 try { 9548 try {
9158 // InternalSolverLanguageParser.g:2849:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ) 9549 // InternalSolverLanguageParser.g:2988:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) )
9159 // InternalSolverLanguageParser.g:2850:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) 9550 // InternalSolverLanguageParser.g:2989:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? )
9160 { 9551 {
9161 // InternalSolverLanguageParser.g:2850:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) 9552 // InternalSolverLanguageParser.g:2989:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? )
9162 // InternalSolverLanguageParser.g:2851:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? 9553 // InternalSolverLanguageParser.g:2990:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )?
9163 { 9554 {
9164 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); 9555 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1());
9165 // InternalSolverLanguageParser.g:2852:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? 9556 // InternalSolverLanguageParser.g:2991:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )?
9166 int alt28=2; 9557 int alt27=2;
9167 int LA28_0 = input.LA(1); 9558 int LA27_0 = input.LA(1);
9168 9559
9169 if ( (LA28_0==Error) ) { 9560 if ( (LA27_0==Error) ) {
9170 alt28=1; 9561 alt27=1;
9171 } 9562 }
9172 switch (alt28) { 9563 switch (alt27) {
9173 case 1 : 9564 case 1 :
9174 // InternalSolverLanguageParser.g:2852:3: rule__PredicateDefinition__ErrorAssignment_0_0_1 9565 // InternalSolverLanguageParser.g:2991:3: rule__PredicateDefinition__ErrorAssignment_0_0_1
9175 { 9566 {
9176 pushFollow(FOLLOW_2); 9567 pushFollow(FOLLOW_2);
9177 rule__PredicateDefinition__ErrorAssignment_0_0_1(); 9568 rule__PredicateDefinition__ErrorAssignment_0_0_1();
@@ -9207,14 +9598,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9207 9598
9208 9599
9209 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0" 9600 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0"
9210 // InternalSolverLanguageParser.g:2861:1: rule__PredicateDefinition__Group_0_1__0 : rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ; 9601 // InternalSolverLanguageParser.g:3000:1: rule__PredicateDefinition__Group_0_1__0 : rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ;
9211 public final void rule__PredicateDefinition__Group_0_1__0() throws RecognitionException { 9602 public final void rule__PredicateDefinition__Group_0_1__0() throws RecognitionException {
9212 9603
9213 int stackSize = keepStackSize(); 9604 int stackSize = keepStackSize();
9214 9605
9215 try { 9606 try {
9216 // InternalSolverLanguageParser.g:2865:1: ( rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ) 9607 // InternalSolverLanguageParser.g:3004:1: ( rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 )
9217 // InternalSolverLanguageParser.g:2866:2: rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 9608 // InternalSolverLanguageParser.g:3005:2: rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1
9218 { 9609 {
9219 pushFollow(FOLLOW_11); 9610 pushFollow(FOLLOW_11);
9220 rule__PredicateDefinition__Group_0_1__0__Impl(); 9611 rule__PredicateDefinition__Group_0_1__0__Impl();
@@ -9245,21 +9636,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9245 9636
9246 9637
9247 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0__Impl" 9638 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0__Impl"
9248 // InternalSolverLanguageParser.g:2873:1: rule__PredicateDefinition__Group_0_1__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ; 9639 // InternalSolverLanguageParser.g:3012:1: rule__PredicateDefinition__Group_0_1__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ;
9249 public final void rule__PredicateDefinition__Group_0_1__0__Impl() throws RecognitionException { 9640 public final void rule__PredicateDefinition__Group_0_1__0__Impl() throws RecognitionException {
9250 9641
9251 int stackSize = keepStackSize(); 9642 int stackSize = keepStackSize();
9252 9643
9253 try { 9644 try {
9254 // InternalSolverLanguageParser.g:2877:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ) 9645 // InternalSolverLanguageParser.g:3016:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) )
9255 // InternalSolverLanguageParser.g:2878:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) 9646 // InternalSolverLanguageParser.g:3017:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) )
9256 { 9647 {
9257 // InternalSolverLanguageParser.g:2878:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) 9648 // InternalSolverLanguageParser.g:3017:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) )
9258 // InternalSolverLanguageParser.g:2879:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) 9649 // InternalSolverLanguageParser.g:3018:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 )
9259 { 9650 {
9260 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); 9651 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0());
9261 // InternalSolverLanguageParser.g:2880:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) 9652 // InternalSolverLanguageParser.g:3019:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 )
9262 // InternalSolverLanguageParser.g:2880:3: rule__PredicateDefinition__ErrorAssignment_0_1_0 9653 // InternalSolverLanguageParser.g:3019:3: rule__PredicateDefinition__ErrorAssignment_0_1_0
9263 { 9654 {
9264 pushFollow(FOLLOW_2); 9655 pushFollow(FOLLOW_2);
9265 rule__PredicateDefinition__ErrorAssignment_0_1_0(); 9656 rule__PredicateDefinition__ErrorAssignment_0_1_0();
@@ -9292,14 +9683,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9292 9683
9293 9684
9294 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1" 9685 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1"
9295 // InternalSolverLanguageParser.g:2888:1: rule__PredicateDefinition__Group_0_1__1 : rule__PredicateDefinition__Group_0_1__1__Impl ; 9686 // InternalSolverLanguageParser.g:3027:1: rule__PredicateDefinition__Group_0_1__1 : rule__PredicateDefinition__Group_0_1__1__Impl ;
9296 public final void rule__PredicateDefinition__Group_0_1__1() throws RecognitionException { 9687 public final void rule__PredicateDefinition__Group_0_1__1() throws RecognitionException {
9297 9688
9298 int stackSize = keepStackSize(); 9689 int stackSize = keepStackSize();
9299 9690
9300 try { 9691 try {
9301 // InternalSolverLanguageParser.g:2892:1: ( rule__PredicateDefinition__Group_0_1__1__Impl ) 9692 // InternalSolverLanguageParser.g:3031:1: ( rule__PredicateDefinition__Group_0_1__1__Impl )
9302 // InternalSolverLanguageParser.g:2893:2: rule__PredicateDefinition__Group_0_1__1__Impl 9693 // InternalSolverLanguageParser.g:3032:2: rule__PredicateDefinition__Group_0_1__1__Impl
9303 { 9694 {
9304 pushFollow(FOLLOW_2); 9695 pushFollow(FOLLOW_2);
9305 rule__PredicateDefinition__Group_0_1__1__Impl(); 9696 rule__PredicateDefinition__Group_0_1__1__Impl();
@@ -9325,29 +9716,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9325 9716
9326 9717
9327 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1__Impl" 9718 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1__Impl"
9328 // InternalSolverLanguageParser.g:2899:1: rule__PredicateDefinition__Group_0_1__1__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ; 9719 // InternalSolverLanguageParser.g:3038:1: rule__PredicateDefinition__Group_0_1__1__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ;
9329 public final void rule__PredicateDefinition__Group_0_1__1__Impl() throws RecognitionException { 9720 public final void rule__PredicateDefinition__Group_0_1__1__Impl() throws RecognitionException {
9330 9721
9331 int stackSize = keepStackSize(); 9722 int stackSize = keepStackSize();
9332 9723
9333 try { 9724 try {
9334 // InternalSolverLanguageParser.g:2903:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ) 9725 // InternalSolverLanguageParser.g:3042:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) )
9335 // InternalSolverLanguageParser.g:2904:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) 9726 // InternalSolverLanguageParser.g:3043:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? )
9336 { 9727 {
9337 // InternalSolverLanguageParser.g:2904:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) 9728 // InternalSolverLanguageParser.g:3043:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? )
9338 // InternalSolverLanguageParser.g:2905:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? 9729 // InternalSolverLanguageParser.g:3044:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )?
9339 { 9730 {
9340 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); 9731 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1());
9341 // InternalSolverLanguageParser.g:2906:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? 9732 // InternalSolverLanguageParser.g:3045:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )?
9342 int alt29=2; 9733 int alt28=2;
9343 int LA29_0 = input.LA(1); 9734 int LA28_0 = input.LA(1);
9344 9735
9345 if ( (LA29_0==Functional) ) { 9736 if ( (LA28_0==Functional) ) {
9346 alt29=1; 9737 alt28=1;
9347 } 9738 }
9348 switch (alt29) { 9739 switch (alt28) {
9349 case 1 : 9740 case 1 :
9350 // InternalSolverLanguageParser.g:2906:3: rule__PredicateDefinition__FunctionalAssignment_0_1_1 9741 // InternalSolverLanguageParser.g:3045:3: rule__PredicateDefinition__FunctionalAssignment_0_1_1
9351 { 9742 {
9352 pushFollow(FOLLOW_2); 9743 pushFollow(FOLLOW_2);
9353 rule__PredicateDefinition__FunctionalAssignment_0_1_1(); 9744 rule__PredicateDefinition__FunctionalAssignment_0_1_1();
@@ -9383,14 +9774,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9383 9774
9384 9775
9385 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0" 9776 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0"
9386 // InternalSolverLanguageParser.g:2915:1: rule__UnnamedErrorPrediateDefinition__Group__0 : rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ; 9777 // InternalSolverLanguageParser.g:3054:1: rule__UnnamedErrorPrediateDefinition__Group__0 : rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ;
9387 public final void rule__UnnamedErrorPrediateDefinition__Group__0() throws RecognitionException { 9778 public final void rule__UnnamedErrorPrediateDefinition__Group__0() throws RecognitionException {
9388 9779
9389 int stackSize = keepStackSize(); 9780 int stackSize = keepStackSize();
9390 9781
9391 try { 9782 try {
9392 // InternalSolverLanguageParser.g:2919:1: ( rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ) 9783 // InternalSolverLanguageParser.g:3058:1: ( rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 )
9393 // InternalSolverLanguageParser.g:2920:2: rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 9784 // InternalSolverLanguageParser.g:3059:2: rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1
9394 { 9785 {
9395 pushFollow(FOLLOW_12); 9786 pushFollow(FOLLOW_12);
9396 rule__UnnamedErrorPrediateDefinition__Group__0__Impl(); 9787 rule__UnnamedErrorPrediateDefinition__Group__0__Impl();
@@ -9421,17 +9812,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9421 9812
9422 9813
9423 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0__Impl" 9814 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0__Impl"
9424 // InternalSolverLanguageParser.g:2927:1: rule__UnnamedErrorPrediateDefinition__Group__0__Impl : ( Error ) ; 9815 // InternalSolverLanguageParser.g:3066:1: rule__UnnamedErrorPrediateDefinition__Group__0__Impl : ( Error ) ;
9425 public final void rule__UnnamedErrorPrediateDefinition__Group__0__Impl() throws RecognitionException { 9816 public final void rule__UnnamedErrorPrediateDefinition__Group__0__Impl() throws RecognitionException {
9426 9817
9427 int stackSize = keepStackSize(); 9818 int stackSize = keepStackSize();
9428 9819
9429 try { 9820 try {
9430 // InternalSolverLanguageParser.g:2931:1: ( ( Error ) ) 9821 // InternalSolverLanguageParser.g:3070:1: ( ( Error ) )
9431 // InternalSolverLanguageParser.g:2932:1: ( Error ) 9822 // InternalSolverLanguageParser.g:3071:1: ( Error )
9432 { 9823 {
9433 // InternalSolverLanguageParser.g:2932:1: ( Error ) 9824 // InternalSolverLanguageParser.g:3071:1: ( Error )
9434 // InternalSolverLanguageParser.g:2933:2: Error 9825 // InternalSolverLanguageParser.g:3072:2: Error
9435 { 9826 {
9436 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 9827 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
9437 match(input,Error,FOLLOW_2); 9828 match(input,Error,FOLLOW_2);
@@ -9458,14 +9849,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9458 9849
9459 9850
9460 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1" 9851 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1"
9461 // InternalSolverLanguageParser.g:2942:1: rule__UnnamedErrorPrediateDefinition__Group__1 : rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ; 9852 // InternalSolverLanguageParser.g:3081:1: rule__UnnamedErrorPrediateDefinition__Group__1 : rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ;
9462 public final void rule__UnnamedErrorPrediateDefinition__Group__1() throws RecognitionException { 9853 public final void rule__UnnamedErrorPrediateDefinition__Group__1() throws RecognitionException {
9463 9854
9464 int stackSize = keepStackSize(); 9855 int stackSize = keepStackSize();
9465 9856
9466 try { 9857 try {
9467 // InternalSolverLanguageParser.g:2946:1: ( rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ) 9858 // InternalSolverLanguageParser.g:3085:1: ( rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 )
9468 // InternalSolverLanguageParser.g:2947:2: rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 9859 // InternalSolverLanguageParser.g:3086:2: rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2
9469 { 9860 {
9470 pushFollow(FOLLOW_8); 9861 pushFollow(FOLLOW_8);
9471 rule__UnnamedErrorPrediateDefinition__Group__1__Impl(); 9862 rule__UnnamedErrorPrediateDefinition__Group__1__Impl();
@@ -9496,21 +9887,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9496 9887
9497 9888
9498 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1__Impl" 9889 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1__Impl"
9499 // InternalSolverLanguageParser.g:2954:1: rule__UnnamedErrorPrediateDefinition__Group__1__Impl : ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ; 9890 // InternalSolverLanguageParser.g:3093:1: rule__UnnamedErrorPrediateDefinition__Group__1__Impl : ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ;
9500 public final void rule__UnnamedErrorPrediateDefinition__Group__1__Impl() throws RecognitionException { 9891 public final void rule__UnnamedErrorPrediateDefinition__Group__1__Impl() throws RecognitionException {
9501 9892
9502 int stackSize = keepStackSize(); 9893 int stackSize = keepStackSize();
9503 9894
9504 try { 9895 try {
9505 // InternalSolverLanguageParser.g:2958:1: ( ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ) 9896 // InternalSolverLanguageParser.g:3097:1: ( ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) )
9506 // InternalSolverLanguageParser.g:2959:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) 9897 // InternalSolverLanguageParser.g:3098:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) )
9507 { 9898 {
9508 // InternalSolverLanguageParser.g:2959:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) 9899 // InternalSolverLanguageParser.g:3098:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) )
9509 // InternalSolverLanguageParser.g:2960:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) 9900 // InternalSolverLanguageParser.g:3099:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 )
9510 { 9901 {
9511 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); 9902 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1());
9512 // InternalSolverLanguageParser.g:2961:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) 9903 // InternalSolverLanguageParser.g:3100:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 )
9513 // InternalSolverLanguageParser.g:2961:3: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 9904 // InternalSolverLanguageParser.g:3100:3: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1
9514 { 9905 {
9515 pushFollow(FOLLOW_2); 9906 pushFollow(FOLLOW_2);
9516 rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1(); 9907 rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1();
@@ -9543,14 +9934,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9543 9934
9544 9935
9545 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2" 9936 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2"
9546 // InternalSolverLanguageParser.g:2969:1: rule__UnnamedErrorPrediateDefinition__Group__2 : rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ; 9937 // InternalSolverLanguageParser.g:3108:1: rule__UnnamedErrorPrediateDefinition__Group__2 : rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ;
9547 public final void rule__UnnamedErrorPrediateDefinition__Group__2() throws RecognitionException { 9938 public final void rule__UnnamedErrorPrediateDefinition__Group__2() throws RecognitionException {
9548 9939
9549 int stackSize = keepStackSize(); 9940 int stackSize = keepStackSize();
9550 9941
9551 try { 9942 try {
9552 // InternalSolverLanguageParser.g:2973:1: ( rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ) 9943 // InternalSolverLanguageParser.g:3112:1: ( rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 )
9553 // InternalSolverLanguageParser.g:2974:2: rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 9944 // InternalSolverLanguageParser.g:3113:2: rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3
9554 { 9945 {
9555 pushFollow(FOLLOW_7); 9946 pushFollow(FOLLOW_7);
9556 rule__UnnamedErrorPrediateDefinition__Group__2__Impl(); 9947 rule__UnnamedErrorPrediateDefinition__Group__2__Impl();
@@ -9581,17 +9972,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9581 9972
9582 9973
9583 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2__Impl" 9974 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2__Impl"
9584 // InternalSolverLanguageParser.g:2981:1: rule__UnnamedErrorPrediateDefinition__Group__2__Impl : ( ColonHyphenMinus ) ; 9975 // InternalSolverLanguageParser.g:3120:1: rule__UnnamedErrorPrediateDefinition__Group__2__Impl : ( ColonHyphenMinus ) ;
9585 public final void rule__UnnamedErrorPrediateDefinition__Group__2__Impl() throws RecognitionException { 9976 public final void rule__UnnamedErrorPrediateDefinition__Group__2__Impl() throws RecognitionException {
9586 9977
9587 int stackSize = keepStackSize(); 9978 int stackSize = keepStackSize();
9588 9979
9589 try { 9980 try {
9590 // InternalSolverLanguageParser.g:2985:1: ( ( ColonHyphenMinus ) ) 9981 // InternalSolverLanguageParser.g:3124:1: ( ( ColonHyphenMinus ) )
9591 // InternalSolverLanguageParser.g:2986:1: ( ColonHyphenMinus ) 9982 // InternalSolverLanguageParser.g:3125:1: ( ColonHyphenMinus )
9592 { 9983 {
9593 // InternalSolverLanguageParser.g:2986:1: ( ColonHyphenMinus ) 9984 // InternalSolverLanguageParser.g:3125:1: ( ColonHyphenMinus )
9594 // InternalSolverLanguageParser.g:2987:2: ColonHyphenMinus 9985 // InternalSolverLanguageParser.g:3126:2: ColonHyphenMinus
9595 { 9986 {
9596 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 9987 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
9597 match(input,ColonHyphenMinus,FOLLOW_2); 9988 match(input,ColonHyphenMinus,FOLLOW_2);
@@ -9618,14 +10009,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9618 10009
9619 10010
9620 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3" 10011 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3"
9621 // InternalSolverLanguageParser.g:2996:1: rule__UnnamedErrorPrediateDefinition__Group__3 : rule__UnnamedErrorPrediateDefinition__Group__3__Impl ; 10012 // InternalSolverLanguageParser.g:3135:1: rule__UnnamedErrorPrediateDefinition__Group__3 : rule__UnnamedErrorPrediateDefinition__Group__3__Impl ;
9622 public final void rule__UnnamedErrorPrediateDefinition__Group__3() throws RecognitionException { 10013 public final void rule__UnnamedErrorPrediateDefinition__Group__3() throws RecognitionException {
9623 10014
9624 int stackSize = keepStackSize(); 10015 int stackSize = keepStackSize();
9625 10016
9626 try { 10017 try {
9627 // InternalSolverLanguageParser.g:3000:1: ( rule__UnnamedErrorPrediateDefinition__Group__3__Impl ) 10018 // InternalSolverLanguageParser.g:3139:1: ( rule__UnnamedErrorPrediateDefinition__Group__3__Impl )
9628 // InternalSolverLanguageParser.g:3001:2: rule__UnnamedErrorPrediateDefinition__Group__3__Impl 10019 // InternalSolverLanguageParser.g:3140:2: rule__UnnamedErrorPrediateDefinition__Group__3__Impl
9629 { 10020 {
9630 pushFollow(FOLLOW_2); 10021 pushFollow(FOLLOW_2);
9631 rule__UnnamedErrorPrediateDefinition__Group__3__Impl(); 10022 rule__UnnamedErrorPrediateDefinition__Group__3__Impl();
@@ -9651,21 +10042,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9651 10042
9652 10043
9653 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3__Impl" 10044 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3__Impl"
9654 // InternalSolverLanguageParser.g:3007:1: rule__UnnamedErrorPrediateDefinition__Group__3__Impl : ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ; 10045 // InternalSolverLanguageParser.g:3146:1: rule__UnnamedErrorPrediateDefinition__Group__3__Impl : ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ;
9655 public final void rule__UnnamedErrorPrediateDefinition__Group__3__Impl() throws RecognitionException { 10046 public final void rule__UnnamedErrorPrediateDefinition__Group__3__Impl() throws RecognitionException {
9656 10047
9657 int stackSize = keepStackSize(); 10048 int stackSize = keepStackSize();
9658 10049
9659 try { 10050 try {
9660 // InternalSolverLanguageParser.g:3011:1: ( ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ) 10051 // InternalSolverLanguageParser.g:3150:1: ( ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) )
9661 // InternalSolverLanguageParser.g:3012:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) 10052 // InternalSolverLanguageParser.g:3151:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) )
9662 { 10053 {
9663 // InternalSolverLanguageParser.g:3012:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) 10054 // InternalSolverLanguageParser.g:3151:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) )
9664 // InternalSolverLanguageParser.g:3013:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) 10055 // InternalSolverLanguageParser.g:3152:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 )
9665 { 10056 {
9666 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); 10057 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3());
9667 // InternalSolverLanguageParser.g:3014:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) 10058 // InternalSolverLanguageParser.g:3153:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 )
9668 // InternalSolverLanguageParser.g:3014:3: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 10059 // InternalSolverLanguageParser.g:3153:3: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3
9669 { 10060 {
9670 pushFollow(FOLLOW_2); 10061 pushFollow(FOLLOW_2);
9671 rule__UnnamedErrorPrediateDefinition__BodyAssignment_3(); 10062 rule__UnnamedErrorPrediateDefinition__BodyAssignment_3();
@@ -9698,14 +10089,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9698 10089
9699 10090
9700 // $ANTLR start "rule__DefaultDefinition__Group__0" 10091 // $ANTLR start "rule__DefaultDefinition__Group__0"
9701 // InternalSolverLanguageParser.g:3023:1: rule__DefaultDefinition__Group__0 : rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ; 10092 // InternalSolverLanguageParser.g:3162:1: rule__DefaultDefinition__Group__0 : rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ;
9702 public final void rule__DefaultDefinition__Group__0() throws RecognitionException { 10093 public final void rule__DefaultDefinition__Group__0() throws RecognitionException {
9703 10094
9704 int stackSize = keepStackSize(); 10095 int stackSize = keepStackSize();
9705 10096
9706 try { 10097 try {
9707 // InternalSolverLanguageParser.g:3027:1: ( rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ) 10098 // InternalSolverLanguageParser.g:3166:1: ( rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 )
9708 // InternalSolverLanguageParser.g:3028:2: rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 10099 // InternalSolverLanguageParser.g:3167:2: rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1
9709 { 10100 {
9710 pushFollow(FOLLOW_9); 10101 pushFollow(FOLLOW_9);
9711 rule__DefaultDefinition__Group__0__Impl(); 10102 rule__DefaultDefinition__Group__0__Impl();
@@ -9736,17 +10127,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9736 10127
9737 10128
9738 // $ANTLR start "rule__DefaultDefinition__Group__0__Impl" 10129 // $ANTLR start "rule__DefaultDefinition__Group__0__Impl"
9739 // InternalSolverLanguageParser.g:3035:1: rule__DefaultDefinition__Group__0__Impl : ( Default ) ; 10130 // InternalSolverLanguageParser.g:3174:1: rule__DefaultDefinition__Group__0__Impl : ( Default ) ;
9740 public final void rule__DefaultDefinition__Group__0__Impl() throws RecognitionException { 10131 public final void rule__DefaultDefinition__Group__0__Impl() throws RecognitionException {
9741 10132
9742 int stackSize = keepStackSize(); 10133 int stackSize = keepStackSize();
9743 10134
9744 try { 10135 try {
9745 // InternalSolverLanguageParser.g:3039:1: ( ( Default ) ) 10136 // InternalSolverLanguageParser.g:3178:1: ( ( Default ) )
9746 // InternalSolverLanguageParser.g:3040:1: ( Default ) 10137 // InternalSolverLanguageParser.g:3179:1: ( Default )
9747 { 10138 {
9748 // InternalSolverLanguageParser.g:3040:1: ( Default ) 10139 // InternalSolverLanguageParser.g:3179:1: ( Default )
9749 // InternalSolverLanguageParser.g:3041:2: Default 10140 // InternalSolverLanguageParser.g:3180:2: Default
9750 { 10141 {
9751 before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 10142 before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
9752 match(input,Default,FOLLOW_2); 10143 match(input,Default,FOLLOW_2);
@@ -9773,14 +10164,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9773 10164
9774 10165
9775 // $ANTLR start "rule__DefaultDefinition__Group__1" 10166 // $ANTLR start "rule__DefaultDefinition__Group__1"
9776 // InternalSolverLanguageParser.g:3050:1: rule__DefaultDefinition__Group__1 : rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ; 10167 // InternalSolverLanguageParser.g:3189:1: rule__DefaultDefinition__Group__1 : rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ;
9777 public final void rule__DefaultDefinition__Group__1() throws RecognitionException { 10168 public final void rule__DefaultDefinition__Group__1() throws RecognitionException {
9778 10169
9779 int stackSize = keepStackSize(); 10170 int stackSize = keepStackSize();
9780 10171
9781 try { 10172 try {
9782 // InternalSolverLanguageParser.g:3054:1: ( rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ) 10173 // InternalSolverLanguageParser.g:3193:1: ( rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 )
9783 // InternalSolverLanguageParser.g:3055:2: rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 10174 // InternalSolverLanguageParser.g:3194:2: rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2
9784 { 10175 {
9785 pushFollow(FOLLOW_6); 10176 pushFollow(FOLLOW_6);
9786 rule__DefaultDefinition__Group__1__Impl(); 10177 rule__DefaultDefinition__Group__1__Impl();
@@ -9811,21 +10202,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9811 10202
9812 10203
9813 // $ANTLR start "rule__DefaultDefinition__Group__1__Impl" 10204 // $ANTLR start "rule__DefaultDefinition__Group__1__Impl"
9814 // InternalSolverLanguageParser.g:3062:1: rule__DefaultDefinition__Group__1__Impl : ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ; 10205 // InternalSolverLanguageParser.g:3201:1: rule__DefaultDefinition__Group__1__Impl : ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ;
9815 public final void rule__DefaultDefinition__Group__1__Impl() throws RecognitionException { 10206 public final void rule__DefaultDefinition__Group__1__Impl() throws RecognitionException {
9816 10207
9817 int stackSize = keepStackSize(); 10208 int stackSize = keepStackSize();
9818 10209
9819 try { 10210 try {
9820 // InternalSolverLanguageParser.g:3066:1: ( ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ) 10211 // InternalSolverLanguageParser.g:3205:1: ( ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) )
9821 // InternalSolverLanguageParser.g:3067:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) 10212 // InternalSolverLanguageParser.g:3206:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) )
9822 { 10213 {
9823 // InternalSolverLanguageParser.g:3067:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) 10214 // InternalSolverLanguageParser.g:3206:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) )
9824 // InternalSolverLanguageParser.g:3068:2: ( rule__DefaultDefinition__HeadAssignment_1 ) 10215 // InternalSolverLanguageParser.g:3207:2: ( rule__DefaultDefinition__HeadAssignment_1 )
9825 { 10216 {
9826 before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); 10217 before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1());
9827 // InternalSolverLanguageParser.g:3069:2: ( rule__DefaultDefinition__HeadAssignment_1 ) 10218 // InternalSolverLanguageParser.g:3208:2: ( rule__DefaultDefinition__HeadAssignment_1 )
9828 // InternalSolverLanguageParser.g:3069:3: rule__DefaultDefinition__HeadAssignment_1 10219 // InternalSolverLanguageParser.g:3208:3: rule__DefaultDefinition__HeadAssignment_1
9829 { 10220 {
9830 pushFollow(FOLLOW_2); 10221 pushFollow(FOLLOW_2);
9831 rule__DefaultDefinition__HeadAssignment_1(); 10222 rule__DefaultDefinition__HeadAssignment_1();
@@ -9858,14 +10249,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9858 10249
9859 10250
9860 // $ANTLR start "rule__DefaultDefinition__Group__2" 10251 // $ANTLR start "rule__DefaultDefinition__Group__2"
9861 // InternalSolverLanguageParser.g:3077:1: rule__DefaultDefinition__Group__2 : rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ; 10252 // InternalSolverLanguageParser.g:3216:1: rule__DefaultDefinition__Group__2 : rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ;
9862 public final void rule__DefaultDefinition__Group__2() throws RecognitionException { 10253 public final void rule__DefaultDefinition__Group__2() throws RecognitionException {
9863 10254
9864 int stackSize = keepStackSize(); 10255 int stackSize = keepStackSize();
9865 10256
9866 try { 10257 try {
9867 // InternalSolverLanguageParser.g:3081:1: ( rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ) 10258 // InternalSolverLanguageParser.g:3220:1: ( rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 )
9868 // InternalSolverLanguageParser.g:3082:2: rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 10259 // InternalSolverLanguageParser.g:3221:2: rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3
9869 { 10260 {
9870 pushFollow(FOLLOW_7); 10261 pushFollow(FOLLOW_7);
9871 rule__DefaultDefinition__Group__2__Impl(); 10262 rule__DefaultDefinition__Group__2__Impl();
@@ -9896,17 +10287,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9896 10287
9897 10288
9898 // $ANTLR start "rule__DefaultDefinition__Group__2__Impl" 10289 // $ANTLR start "rule__DefaultDefinition__Group__2__Impl"
9899 // InternalSolverLanguageParser.g:3089:1: rule__DefaultDefinition__Group__2__Impl : ( Colon ) ; 10290 // InternalSolverLanguageParser.g:3228:1: rule__DefaultDefinition__Group__2__Impl : ( Colon ) ;
9900 public final void rule__DefaultDefinition__Group__2__Impl() throws RecognitionException { 10291 public final void rule__DefaultDefinition__Group__2__Impl() throws RecognitionException {
9901 10292
9902 int stackSize = keepStackSize(); 10293 int stackSize = keepStackSize();
9903 10294
9904 try { 10295 try {
9905 // InternalSolverLanguageParser.g:3093:1: ( ( Colon ) ) 10296 // InternalSolverLanguageParser.g:3232:1: ( ( Colon ) )
9906 // InternalSolverLanguageParser.g:3094:1: ( Colon ) 10297 // InternalSolverLanguageParser.g:3233:1: ( Colon )
9907 { 10298 {
9908 // InternalSolverLanguageParser.g:3094:1: ( Colon ) 10299 // InternalSolverLanguageParser.g:3233:1: ( Colon )
9909 // InternalSolverLanguageParser.g:3095:2: Colon 10300 // InternalSolverLanguageParser.g:3234:2: Colon
9910 { 10301 {
9911 before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 10302 before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
9912 match(input,Colon,FOLLOW_2); 10303 match(input,Colon,FOLLOW_2);
@@ -9933,14 +10324,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9933 10324
9934 10325
9935 // $ANTLR start "rule__DefaultDefinition__Group__3" 10326 // $ANTLR start "rule__DefaultDefinition__Group__3"
9936 // InternalSolverLanguageParser.g:3104:1: rule__DefaultDefinition__Group__3 : rule__DefaultDefinition__Group__3__Impl ; 10327 // InternalSolverLanguageParser.g:3243:1: rule__DefaultDefinition__Group__3 : rule__DefaultDefinition__Group__3__Impl ;
9937 public final void rule__DefaultDefinition__Group__3() throws RecognitionException { 10328 public final void rule__DefaultDefinition__Group__3() throws RecognitionException {
9938 10329
9939 int stackSize = keepStackSize(); 10330 int stackSize = keepStackSize();
9940 10331
9941 try { 10332 try {
9942 // InternalSolverLanguageParser.g:3108:1: ( rule__DefaultDefinition__Group__3__Impl ) 10333 // InternalSolverLanguageParser.g:3247:1: ( rule__DefaultDefinition__Group__3__Impl )
9943 // InternalSolverLanguageParser.g:3109:2: rule__DefaultDefinition__Group__3__Impl 10334 // InternalSolverLanguageParser.g:3248:2: rule__DefaultDefinition__Group__3__Impl
9944 { 10335 {
9945 pushFollow(FOLLOW_2); 10336 pushFollow(FOLLOW_2);
9946 rule__DefaultDefinition__Group__3__Impl(); 10337 rule__DefaultDefinition__Group__3__Impl();
@@ -9966,21 +10357,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9966 10357
9967 10358
9968 // $ANTLR start "rule__DefaultDefinition__Group__3__Impl" 10359 // $ANTLR start "rule__DefaultDefinition__Group__3__Impl"
9969 // InternalSolverLanguageParser.g:3115:1: rule__DefaultDefinition__Group__3__Impl : ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ; 10360 // InternalSolverLanguageParser.g:3254:1: rule__DefaultDefinition__Group__3__Impl : ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ;
9970 public final void rule__DefaultDefinition__Group__3__Impl() throws RecognitionException { 10361 public final void rule__DefaultDefinition__Group__3__Impl() throws RecognitionException {
9971 10362
9972 int stackSize = keepStackSize(); 10363 int stackSize = keepStackSize();
9973 10364
9974 try { 10365 try {
9975 // InternalSolverLanguageParser.g:3119:1: ( ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ) 10366 // InternalSolverLanguageParser.g:3258:1: ( ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) )
9976 // InternalSolverLanguageParser.g:3120:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) 10367 // InternalSolverLanguageParser.g:3259:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) )
9977 { 10368 {
9978 // InternalSolverLanguageParser.g:3120:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) 10369 // InternalSolverLanguageParser.g:3259:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) )
9979 // InternalSolverLanguageParser.g:3121:2: ( rule__DefaultDefinition__RangeAssignment_3 ) 10370 // InternalSolverLanguageParser.g:3260:2: ( rule__DefaultDefinition__RangeAssignment_3 )
9980 { 10371 {
9981 before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); 10372 before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3());
9982 // InternalSolverLanguageParser.g:3122:2: ( rule__DefaultDefinition__RangeAssignment_3 ) 10373 // InternalSolverLanguageParser.g:3261:2: ( rule__DefaultDefinition__RangeAssignment_3 )
9983 // InternalSolverLanguageParser.g:3122:3: rule__DefaultDefinition__RangeAssignment_3 10374 // InternalSolverLanguageParser.g:3261:3: rule__DefaultDefinition__RangeAssignment_3
9984 { 10375 {
9985 pushFollow(FOLLOW_2); 10376 pushFollow(FOLLOW_2);
9986 rule__DefaultDefinition__RangeAssignment_3(); 10377 rule__DefaultDefinition__RangeAssignment_3();
@@ -10012,23 +10403,23 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10012 // $ANTLR end "rule__DefaultDefinition__Group__3__Impl" 10403 // $ANTLR end "rule__DefaultDefinition__Group__3__Impl"
10013 10404
10014 10405
10015 // $ANTLR start "rule__ExternPredicateDefinition__Group__0" 10406 // $ANTLR start "rule__MetricDefinition__Group__0"
10016 // InternalSolverLanguageParser.g:3131:1: rule__ExternPredicateDefinition__Group__0 : rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ; 10407 // InternalSolverLanguageParser.g:3270:1: rule__MetricDefinition__Group__0 : rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ;
10017 public final void rule__ExternPredicateDefinition__Group__0() throws RecognitionException { 10408 public final void rule__MetricDefinition__Group__0() throws RecognitionException {
10018 10409
10019 int stackSize = keepStackSize(); 10410 int stackSize = keepStackSize();
10020 10411
10021 try { 10412 try {
10022 // InternalSolverLanguageParser.g:3135:1: ( rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ) 10413 // InternalSolverLanguageParser.g:3274:1: ( rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 )
10023 // InternalSolverLanguageParser.g:3136:2: rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 10414 // InternalSolverLanguageParser.g:3275:2: rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1
10024 { 10415 {
10025 pushFollow(FOLLOW_9); 10416 pushFollow(FOLLOW_9);
10026 rule__ExternPredicateDefinition__Group__0__Impl(); 10417 rule__MetricDefinition__Group__0__Impl();
10027 10418
10028 state._fsp--; 10419 state._fsp--;
10029 10420
10030 pushFollow(FOLLOW_2); 10421 pushFollow(FOLLOW_2);
10031 rule__ExternPredicateDefinition__Group__1(); 10422 rule__MetricDefinition__Group__1();
10032 10423
10033 state._fsp--; 10424 state._fsp--;
10034 10425
@@ -10047,25 +10438,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10047 } 10438 }
10048 return ; 10439 return ;
10049 } 10440 }
10050 // $ANTLR end "rule__ExternPredicateDefinition__Group__0" 10441 // $ANTLR end "rule__MetricDefinition__Group__0"
10051 10442
10052 10443
10053 // $ANTLR start "rule__ExternPredicateDefinition__Group__0__Impl" 10444 // $ANTLR start "rule__MetricDefinition__Group__0__Impl"
10054 // InternalSolverLanguageParser.g:3143:1: rule__ExternPredicateDefinition__Group__0__Impl : ( Extern ) ; 10445 // InternalSolverLanguageParser.g:3282:1: rule__MetricDefinition__Group__0__Impl : ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ;
10055 public final void rule__ExternPredicateDefinition__Group__0__Impl() throws RecognitionException { 10446 public final void rule__MetricDefinition__Group__0__Impl() throws RecognitionException {
10056 10447
10057 int stackSize = keepStackSize(); 10448 int stackSize = keepStackSize();
10058 10449
10059 try { 10450 try {
10060 // InternalSolverLanguageParser.g:3147:1: ( ( Extern ) ) 10451 // InternalSolverLanguageParser.g:3286:1: ( ( ( rule__MetricDefinition__TypeAssignment_0 ) ) )
10061 // InternalSolverLanguageParser.g:3148:1: ( Extern ) 10452 // InternalSolverLanguageParser.g:3287:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) )
10062 { 10453 {
10063 // InternalSolverLanguageParser.g:3148:1: ( Extern ) 10454 // InternalSolverLanguageParser.g:3287:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) )
10064 // InternalSolverLanguageParser.g:3149:2: Extern 10455 // InternalSolverLanguageParser.g:3288:2: ( rule__MetricDefinition__TypeAssignment_0 )
10065 { 10456 {
10066 before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 10457 before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0());
10067 match(input,Extern,FOLLOW_2); 10458 // InternalSolverLanguageParser.g:3289:2: ( rule__MetricDefinition__TypeAssignment_0 )
10068 after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 10459 // InternalSolverLanguageParser.g:3289:3: rule__MetricDefinition__TypeAssignment_0
10460 {
10461 pushFollow(FOLLOW_2);
10462 rule__MetricDefinition__TypeAssignment_0();
10463
10464 state._fsp--;
10465
10466
10467 }
10468
10469 after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0());
10069 10470
10070 } 10471 }
10071 10472
@@ -10084,21 +10485,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10084 } 10485 }
10085 return ; 10486 return ;
10086 } 10487 }
10087 // $ANTLR end "rule__ExternPredicateDefinition__Group__0__Impl" 10488 // $ANTLR end "rule__MetricDefinition__Group__0__Impl"
10088 10489
10089 10490
10090 // $ANTLR start "rule__ExternPredicateDefinition__Group__1" 10491 // $ANTLR start "rule__MetricDefinition__Group__1"
10091 // InternalSolverLanguageParser.g:3158:1: rule__ExternPredicateDefinition__Group__1 : rule__ExternPredicateDefinition__Group__1__Impl ; 10492 // InternalSolverLanguageParser.g:3297:1: rule__MetricDefinition__Group__1 : rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ;
10092 public final void rule__ExternPredicateDefinition__Group__1() throws RecognitionException { 10493 public final void rule__MetricDefinition__Group__1() throws RecognitionException {
10093 10494
10094 int stackSize = keepStackSize(); 10495 int stackSize = keepStackSize();
10095 10496
10096 try { 10497 try {
10097 // InternalSolverLanguageParser.g:3162:1: ( rule__ExternPredicateDefinition__Group__1__Impl ) 10498 // InternalSolverLanguageParser.g:3301:1: ( rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 )
10098 // InternalSolverLanguageParser.g:3163:2: rule__ExternPredicateDefinition__Group__1__Impl 10499 // InternalSolverLanguageParser.g:3302:2: rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2
10099 { 10500 {
10501 pushFollow(FOLLOW_13);
10502 rule__MetricDefinition__Group__1__Impl();
10503
10504 state._fsp--;
10505
10100 pushFollow(FOLLOW_2); 10506 pushFollow(FOLLOW_2);
10101 rule__ExternPredicateDefinition__Group__1__Impl(); 10507 rule__MetricDefinition__Group__2();
10102 10508
10103 state._fsp--; 10509 state._fsp--;
10104 10510
@@ -10117,35 +10523,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10117 } 10523 }
10118 return ; 10524 return ;
10119 } 10525 }
10120 // $ANTLR end "rule__ExternPredicateDefinition__Group__1" 10526 // $ANTLR end "rule__MetricDefinition__Group__1"
10121 10527
10122 10528
10123 // $ANTLR start "rule__ExternPredicateDefinition__Group__1__Impl" 10529 // $ANTLR start "rule__MetricDefinition__Group__1__Impl"
10124 // InternalSolverLanguageParser.g:3169:1: rule__ExternPredicateDefinition__Group__1__Impl : ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) ; 10530 // InternalSolverLanguageParser.g:3309:1: rule__MetricDefinition__Group__1__Impl : ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ;
10125 public final void rule__ExternPredicateDefinition__Group__1__Impl() throws RecognitionException { 10531 public final void rule__MetricDefinition__Group__1__Impl() throws RecognitionException {
10126 10532
10127 int stackSize = keepStackSize(); 10533 int stackSize = keepStackSize();
10128 10534
10129 try { 10535 try {
10130 // InternalSolverLanguageParser.g:3173:1: ( ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) ) 10536 // InternalSolverLanguageParser.g:3313:1: ( ( ( rule__MetricDefinition__HeadAssignment_1 ) ) )
10131 // InternalSolverLanguageParser.g:3174:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) 10537 // InternalSolverLanguageParser.g:3314:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) )
10132 { 10538 {
10133 // InternalSolverLanguageParser.g:3174:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) 10539 // InternalSolverLanguageParser.g:3314:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) )
10134 // InternalSolverLanguageParser.g:3175:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 ) 10540 // InternalSolverLanguageParser.g:3315:2: ( rule__MetricDefinition__HeadAssignment_1 )
10135 { 10541 {
10136 before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); 10542 before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1());
10137 // InternalSolverLanguageParser.g:3176:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 ) 10543 // InternalSolverLanguageParser.g:3316:2: ( rule__MetricDefinition__HeadAssignment_1 )
10138 // InternalSolverLanguageParser.g:3176:3: rule__ExternPredicateDefinition__HeadAssignment_1 10544 // InternalSolverLanguageParser.g:3316:3: rule__MetricDefinition__HeadAssignment_1
10139 { 10545 {
10140 pushFollow(FOLLOW_2); 10546 pushFollow(FOLLOW_2);
10141 rule__ExternPredicateDefinition__HeadAssignment_1(); 10547 rule__MetricDefinition__HeadAssignment_1();
10142 10548
10143 state._fsp--; 10549 state._fsp--;
10144 10550
10145 10551
10146 } 10552 }
10147 10553
10148 after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); 10554 after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1());
10149 10555
10150 } 10556 }
10151 10557
@@ -10164,26 +10570,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10164 } 10570 }
10165 return ; 10571 return ;
10166 } 10572 }
10167 // $ANTLR end "rule__ExternPredicateDefinition__Group__1__Impl" 10573 // $ANTLR end "rule__MetricDefinition__Group__1__Impl"
10168 10574
10169 10575
10170 // $ANTLR start "rule__MetricDefinition__Group__0" 10576 // $ANTLR start "rule__MetricDefinition__Group__2"
10171 // InternalSolverLanguageParser.g:3185:1: rule__MetricDefinition__Group__0 : rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ; 10577 // InternalSolverLanguageParser.g:3324:1: rule__MetricDefinition__Group__2 : rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ;
10172 public final void rule__MetricDefinition__Group__0() throws RecognitionException { 10578 public final void rule__MetricDefinition__Group__2() throws RecognitionException {
10173 10579
10174 int stackSize = keepStackSize(); 10580 int stackSize = keepStackSize();
10175 10581
10176 try { 10582 try {
10177 // InternalSolverLanguageParser.g:3189:1: ( rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ) 10583 // InternalSolverLanguageParser.g:3328:1: ( rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 )
10178 // InternalSolverLanguageParser.g:3190:2: rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 10584 // InternalSolverLanguageParser.g:3329:2: rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3
10179 { 10585 {
10180 pushFollow(FOLLOW_7); 10586 pushFollow(FOLLOW_7);
10181 rule__MetricDefinition__Group__0__Impl(); 10587 rule__MetricDefinition__Group__2__Impl();
10182 10588
10183 state._fsp--; 10589 state._fsp--;
10184 10590
10185 pushFollow(FOLLOW_2); 10591 pushFollow(FOLLOW_2);
10186 rule__MetricDefinition__Group__1(); 10592 rule__MetricDefinition__Group__3();
10187 10593
10188 state._fsp--; 10594 state._fsp--;
10189 10595
@@ -10202,37 +10608,60 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10202 } 10608 }
10203 return ; 10609 return ;
10204 } 10610 }
10205 // $ANTLR end "rule__MetricDefinition__Group__0" 10611 // $ANTLR end "rule__MetricDefinition__Group__2"
10206 10612
10207 10613
10208 // $ANTLR start "rule__MetricDefinition__Group__0__Impl" 10614 // $ANTLR start "rule__MetricDefinition__Group__2__Impl"
10209 // InternalSolverLanguageParser.g:3197:1: rule__MetricDefinition__Group__0__Impl : ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ; 10615 // InternalSolverLanguageParser.g:3336:1: rule__MetricDefinition__Group__2__Impl : ( EqualsSign ) ;
10210 public final void rule__MetricDefinition__Group__0__Impl() throws RecognitionException { 10616 public final void rule__MetricDefinition__Group__2__Impl() throws RecognitionException {
10211 10617
10212 int stackSize = keepStackSize(); 10618 int stackSize = keepStackSize();
10213 10619
10214 try { 10620 try {
10215 // InternalSolverLanguageParser.g:3201:1: ( ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ) 10621 // InternalSolverLanguageParser.g:3340:1: ( ( EqualsSign ) )
10216 // InternalSolverLanguageParser.g:3202:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) ) 10622 // InternalSolverLanguageParser.g:3341:1: ( EqualsSign )
10217 { 10623 {
10218 // InternalSolverLanguageParser.g:3202:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) ) 10624 // InternalSolverLanguageParser.g:3341:1: ( EqualsSign )
10219 // InternalSolverLanguageParser.g:3203:2: ( rule__MetricDefinition__TypeAssignment_0 ) 10625 // InternalSolverLanguageParser.g:3342:2: EqualsSign
10220 { 10626 {
10221 before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); 10627 before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
10222 // InternalSolverLanguageParser.g:3204:2: ( rule__MetricDefinition__TypeAssignment_0 ) 10628 match(input,EqualsSign,FOLLOW_2);
10223 // InternalSolverLanguageParser.g:3204:3: rule__MetricDefinition__TypeAssignment_0 10629 after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
10224 {
10225 pushFollow(FOLLOW_2);
10226 rule__MetricDefinition__TypeAssignment_0();
10227 10630
10228 state._fsp--; 10631 }
10229 10632
10230 10633
10231 } 10634 }
10232 10635
10233 after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); 10636 }
10637 catch (RecognitionException re) {
10638 reportError(re);
10639 recover(input,re);
10640 }
10641 finally {
10234 10642
10235 } 10643 restoreStackSize(stackSize);
10644
10645 }
10646 return ;
10647 }
10648 // $ANTLR end "rule__MetricDefinition__Group__2__Impl"
10649
10650
10651 // $ANTLR start "rule__MetricDefinition__Group__3"
10652 // InternalSolverLanguageParser.g:3351:1: rule__MetricDefinition__Group__3 : rule__MetricDefinition__Group__3__Impl ;
10653 public final void rule__MetricDefinition__Group__3() throws RecognitionException {
10654
10655 int stackSize = keepStackSize();
10656
10657 try {
10658 // InternalSolverLanguageParser.g:3355:1: ( rule__MetricDefinition__Group__3__Impl )
10659 // InternalSolverLanguageParser.g:3356:2: rule__MetricDefinition__Group__3__Impl
10660 {
10661 pushFollow(FOLLOW_2);
10662 rule__MetricDefinition__Group__3__Impl();
10663
10664 state._fsp--;
10236 10665
10237 10666
10238 } 10667 }
@@ -10249,28 +10678,37 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10249 } 10678 }
10250 return ; 10679 return ;
10251 } 10680 }
10252 // $ANTLR end "rule__MetricDefinition__Group__0__Impl" 10681 // $ANTLR end "rule__MetricDefinition__Group__3"
10253 10682
10254 10683
10255 // $ANTLR start "rule__MetricDefinition__Group__1" 10684 // $ANTLR start "rule__MetricDefinition__Group__3__Impl"
10256 // InternalSolverLanguageParser.g:3212:1: rule__MetricDefinition__Group__1 : rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ; 10685 // InternalSolverLanguageParser.g:3362:1: rule__MetricDefinition__Group__3__Impl : ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ;
10257 public final void rule__MetricDefinition__Group__1() throws RecognitionException { 10686 public final void rule__MetricDefinition__Group__3__Impl() throws RecognitionException {
10258 10687
10259 int stackSize = keepStackSize(); 10688 int stackSize = keepStackSize();
10260 10689
10261 try { 10690 try {
10262 // InternalSolverLanguageParser.g:3216:1: ( rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ) 10691 // InternalSolverLanguageParser.g:3366:1: ( ( ( rule__MetricDefinition__BodyAssignment_3 ) ) )
10263 // InternalSolverLanguageParser.g:3217:2: rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 10692 // InternalSolverLanguageParser.g:3367:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) )
10264 { 10693 {
10265 pushFollow(FOLLOW_13); 10694 // InternalSolverLanguageParser.g:3367:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) )
10266 rule__MetricDefinition__Group__1__Impl(); 10695 // InternalSolverLanguageParser.g:3368:2: ( rule__MetricDefinition__BodyAssignment_3 )
10696 {
10697 before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3());
10698 // InternalSolverLanguageParser.g:3369:2: ( rule__MetricDefinition__BodyAssignment_3 )
10699 // InternalSolverLanguageParser.g:3369:3: rule__MetricDefinition__BodyAssignment_3
10700 {
10701 pushFollow(FOLLOW_2);
10702 rule__MetricDefinition__BodyAssignment_3();
10267 10703
10268 state._fsp--; 10704 state._fsp--;
10269 10705
10270 pushFollow(FOLLOW_2);
10271 rule__MetricDefinition__Group__2();
10272 10706
10273 state._fsp--; 10707 }
10708
10709 after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3());
10710
10711 }
10274 10712
10275 10713
10276 } 10714 }
@@ -10287,35 +10725,63 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10287 } 10725 }
10288 return ; 10726 return ;
10289 } 10727 }
10290 // $ANTLR end "rule__MetricDefinition__Group__1" 10728 // $ANTLR end "rule__MetricDefinition__Group__3__Impl"
10291 10729
10292 10730
10293 // $ANTLR start "rule__MetricDefinition__Group__1__Impl" 10731 // $ANTLR start "rule__ExternPredicateDefinition__Group__0"
10294 // InternalSolverLanguageParser.g:3224:1: rule__MetricDefinition__Group__1__Impl : ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ; 10732 // InternalSolverLanguageParser.g:3378:1: rule__ExternPredicateDefinition__Group__0 : rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ;
10295 public final void rule__MetricDefinition__Group__1__Impl() throws RecognitionException { 10733 public final void rule__ExternPredicateDefinition__Group__0() throws RecognitionException {
10296 10734
10297 int stackSize = keepStackSize(); 10735 int stackSize = keepStackSize();
10298 10736
10299 try { 10737 try {
10300 // InternalSolverLanguageParser.g:3228:1: ( ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ) 10738 // InternalSolverLanguageParser.g:3382:1: ( rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 )
10301 // InternalSolverLanguageParser.g:3229:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) ) 10739 // InternalSolverLanguageParser.g:3383:2: rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1
10302 {
10303 // InternalSolverLanguageParser.g:3229:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) )
10304 // InternalSolverLanguageParser.g:3230:2: ( rule__MetricDefinition__HeadAssignment_1 )
10305 {
10306 before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1());
10307 // InternalSolverLanguageParser.g:3231:2: ( rule__MetricDefinition__HeadAssignment_1 )
10308 // InternalSolverLanguageParser.g:3231:3: rule__MetricDefinition__HeadAssignment_1
10309 { 10740 {
10741 pushFollow(FOLLOW_9);
10742 rule__ExternPredicateDefinition__Group__0__Impl();
10743
10744 state._fsp--;
10745
10310 pushFollow(FOLLOW_2); 10746 pushFollow(FOLLOW_2);
10311 rule__MetricDefinition__HeadAssignment_1(); 10747 rule__ExternPredicateDefinition__Group__1();
10312 10748
10313 state._fsp--; 10749 state._fsp--;
10314 10750
10315 10751
10316 } 10752 }
10317 10753
10318 after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); 10754 }
10755 catch (RecognitionException re) {
10756 reportError(re);
10757 recover(input,re);
10758 }
10759 finally {
10760
10761 restoreStackSize(stackSize);
10762
10763 }
10764 return ;
10765 }
10766 // $ANTLR end "rule__ExternPredicateDefinition__Group__0"
10767
10768
10769 // $ANTLR start "rule__ExternPredicateDefinition__Group__0__Impl"
10770 // InternalSolverLanguageParser.g:3390:1: rule__ExternPredicateDefinition__Group__0__Impl : ( Extern ) ;
10771 public final void rule__ExternPredicateDefinition__Group__0__Impl() throws RecognitionException {
10772
10773 int stackSize = keepStackSize();
10774
10775 try {
10776 // InternalSolverLanguageParser.g:3394:1: ( ( Extern ) )
10777 // InternalSolverLanguageParser.g:3395:1: ( Extern )
10778 {
10779 // InternalSolverLanguageParser.g:3395:1: ( Extern )
10780 // InternalSolverLanguageParser.g:3396:2: Extern
10781 {
10782 before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
10783 match(input,Extern,FOLLOW_2);
10784 after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
10319 10785
10320 } 10786 }
10321 10787
@@ -10334,26 +10800,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10334 } 10800 }
10335 return ; 10801 return ;
10336 } 10802 }
10337 // $ANTLR end "rule__MetricDefinition__Group__1__Impl" 10803 // $ANTLR end "rule__ExternPredicateDefinition__Group__0__Impl"
10338 10804
10339 10805
10340 // $ANTLR start "rule__MetricDefinition__Group__2" 10806 // $ANTLR start "rule__ExternPredicateDefinition__Group__1"
10341 // InternalSolverLanguageParser.g:3239:1: rule__MetricDefinition__Group__2 : rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ; 10807 // InternalSolverLanguageParser.g:3405:1: rule__ExternPredicateDefinition__Group__1 : rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 ;
10342 public final void rule__MetricDefinition__Group__2() throws RecognitionException { 10808 public final void rule__ExternPredicateDefinition__Group__1() throws RecognitionException {
10343 10809
10344 int stackSize = keepStackSize(); 10810 int stackSize = keepStackSize();
10345 10811
10346 try { 10812 try {
10347 // InternalSolverLanguageParser.g:3243:1: ( rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ) 10813 // InternalSolverLanguageParser.g:3409:1: ( rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 )
10348 // InternalSolverLanguageParser.g:3244:2: rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 10814 // InternalSolverLanguageParser.g:3410:2: rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2
10349 { 10815 {
10350 pushFollow(FOLLOW_7); 10816 pushFollow(FOLLOW_12);
10351 rule__MetricDefinition__Group__2__Impl(); 10817 rule__ExternPredicateDefinition__Group__1__Impl();
10352 10818
10353 state._fsp--; 10819 state._fsp--;
10354 10820
10355 pushFollow(FOLLOW_2); 10821 pushFollow(FOLLOW_2);
10356 rule__MetricDefinition__Group__3(); 10822 rule__ExternPredicateDefinition__Group__2();
10357 10823
10358 state._fsp--; 10824 state._fsp--;
10359 10825
@@ -10372,25 +10838,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10372 } 10838 }
10373 return ; 10839 return ;
10374 } 10840 }
10375 // $ANTLR end "rule__MetricDefinition__Group__2" 10841 // $ANTLR end "rule__ExternPredicateDefinition__Group__1"
10376 10842
10377 10843
10378 // $ANTLR start "rule__MetricDefinition__Group__2__Impl" 10844 // $ANTLR start "rule__ExternPredicateDefinition__Group__1__Impl"
10379 // InternalSolverLanguageParser.g:3251:1: rule__MetricDefinition__Group__2__Impl : ( EqualsSign ) ; 10845 // InternalSolverLanguageParser.g:3417:1: rule__ExternPredicateDefinition__Group__1__Impl : ( ( rule__ExternPredicateDefinition__NameAssignment_1 ) ) ;
10380 public final void rule__MetricDefinition__Group__2__Impl() throws RecognitionException { 10846 public final void rule__ExternPredicateDefinition__Group__1__Impl() throws RecognitionException {
10381 10847
10382 int stackSize = keepStackSize(); 10848 int stackSize = keepStackSize();
10383 10849
10384 try { 10850 try {
10385 // InternalSolverLanguageParser.g:3255:1: ( ( EqualsSign ) ) 10851 // InternalSolverLanguageParser.g:3421:1: ( ( ( rule__ExternPredicateDefinition__NameAssignment_1 ) ) )
10386 // InternalSolverLanguageParser.g:3256:1: ( EqualsSign ) 10852 // InternalSolverLanguageParser.g:3422:1: ( ( rule__ExternPredicateDefinition__NameAssignment_1 ) )
10387 { 10853 {
10388 // InternalSolverLanguageParser.g:3256:1: ( EqualsSign ) 10854 // InternalSolverLanguageParser.g:3422:1: ( ( rule__ExternPredicateDefinition__NameAssignment_1 ) )
10389 // InternalSolverLanguageParser.g:3257:2: EqualsSign 10855 // InternalSolverLanguageParser.g:3423:2: ( rule__ExternPredicateDefinition__NameAssignment_1 )
10390 { 10856 {
10391 before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 10857 before(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1());
10392 match(input,EqualsSign,FOLLOW_2); 10858 // InternalSolverLanguageParser.g:3424:2: ( rule__ExternPredicateDefinition__NameAssignment_1 )
10393 after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 10859 // InternalSolverLanguageParser.g:3424:3: rule__ExternPredicateDefinition__NameAssignment_1
10860 {
10861 pushFollow(FOLLOW_2);
10862 rule__ExternPredicateDefinition__NameAssignment_1();
10863
10864 state._fsp--;
10865
10866
10867 }
10868
10869 after(grammarAccess.getExternPredicateDefinitionAccess().getNameAssignment_1());
10394 10870
10395 } 10871 }
10396 10872
@@ -10409,21 +10885,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10409 } 10885 }
10410 return ; 10886 return ;
10411 } 10887 }
10412 // $ANTLR end "rule__MetricDefinition__Group__2__Impl" 10888 // $ANTLR end "rule__ExternPredicateDefinition__Group__1__Impl"
10413 10889
10414 10890
10415 // $ANTLR start "rule__MetricDefinition__Group__3" 10891 // $ANTLR start "rule__ExternPredicateDefinition__Group__2"
10416 // InternalSolverLanguageParser.g:3266:1: rule__MetricDefinition__Group__3 : rule__MetricDefinition__Group__3__Impl ; 10892 // InternalSolverLanguageParser.g:3432:1: rule__ExternPredicateDefinition__Group__2 : rule__ExternPredicateDefinition__Group__2__Impl ;
10417 public final void rule__MetricDefinition__Group__3() throws RecognitionException { 10893 public final void rule__ExternPredicateDefinition__Group__2() throws RecognitionException {
10418 10894
10419 int stackSize = keepStackSize(); 10895 int stackSize = keepStackSize();
10420 10896
10421 try { 10897 try {
10422 // InternalSolverLanguageParser.g:3270:1: ( rule__MetricDefinition__Group__3__Impl ) 10898 // InternalSolverLanguageParser.g:3436:1: ( rule__ExternPredicateDefinition__Group__2__Impl )
10423 // InternalSolverLanguageParser.g:3271:2: rule__MetricDefinition__Group__3__Impl 10899 // InternalSolverLanguageParser.g:3437:2: rule__ExternPredicateDefinition__Group__2__Impl
10424 { 10900 {
10425 pushFollow(FOLLOW_2); 10901 pushFollow(FOLLOW_2);
10426 rule__MetricDefinition__Group__3__Impl(); 10902 rule__ExternPredicateDefinition__Group__2__Impl();
10427 10903
10428 state._fsp--; 10904 state._fsp--;
10429 10905
@@ -10442,35 +10918,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10442 } 10918 }
10443 return ; 10919 return ;
10444 } 10920 }
10445 // $ANTLR end "rule__MetricDefinition__Group__3" 10921 // $ANTLR end "rule__ExternPredicateDefinition__Group__2"
10446 10922
10447 10923
10448 // $ANTLR start "rule__MetricDefinition__Group__3__Impl" 10924 // $ANTLR start "rule__ExternPredicateDefinition__Group__2__Impl"
10449 // InternalSolverLanguageParser.g:3277:1: rule__MetricDefinition__Group__3__Impl : ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ; 10925 // InternalSolverLanguageParser.g:3443:1: rule__ExternPredicateDefinition__Group__2__Impl : ( ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 ) ) ;
10450 public final void rule__MetricDefinition__Group__3__Impl() throws RecognitionException { 10926 public final void rule__ExternPredicateDefinition__Group__2__Impl() throws RecognitionException {
10451 10927
10452 int stackSize = keepStackSize(); 10928 int stackSize = keepStackSize();
10453 10929
10454 try { 10930 try {
10455 // InternalSolverLanguageParser.g:3281:1: ( ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ) 10931 // InternalSolverLanguageParser.g:3447:1: ( ( ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 ) ) )
10456 // InternalSolverLanguageParser.g:3282:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) ) 10932 // InternalSolverLanguageParser.g:3448:1: ( ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 ) )
10457 { 10933 {
10458 // InternalSolverLanguageParser.g:3282:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) ) 10934 // InternalSolverLanguageParser.g:3448:1: ( ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 ) )
10459 // InternalSolverLanguageParser.g:3283:2: ( rule__MetricDefinition__BodyAssignment_3 ) 10935 // InternalSolverLanguageParser.g:3449:2: ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 )
10460 { 10936 {
10461 before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); 10937 before(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2());
10462 // InternalSolverLanguageParser.g:3284:2: ( rule__MetricDefinition__BodyAssignment_3 ) 10938 // InternalSolverLanguageParser.g:3450:2: ( rule__ExternPredicateDefinition__ArgumentListAssignment_2 )
10463 // InternalSolverLanguageParser.g:3284:3: rule__MetricDefinition__BodyAssignment_3 10939 // InternalSolverLanguageParser.g:3450:3: rule__ExternPredicateDefinition__ArgumentListAssignment_2
10464 { 10940 {
10465 pushFollow(FOLLOW_2); 10941 pushFollow(FOLLOW_2);
10466 rule__MetricDefinition__BodyAssignment_3(); 10942 rule__ExternPredicateDefinition__ArgumentListAssignment_2();
10467 10943
10468 state._fsp--; 10944 state._fsp--;
10469 10945
10470 10946
10471 } 10947 }
10472 10948
10473 after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); 10949 after(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListAssignment_2());
10474 10950
10475 } 10951 }
10476 10952
@@ -10489,20 +10965,20 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10489 } 10965 }
10490 return ; 10966 return ;
10491 } 10967 }
10492 // $ANTLR end "rule__MetricDefinition__Group__3__Impl" 10968 // $ANTLR end "rule__ExternPredicateDefinition__Group__2__Impl"
10493 10969
10494 10970
10495 // $ANTLR start "rule__ExternMetricDefinition__Group__0" 10971 // $ANTLR start "rule__ExternMetricDefinition__Group__0"
10496 // InternalSolverLanguageParser.g:3293:1: rule__ExternMetricDefinition__Group__0 : rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ; 10972 // InternalSolverLanguageParser.g:3459:1: rule__ExternMetricDefinition__Group__0 : rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ;
10497 public final void rule__ExternMetricDefinition__Group__0() throws RecognitionException { 10973 public final void rule__ExternMetricDefinition__Group__0() throws RecognitionException {
10498 10974
10499 int stackSize = keepStackSize(); 10975 int stackSize = keepStackSize();
10500 10976
10501 try { 10977 try {
10502 // InternalSolverLanguageParser.g:3297:1: ( rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ) 10978 // InternalSolverLanguageParser.g:3463:1: ( rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 )
10503 // InternalSolverLanguageParser.g:3298:2: rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 10979 // InternalSolverLanguageParser.g:3464:2: rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1
10504 { 10980 {
10505 pushFollow(FOLLOW_14); 10981 pushFollow(FOLLOW_9);
10506 rule__ExternMetricDefinition__Group__0__Impl(); 10982 rule__ExternMetricDefinition__Group__0__Impl();
10507 10983
10508 state._fsp--; 10984 state._fsp--;
@@ -10531,17 +11007,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10531 11007
10532 11008
10533 // $ANTLR start "rule__ExternMetricDefinition__Group__0__Impl" 11009 // $ANTLR start "rule__ExternMetricDefinition__Group__0__Impl"
10534 // InternalSolverLanguageParser.g:3305:1: rule__ExternMetricDefinition__Group__0__Impl : ( Extern ) ; 11010 // InternalSolverLanguageParser.g:3471:1: rule__ExternMetricDefinition__Group__0__Impl : ( Extern ) ;
10535 public final void rule__ExternMetricDefinition__Group__0__Impl() throws RecognitionException { 11011 public final void rule__ExternMetricDefinition__Group__0__Impl() throws RecognitionException {
10536 11012
10537 int stackSize = keepStackSize(); 11013 int stackSize = keepStackSize();
10538 11014
10539 try { 11015 try {
10540 // InternalSolverLanguageParser.g:3309:1: ( ( Extern ) ) 11016 // InternalSolverLanguageParser.g:3475:1: ( ( Extern ) )
10541 // InternalSolverLanguageParser.g:3310:1: ( Extern ) 11017 // InternalSolverLanguageParser.g:3476:1: ( Extern )
10542 { 11018 {
10543 // InternalSolverLanguageParser.g:3310:1: ( Extern ) 11019 // InternalSolverLanguageParser.g:3476:1: ( Extern )
10544 // InternalSolverLanguageParser.g:3311:2: Extern 11020 // InternalSolverLanguageParser.g:3477:2: Extern
10545 { 11021 {
10546 before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 11022 before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
10547 match(input,Extern,FOLLOW_2); 11023 match(input,Extern,FOLLOW_2);
@@ -10568,14 +11044,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10568 11044
10569 11045
10570 // $ANTLR start "rule__ExternMetricDefinition__Group__1" 11046 // $ANTLR start "rule__ExternMetricDefinition__Group__1"
10571 // InternalSolverLanguageParser.g:3320:1: rule__ExternMetricDefinition__Group__1 : rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ; 11047 // InternalSolverLanguageParser.g:3486:1: rule__ExternMetricDefinition__Group__1 : rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ;
10572 public final void rule__ExternMetricDefinition__Group__1() throws RecognitionException { 11048 public final void rule__ExternMetricDefinition__Group__1() throws RecognitionException {
10573 11049
10574 int stackSize = keepStackSize(); 11050 int stackSize = keepStackSize();
10575 11051
10576 try { 11052 try {
10577 // InternalSolverLanguageParser.g:3324:1: ( rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ) 11053 // InternalSolverLanguageParser.g:3490:1: ( rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 )
10578 // InternalSolverLanguageParser.g:3325:2: rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 11054 // InternalSolverLanguageParser.g:3491:2: rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2
10579 { 11055 {
10580 pushFollow(FOLLOW_9); 11056 pushFollow(FOLLOW_9);
10581 rule__ExternMetricDefinition__Group__1__Impl(); 11057 rule__ExternMetricDefinition__Group__1__Impl();
@@ -10606,21 +11082,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10606 11082
10607 11083
10608 // $ANTLR start "rule__ExternMetricDefinition__Group__1__Impl" 11084 // $ANTLR start "rule__ExternMetricDefinition__Group__1__Impl"
10609 // InternalSolverLanguageParser.g:3332:1: rule__ExternMetricDefinition__Group__1__Impl : ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ; 11085 // InternalSolverLanguageParser.g:3498:1: rule__ExternMetricDefinition__Group__1__Impl : ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ;
10610 public final void rule__ExternMetricDefinition__Group__1__Impl() throws RecognitionException { 11086 public final void rule__ExternMetricDefinition__Group__1__Impl() throws RecognitionException {
10611 11087
10612 int stackSize = keepStackSize(); 11088 int stackSize = keepStackSize();
10613 11089
10614 try { 11090 try {
10615 // InternalSolverLanguageParser.g:3336:1: ( ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ) 11091 // InternalSolverLanguageParser.g:3502:1: ( ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) )
10616 // InternalSolverLanguageParser.g:3337:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) 11092 // InternalSolverLanguageParser.g:3503:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) )
10617 { 11093 {
10618 // InternalSolverLanguageParser.g:3337:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) 11094 // InternalSolverLanguageParser.g:3503:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) )
10619 // InternalSolverLanguageParser.g:3338:2: ( rule__ExternMetricDefinition__TypeAssignment_1 ) 11095 // InternalSolverLanguageParser.g:3504:2: ( rule__ExternMetricDefinition__TypeAssignment_1 )
10620 { 11096 {
10621 before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); 11097 before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1());
10622 // InternalSolverLanguageParser.g:3339:2: ( rule__ExternMetricDefinition__TypeAssignment_1 ) 11098 // InternalSolverLanguageParser.g:3505:2: ( rule__ExternMetricDefinition__TypeAssignment_1 )
10623 // InternalSolverLanguageParser.g:3339:3: rule__ExternMetricDefinition__TypeAssignment_1 11099 // InternalSolverLanguageParser.g:3505:3: rule__ExternMetricDefinition__TypeAssignment_1
10624 { 11100 {
10625 pushFollow(FOLLOW_2); 11101 pushFollow(FOLLOW_2);
10626 rule__ExternMetricDefinition__TypeAssignment_1(); 11102 rule__ExternMetricDefinition__TypeAssignment_1();
@@ -10653,20 +11129,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10653 11129
10654 11130
10655 // $ANTLR start "rule__ExternMetricDefinition__Group__2" 11131 // $ANTLR start "rule__ExternMetricDefinition__Group__2"
10656 // InternalSolverLanguageParser.g:3347:1: rule__ExternMetricDefinition__Group__2 : rule__ExternMetricDefinition__Group__2__Impl ; 11132 // InternalSolverLanguageParser.g:3513:1: rule__ExternMetricDefinition__Group__2 : rule__ExternMetricDefinition__Group__2__Impl rule__ExternMetricDefinition__Group__3 ;
10657 public final void rule__ExternMetricDefinition__Group__2() throws RecognitionException { 11133 public final void rule__ExternMetricDefinition__Group__2() throws RecognitionException {
10658 11134
10659 int stackSize = keepStackSize(); 11135 int stackSize = keepStackSize();
10660 11136
10661 try { 11137 try {
10662 // InternalSolverLanguageParser.g:3351:1: ( rule__ExternMetricDefinition__Group__2__Impl ) 11138 // InternalSolverLanguageParser.g:3517:1: ( rule__ExternMetricDefinition__Group__2__Impl rule__ExternMetricDefinition__Group__3 )
10663 // InternalSolverLanguageParser.g:3352:2: rule__ExternMetricDefinition__Group__2__Impl 11139 // InternalSolverLanguageParser.g:3518:2: rule__ExternMetricDefinition__Group__2__Impl rule__ExternMetricDefinition__Group__3
10664 { 11140 {
10665 pushFollow(FOLLOW_2); 11141 pushFollow(FOLLOW_12);
10666 rule__ExternMetricDefinition__Group__2__Impl(); 11142 rule__ExternMetricDefinition__Group__2__Impl();
10667 11143
10668 state._fsp--; 11144 state._fsp--;
10669 11145
11146 pushFollow(FOLLOW_2);
11147 rule__ExternMetricDefinition__Group__3();
11148
11149 state._fsp--;
11150
10670 11151
10671 } 11152 }
10672 11153
@@ -10686,31 +11167,31 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10686 11167
10687 11168
10688 // $ANTLR start "rule__ExternMetricDefinition__Group__2__Impl" 11169 // $ANTLR start "rule__ExternMetricDefinition__Group__2__Impl"
10689 // InternalSolverLanguageParser.g:3358:1: rule__ExternMetricDefinition__Group__2__Impl : ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) ; 11170 // InternalSolverLanguageParser.g:3525:1: rule__ExternMetricDefinition__Group__2__Impl : ( ( rule__ExternMetricDefinition__NameAssignment_2 ) ) ;
10690 public final void rule__ExternMetricDefinition__Group__2__Impl() throws RecognitionException { 11171 public final void rule__ExternMetricDefinition__Group__2__Impl() throws RecognitionException {
10691 11172
10692 int stackSize = keepStackSize(); 11173 int stackSize = keepStackSize();
10693 11174
10694 try { 11175 try {
10695 // InternalSolverLanguageParser.g:3362:1: ( ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) ) 11176 // InternalSolverLanguageParser.g:3529:1: ( ( ( rule__ExternMetricDefinition__NameAssignment_2 ) ) )
10696 // InternalSolverLanguageParser.g:3363:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) 11177 // InternalSolverLanguageParser.g:3530:1: ( ( rule__ExternMetricDefinition__NameAssignment_2 ) )
10697 { 11178 {
10698 // InternalSolverLanguageParser.g:3363:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) 11179 // InternalSolverLanguageParser.g:3530:1: ( ( rule__ExternMetricDefinition__NameAssignment_2 ) )
10699 // InternalSolverLanguageParser.g:3364:2: ( rule__ExternMetricDefinition__HeadAssignment_2 ) 11180 // InternalSolverLanguageParser.g:3531:2: ( rule__ExternMetricDefinition__NameAssignment_2 )
10700 { 11181 {
10701 before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); 11182 before(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2());
10702 // InternalSolverLanguageParser.g:3365:2: ( rule__ExternMetricDefinition__HeadAssignment_2 ) 11183 // InternalSolverLanguageParser.g:3532:2: ( rule__ExternMetricDefinition__NameAssignment_2 )
10703 // InternalSolverLanguageParser.g:3365:3: rule__ExternMetricDefinition__HeadAssignment_2 11184 // InternalSolverLanguageParser.g:3532:3: rule__ExternMetricDefinition__NameAssignment_2
10704 { 11185 {
10705 pushFollow(FOLLOW_2); 11186 pushFollow(FOLLOW_2);
10706 rule__ExternMetricDefinition__HeadAssignment_2(); 11187 rule__ExternMetricDefinition__NameAssignment_2();
10707 11188
10708 state._fsp--; 11189 state._fsp--;
10709 11190
10710 11191
10711 } 11192 }
10712 11193
10713 after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); 11194 after(grammarAccess.getExternMetricDefinitionAccess().getNameAssignment_2());
10714 11195
10715 } 11196 }
10716 11197
@@ -10732,15 +11213,1556 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10732 // $ANTLR end "rule__ExternMetricDefinition__Group__2__Impl" 11213 // $ANTLR end "rule__ExternMetricDefinition__Group__2__Impl"
10733 11214
10734 11215
11216 // $ANTLR start "rule__ExternMetricDefinition__Group__3"
11217 // InternalSolverLanguageParser.g:3540:1: rule__ExternMetricDefinition__Group__3 : rule__ExternMetricDefinition__Group__3__Impl ;
11218 public final void rule__ExternMetricDefinition__Group__3() throws RecognitionException {
11219
11220 int stackSize = keepStackSize();
11221
11222 try {
11223 // InternalSolverLanguageParser.g:3544:1: ( rule__ExternMetricDefinition__Group__3__Impl )
11224 // InternalSolverLanguageParser.g:3545:2: rule__ExternMetricDefinition__Group__3__Impl
11225 {
11226 pushFollow(FOLLOW_2);
11227 rule__ExternMetricDefinition__Group__3__Impl();
11228
11229 state._fsp--;
11230
11231
11232 }
11233
11234 }
11235 catch (RecognitionException re) {
11236 reportError(re);
11237 recover(input,re);
11238 }
11239 finally {
11240
11241 restoreStackSize(stackSize);
11242
11243 }
11244 return ;
11245 }
11246 // $ANTLR end "rule__ExternMetricDefinition__Group__3"
11247
11248
11249 // $ANTLR start "rule__ExternMetricDefinition__Group__3__Impl"
11250 // InternalSolverLanguageParser.g:3551:1: rule__ExternMetricDefinition__Group__3__Impl : ( ( rule__ExternMetricDefinition__ArgumentListAssignment_3 ) ) ;
11251 public final void rule__ExternMetricDefinition__Group__3__Impl() throws RecognitionException {
11252
11253 int stackSize = keepStackSize();
11254
11255 try {
11256 // InternalSolverLanguageParser.g:3555:1: ( ( ( rule__ExternMetricDefinition__ArgumentListAssignment_3 ) ) )
11257 // InternalSolverLanguageParser.g:3556:1: ( ( rule__ExternMetricDefinition__ArgumentListAssignment_3 ) )
11258 {
11259 // InternalSolverLanguageParser.g:3556:1: ( ( rule__ExternMetricDefinition__ArgumentListAssignment_3 ) )
11260 // InternalSolverLanguageParser.g:3557:2: ( rule__ExternMetricDefinition__ArgumentListAssignment_3 )
11261 {
11262 before(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3());
11263 // InternalSolverLanguageParser.g:3558:2: ( rule__ExternMetricDefinition__ArgumentListAssignment_3 )
11264 // InternalSolverLanguageParser.g:3558:3: rule__ExternMetricDefinition__ArgumentListAssignment_3
11265 {
11266 pushFollow(FOLLOW_2);
11267 rule__ExternMetricDefinition__ArgumentListAssignment_3();
11268
11269 state._fsp--;
11270
11271
11272 }
11273
11274 after(grammarAccess.getExternMetricDefinitionAccess().getArgumentListAssignment_3());
11275
11276 }
11277
11278
11279 }
11280
11281 }
11282 catch (RecognitionException re) {
11283 reportError(re);
11284 recover(input,re);
11285 }
11286 finally {
11287
11288 restoreStackSize(stackSize);
11289
11290 }
11291 return ;
11292 }
11293 // $ANTLR end "rule__ExternMetricDefinition__Group__3__Impl"
11294
11295
11296 // $ANTLR start "rule__ExternAggregatorDefinition__Group__0"
11297 // InternalSolverLanguageParser.g:3567:1: rule__ExternAggregatorDefinition__Group__0 : rule__ExternAggregatorDefinition__Group__0__Impl rule__ExternAggregatorDefinition__Group__1 ;
11298 public final void rule__ExternAggregatorDefinition__Group__0() throws RecognitionException {
11299
11300 int stackSize = keepStackSize();
11301
11302 try {
11303 // InternalSolverLanguageParser.g:3571:1: ( rule__ExternAggregatorDefinition__Group__0__Impl rule__ExternAggregatorDefinition__Group__1 )
11304 // InternalSolverLanguageParser.g:3572:2: rule__ExternAggregatorDefinition__Group__0__Impl rule__ExternAggregatorDefinition__Group__1
11305 {
11306 pushFollow(FOLLOW_9);
11307 rule__ExternAggregatorDefinition__Group__0__Impl();
11308
11309 state._fsp--;
11310
11311 pushFollow(FOLLOW_2);
11312 rule__ExternAggregatorDefinition__Group__1();
11313
11314 state._fsp--;
11315
11316
11317 }
11318
11319 }
11320 catch (RecognitionException re) {
11321 reportError(re);
11322 recover(input,re);
11323 }
11324 finally {
11325
11326 restoreStackSize(stackSize);
11327
11328 }
11329 return ;
11330 }
11331 // $ANTLR end "rule__ExternAggregatorDefinition__Group__0"
11332
11333
11334 // $ANTLR start "rule__ExternAggregatorDefinition__Group__0__Impl"
11335 // InternalSolverLanguageParser.g:3579:1: rule__ExternAggregatorDefinition__Group__0__Impl : ( Extern ) ;
11336 public final void rule__ExternAggregatorDefinition__Group__0__Impl() throws RecognitionException {
11337
11338 int stackSize = keepStackSize();
11339
11340 try {
11341 // InternalSolverLanguageParser.g:3583:1: ( ( Extern ) )
11342 // InternalSolverLanguageParser.g:3584:1: ( Extern )
11343 {
11344 // InternalSolverLanguageParser.g:3584:1: ( Extern )
11345 // InternalSolverLanguageParser.g:3585:2: Extern
11346 {
11347 before(grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
11348 match(input,Extern,FOLLOW_2);
11349 after(grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
11350
11351 }
11352
11353
11354 }
11355
11356 }
11357 catch (RecognitionException re) {
11358 reportError(re);
11359 recover(input,re);
11360 }
11361 finally {
11362
11363 restoreStackSize(stackSize);
11364
11365 }
11366 return ;
11367 }
11368 // $ANTLR end "rule__ExternAggregatorDefinition__Group__0__Impl"
11369
11370
11371 // $ANTLR start "rule__ExternAggregatorDefinition__Group__1"
11372 // InternalSolverLanguageParser.g:3594:1: rule__ExternAggregatorDefinition__Group__1 : rule__ExternAggregatorDefinition__Group__1__Impl rule__ExternAggregatorDefinition__Group__2 ;
11373 public final void rule__ExternAggregatorDefinition__Group__1() throws RecognitionException {
11374
11375 int stackSize = keepStackSize();
11376
11377 try {
11378 // InternalSolverLanguageParser.g:3598:1: ( rule__ExternAggregatorDefinition__Group__1__Impl rule__ExternAggregatorDefinition__Group__2 )
11379 // InternalSolverLanguageParser.g:3599:2: rule__ExternAggregatorDefinition__Group__1__Impl rule__ExternAggregatorDefinition__Group__2
11380 {
11381 pushFollow(FOLLOW_9);
11382 rule__ExternAggregatorDefinition__Group__1__Impl();
11383
11384 state._fsp--;
11385
11386 pushFollow(FOLLOW_2);
11387 rule__ExternAggregatorDefinition__Group__2();
11388
11389 state._fsp--;
11390
11391
11392 }
11393
11394 }
11395 catch (RecognitionException re) {
11396 reportError(re);
11397 recover(input,re);
11398 }
11399 finally {
11400
11401 restoreStackSize(stackSize);
11402
11403 }
11404 return ;
11405 }
11406 // $ANTLR end "rule__ExternAggregatorDefinition__Group__1"
11407
11408
11409 // $ANTLR start "rule__ExternAggregatorDefinition__Group__1__Impl"
11410 // InternalSolverLanguageParser.g:3606:1: rule__ExternAggregatorDefinition__Group__1__Impl : ( ( rule__ExternAggregatorDefinition__TypeAssignment_1 ) ) ;
11411 public final void rule__ExternAggregatorDefinition__Group__1__Impl() throws RecognitionException {
11412
11413 int stackSize = keepStackSize();
11414
11415 try {
11416 // InternalSolverLanguageParser.g:3610:1: ( ( ( rule__ExternAggregatorDefinition__TypeAssignment_1 ) ) )
11417 // InternalSolverLanguageParser.g:3611:1: ( ( rule__ExternAggregatorDefinition__TypeAssignment_1 ) )
11418 {
11419 // InternalSolverLanguageParser.g:3611:1: ( ( rule__ExternAggregatorDefinition__TypeAssignment_1 ) )
11420 // InternalSolverLanguageParser.g:3612:2: ( rule__ExternAggregatorDefinition__TypeAssignment_1 )
11421 {
11422 before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1());
11423 // InternalSolverLanguageParser.g:3613:2: ( rule__ExternAggregatorDefinition__TypeAssignment_1 )
11424 // InternalSolverLanguageParser.g:3613:3: rule__ExternAggregatorDefinition__TypeAssignment_1
11425 {
11426 pushFollow(FOLLOW_2);
11427 rule__ExternAggregatorDefinition__TypeAssignment_1();
11428
11429 state._fsp--;
11430
11431
11432 }
11433
11434 after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeAssignment_1());
11435
11436 }
11437
11438
11439 }
11440
11441 }
11442 catch (RecognitionException re) {
11443 reportError(re);
11444 recover(input,re);
11445 }
11446 finally {
11447
11448 restoreStackSize(stackSize);
11449
11450 }
11451 return ;
11452 }
11453 // $ANTLR end "rule__ExternAggregatorDefinition__Group__1__Impl"
11454
11455
11456 // $ANTLR start "rule__ExternAggregatorDefinition__Group__2"
11457 // InternalSolverLanguageParser.g:3621:1: rule__ExternAggregatorDefinition__Group__2 : rule__ExternAggregatorDefinition__Group__2__Impl rule__ExternAggregatorDefinition__Group__3 ;
11458 public final void rule__ExternAggregatorDefinition__Group__2() throws RecognitionException {
11459
11460 int stackSize = keepStackSize();
11461
11462 try {
11463 // InternalSolverLanguageParser.g:3625:1: ( rule__ExternAggregatorDefinition__Group__2__Impl rule__ExternAggregatorDefinition__Group__3 )
11464 // InternalSolverLanguageParser.g:3626:2: rule__ExternAggregatorDefinition__Group__2__Impl rule__ExternAggregatorDefinition__Group__3
11465 {
11466 pushFollow(FOLLOW_14);
11467 rule__ExternAggregatorDefinition__Group__2__Impl();
11468
11469 state._fsp--;
11470
11471 pushFollow(FOLLOW_2);
11472 rule__ExternAggregatorDefinition__Group__3();
11473
11474 state._fsp--;
11475
11476
11477 }
11478
11479 }
11480 catch (RecognitionException re) {
11481 reportError(re);
11482 recover(input,re);
11483 }
11484 finally {
11485
11486 restoreStackSize(stackSize);
11487
11488 }
11489 return ;
11490 }
11491 // $ANTLR end "rule__ExternAggregatorDefinition__Group__2"
11492
11493
11494 // $ANTLR start "rule__ExternAggregatorDefinition__Group__2__Impl"
11495 // InternalSolverLanguageParser.g:3633:1: rule__ExternAggregatorDefinition__Group__2__Impl : ( ( rule__ExternAggregatorDefinition__NameAssignment_2 ) ) ;
11496 public final void rule__ExternAggregatorDefinition__Group__2__Impl() throws RecognitionException {
11497
11498 int stackSize = keepStackSize();
11499
11500 try {
11501 // InternalSolverLanguageParser.g:3637:1: ( ( ( rule__ExternAggregatorDefinition__NameAssignment_2 ) ) )
11502 // InternalSolverLanguageParser.g:3638:1: ( ( rule__ExternAggregatorDefinition__NameAssignment_2 ) )
11503 {
11504 // InternalSolverLanguageParser.g:3638:1: ( ( rule__ExternAggregatorDefinition__NameAssignment_2 ) )
11505 // InternalSolverLanguageParser.g:3639:2: ( rule__ExternAggregatorDefinition__NameAssignment_2 )
11506 {
11507 before(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2());
11508 // InternalSolverLanguageParser.g:3640:2: ( rule__ExternAggregatorDefinition__NameAssignment_2 )
11509 // InternalSolverLanguageParser.g:3640:3: rule__ExternAggregatorDefinition__NameAssignment_2
11510 {
11511 pushFollow(FOLLOW_2);
11512 rule__ExternAggregatorDefinition__NameAssignment_2();
11513
11514 state._fsp--;
11515
11516
11517 }
11518
11519 after(grammarAccess.getExternAggregatorDefinitionAccess().getNameAssignment_2());
11520
11521 }
11522
11523
11524 }
11525
11526 }
11527 catch (RecognitionException re) {
11528 reportError(re);
11529 recover(input,re);
11530 }
11531 finally {
11532
11533 restoreStackSize(stackSize);
11534
11535 }
11536 return ;
11537 }
11538 // $ANTLR end "rule__ExternAggregatorDefinition__Group__2__Impl"
11539
11540
11541 // $ANTLR start "rule__ExternAggregatorDefinition__Group__3"
11542 // InternalSolverLanguageParser.g:3648:1: rule__ExternAggregatorDefinition__Group__3 : rule__ExternAggregatorDefinition__Group__3__Impl rule__ExternAggregatorDefinition__Group__4 ;
11543 public final void rule__ExternAggregatorDefinition__Group__3() throws RecognitionException {
11544
11545 int stackSize = keepStackSize();
11546
11547 try {
11548 // InternalSolverLanguageParser.g:3652:1: ( rule__ExternAggregatorDefinition__Group__3__Impl rule__ExternAggregatorDefinition__Group__4 )
11549 // InternalSolverLanguageParser.g:3653:2: rule__ExternAggregatorDefinition__Group__3__Impl rule__ExternAggregatorDefinition__Group__4
11550 {
11551 pushFollow(FOLLOW_9);
11552 rule__ExternAggregatorDefinition__Group__3__Impl();
11553
11554 state._fsp--;
11555
11556 pushFollow(FOLLOW_2);
11557 rule__ExternAggregatorDefinition__Group__4();
11558
11559 state._fsp--;
11560
11561
11562 }
11563
11564 }
11565 catch (RecognitionException re) {
11566 reportError(re);
11567 recover(input,re);
11568 }
11569 finally {
11570
11571 restoreStackSize(stackSize);
11572
11573 }
11574 return ;
11575 }
11576 // $ANTLR end "rule__ExternAggregatorDefinition__Group__3"
11577
11578
11579 // $ANTLR start "rule__ExternAggregatorDefinition__Group__3__Impl"
11580 // InternalSolverLanguageParser.g:3660:1: rule__ExternAggregatorDefinition__Group__3__Impl : ( LeftCurlyBracket ) ;
11581 public final void rule__ExternAggregatorDefinition__Group__3__Impl() throws RecognitionException {
11582
11583 int stackSize = keepStackSize();
11584
11585 try {
11586 // InternalSolverLanguageParser.g:3664:1: ( ( LeftCurlyBracket ) )
11587 // InternalSolverLanguageParser.g:3665:1: ( LeftCurlyBracket )
11588 {
11589 // InternalSolverLanguageParser.g:3665:1: ( LeftCurlyBracket )
11590 // InternalSolverLanguageParser.g:3666:2: LeftCurlyBracket
11591 {
11592 before(grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
11593 match(input,LeftCurlyBracket,FOLLOW_2);
11594 after(grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
11595
11596 }
11597
11598
11599 }
11600
11601 }
11602 catch (RecognitionException re) {
11603 reportError(re);
11604 recover(input,re);
11605 }
11606 finally {
11607
11608 restoreStackSize(stackSize);
11609
11610 }
11611 return ;
11612 }
11613 // $ANTLR end "rule__ExternAggregatorDefinition__Group__3__Impl"
11614
11615
11616 // $ANTLR start "rule__ExternAggregatorDefinition__Group__4"
11617 // InternalSolverLanguageParser.g:3675:1: rule__ExternAggregatorDefinition__Group__4 : rule__ExternAggregatorDefinition__Group__4__Impl rule__ExternAggregatorDefinition__Group__5 ;
11618 public final void rule__ExternAggregatorDefinition__Group__4() throws RecognitionException {
11619
11620 int stackSize = keepStackSize();
11621
11622 try {
11623 // InternalSolverLanguageParser.g:3679:1: ( rule__ExternAggregatorDefinition__Group__4__Impl rule__ExternAggregatorDefinition__Group__5 )
11624 // InternalSolverLanguageParser.g:3680:2: rule__ExternAggregatorDefinition__Group__4__Impl rule__ExternAggregatorDefinition__Group__5
11625 {
11626 pushFollow(FOLLOW_15);
11627 rule__ExternAggregatorDefinition__Group__4__Impl();
11628
11629 state._fsp--;
11630
11631 pushFollow(FOLLOW_2);
11632 rule__ExternAggregatorDefinition__Group__5();
11633
11634 state._fsp--;
11635
11636
11637 }
11638
11639 }
11640 catch (RecognitionException re) {
11641 reportError(re);
11642 recover(input,re);
11643 }
11644 finally {
11645
11646 restoreStackSize(stackSize);
11647
11648 }
11649 return ;
11650 }
11651 // $ANTLR end "rule__ExternAggregatorDefinition__Group__4"
11652
11653
11654 // $ANTLR start "rule__ExternAggregatorDefinition__Group__4__Impl"
11655 // InternalSolverLanguageParser.g:3687:1: rule__ExternAggregatorDefinition__Group__4__Impl : ( ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 ) ) ;
11656 public final void rule__ExternAggregatorDefinition__Group__4__Impl() throws RecognitionException {
11657
11658 int stackSize = keepStackSize();
11659
11660 try {
11661 // InternalSolverLanguageParser.g:3691:1: ( ( ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 ) ) )
11662 // InternalSolverLanguageParser.g:3692:1: ( ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 ) )
11663 {
11664 // InternalSolverLanguageParser.g:3692:1: ( ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 ) )
11665 // InternalSolverLanguageParser.g:3693:2: ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 )
11666 {
11667 before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4());
11668 // InternalSolverLanguageParser.g:3694:2: ( rule__ExternAggregatorDefinition__InputTypeAssignment_4 )
11669 // InternalSolverLanguageParser.g:3694:3: rule__ExternAggregatorDefinition__InputTypeAssignment_4
11670 {
11671 pushFollow(FOLLOW_2);
11672 rule__ExternAggregatorDefinition__InputTypeAssignment_4();
11673
11674 state._fsp--;
11675
11676
11677 }
11678
11679 after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeAssignment_4());
11680
11681 }
11682
11683
11684 }
11685
11686 }
11687 catch (RecognitionException re) {
11688 reportError(re);
11689 recover(input,re);
11690 }
11691 finally {
11692
11693 restoreStackSize(stackSize);
11694
11695 }
11696 return ;
11697 }
11698 // $ANTLR end "rule__ExternAggregatorDefinition__Group__4__Impl"
11699
11700
11701 // $ANTLR start "rule__ExternAggregatorDefinition__Group__5"
11702 // InternalSolverLanguageParser.g:3702:1: rule__ExternAggregatorDefinition__Group__5 : rule__ExternAggregatorDefinition__Group__5__Impl rule__ExternAggregatorDefinition__Group__6 ;
11703 public final void rule__ExternAggregatorDefinition__Group__5() throws RecognitionException {
11704
11705 int stackSize = keepStackSize();
11706
11707 try {
11708 // InternalSolverLanguageParser.g:3706:1: ( rule__ExternAggregatorDefinition__Group__5__Impl rule__ExternAggregatorDefinition__Group__6 )
11709 // InternalSolverLanguageParser.g:3707:2: rule__ExternAggregatorDefinition__Group__5__Impl rule__ExternAggregatorDefinition__Group__6
11710 {
11711 pushFollow(FOLLOW_16);
11712 rule__ExternAggregatorDefinition__Group__5__Impl();
11713
11714 state._fsp--;
11715
11716 pushFollow(FOLLOW_2);
11717 rule__ExternAggregatorDefinition__Group__6();
11718
11719 state._fsp--;
11720
11721
11722 }
11723
11724 }
11725 catch (RecognitionException re) {
11726 reportError(re);
11727 recover(input,re);
11728 }
11729 finally {
11730
11731 restoreStackSize(stackSize);
11732
11733 }
11734 return ;
11735 }
11736 // $ANTLR end "rule__ExternAggregatorDefinition__Group__5"
11737
11738
11739 // $ANTLR start "rule__ExternAggregatorDefinition__Group__5__Impl"
11740 // InternalSolverLanguageParser.g:3714:1: rule__ExternAggregatorDefinition__Group__5__Impl : ( FullStopFullStopFullStop ) ;
11741 public final void rule__ExternAggregatorDefinition__Group__5__Impl() throws RecognitionException {
11742
11743 int stackSize = keepStackSize();
11744
11745 try {
11746 // InternalSolverLanguageParser.g:3718:1: ( ( FullStopFullStopFullStop ) )
11747 // InternalSolverLanguageParser.g:3719:1: ( FullStopFullStopFullStop )
11748 {
11749 // InternalSolverLanguageParser.g:3719:1: ( FullStopFullStopFullStop )
11750 // InternalSolverLanguageParser.g:3720:2: FullStopFullStopFullStop
11751 {
11752 before(grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
11753 match(input,FullStopFullStopFullStop,FOLLOW_2);
11754 after(grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
11755
11756 }
11757
11758
11759 }
11760
11761 }
11762 catch (RecognitionException re) {
11763 reportError(re);
11764 recover(input,re);
11765 }
11766 finally {
11767
11768 restoreStackSize(stackSize);
11769
11770 }
11771 return ;
11772 }
11773 // $ANTLR end "rule__ExternAggregatorDefinition__Group__5__Impl"
11774
11775
11776 // $ANTLR start "rule__ExternAggregatorDefinition__Group__6"
11777 // InternalSolverLanguageParser.g:3729:1: rule__ExternAggregatorDefinition__Group__6 : rule__ExternAggregatorDefinition__Group__6__Impl ;
11778 public final void rule__ExternAggregatorDefinition__Group__6() throws RecognitionException {
11779
11780 int stackSize = keepStackSize();
11781
11782 try {
11783 // InternalSolverLanguageParser.g:3733:1: ( rule__ExternAggregatorDefinition__Group__6__Impl )
11784 // InternalSolverLanguageParser.g:3734:2: rule__ExternAggregatorDefinition__Group__6__Impl
11785 {
11786 pushFollow(FOLLOW_2);
11787 rule__ExternAggregatorDefinition__Group__6__Impl();
11788
11789 state._fsp--;
11790
11791
11792 }
11793
11794 }
11795 catch (RecognitionException re) {
11796 reportError(re);
11797 recover(input,re);
11798 }
11799 finally {
11800
11801 restoreStackSize(stackSize);
11802
11803 }
11804 return ;
11805 }
11806 // $ANTLR end "rule__ExternAggregatorDefinition__Group__6"
11807
11808
11809 // $ANTLR start "rule__ExternAggregatorDefinition__Group__6__Impl"
11810 // InternalSolverLanguageParser.g:3740:1: rule__ExternAggregatorDefinition__Group__6__Impl : ( RightCurlyBracket ) ;
11811 public final void rule__ExternAggregatorDefinition__Group__6__Impl() throws RecognitionException {
11812
11813 int stackSize = keepStackSize();
11814
11815 try {
11816 // InternalSolverLanguageParser.g:3744:1: ( ( RightCurlyBracket ) )
11817 // InternalSolverLanguageParser.g:3745:1: ( RightCurlyBracket )
11818 {
11819 // InternalSolverLanguageParser.g:3745:1: ( RightCurlyBracket )
11820 // InternalSolverLanguageParser.g:3746:2: RightCurlyBracket
11821 {
11822 before(grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
11823 match(input,RightCurlyBracket,FOLLOW_2);
11824 after(grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
11825
11826 }
11827
11828
11829 }
11830
11831 }
11832 catch (RecognitionException re) {
11833 reportError(re);
11834 recover(input,re);
11835 }
11836 finally {
11837
11838 restoreStackSize(stackSize);
11839
11840 }
11841 return ;
11842 }
11843 // $ANTLR end "rule__ExternAggregatorDefinition__Group__6__Impl"
11844
11845
11846 // $ANTLR start "rule__ExternDatatypeDefinition__Group__0"
11847 // InternalSolverLanguageParser.g:3756:1: rule__ExternDatatypeDefinition__Group__0 : rule__ExternDatatypeDefinition__Group__0__Impl rule__ExternDatatypeDefinition__Group__1 ;
11848 public final void rule__ExternDatatypeDefinition__Group__0() throws RecognitionException {
11849
11850 int stackSize = keepStackSize();
11851
11852 try {
11853 // InternalSolverLanguageParser.g:3760:1: ( rule__ExternDatatypeDefinition__Group__0__Impl rule__ExternDatatypeDefinition__Group__1 )
11854 // InternalSolverLanguageParser.g:3761:2: rule__ExternDatatypeDefinition__Group__0__Impl rule__ExternDatatypeDefinition__Group__1
11855 {
11856 pushFollow(FOLLOW_17);
11857 rule__ExternDatatypeDefinition__Group__0__Impl();
11858
11859 state._fsp--;
11860
11861 pushFollow(FOLLOW_2);
11862 rule__ExternDatatypeDefinition__Group__1();
11863
11864 state._fsp--;
11865
11866
11867 }
11868
11869 }
11870 catch (RecognitionException re) {
11871 reportError(re);
11872 recover(input,re);
11873 }
11874 finally {
11875
11876 restoreStackSize(stackSize);
11877
11878 }
11879 return ;
11880 }
11881 // $ANTLR end "rule__ExternDatatypeDefinition__Group__0"
11882
11883
11884 // $ANTLR start "rule__ExternDatatypeDefinition__Group__0__Impl"
11885 // InternalSolverLanguageParser.g:3768:1: rule__ExternDatatypeDefinition__Group__0__Impl : ( Extern ) ;
11886 public final void rule__ExternDatatypeDefinition__Group__0__Impl() throws RecognitionException {
11887
11888 int stackSize = keepStackSize();
11889
11890 try {
11891 // InternalSolverLanguageParser.g:3772:1: ( ( Extern ) )
11892 // InternalSolverLanguageParser.g:3773:1: ( Extern )
11893 {
11894 // InternalSolverLanguageParser.g:3773:1: ( Extern )
11895 // InternalSolverLanguageParser.g:3774:2: Extern
11896 {
11897 before(grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
11898 match(input,Extern,FOLLOW_2);
11899 after(grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
11900
11901 }
11902
11903
11904 }
11905
11906 }
11907 catch (RecognitionException re) {
11908 reportError(re);
11909 recover(input,re);
11910 }
11911 finally {
11912
11913 restoreStackSize(stackSize);
11914
11915 }
11916 return ;
11917 }
11918 // $ANTLR end "rule__ExternDatatypeDefinition__Group__0__Impl"
11919
11920
11921 // $ANTLR start "rule__ExternDatatypeDefinition__Group__1"
11922 // InternalSolverLanguageParser.g:3783:1: rule__ExternDatatypeDefinition__Group__1 : rule__ExternDatatypeDefinition__Group__1__Impl rule__ExternDatatypeDefinition__Group__2 ;
11923 public final void rule__ExternDatatypeDefinition__Group__1() throws RecognitionException {
11924
11925 int stackSize = keepStackSize();
11926
11927 try {
11928 // InternalSolverLanguageParser.g:3787:1: ( rule__ExternDatatypeDefinition__Group__1__Impl rule__ExternDatatypeDefinition__Group__2 )
11929 // InternalSolverLanguageParser.g:3788:2: rule__ExternDatatypeDefinition__Group__1__Impl rule__ExternDatatypeDefinition__Group__2
11930 {
11931 pushFollow(FOLLOW_9);
11932 rule__ExternDatatypeDefinition__Group__1__Impl();
11933
11934 state._fsp--;
11935
11936 pushFollow(FOLLOW_2);
11937 rule__ExternDatatypeDefinition__Group__2();
11938
11939 state._fsp--;
11940
11941
11942 }
11943
11944 }
11945 catch (RecognitionException re) {
11946 reportError(re);
11947 recover(input,re);
11948 }
11949 finally {
11950
11951 restoreStackSize(stackSize);
11952
11953 }
11954 return ;
11955 }
11956 // $ANTLR end "rule__ExternDatatypeDefinition__Group__1"
11957
11958
11959 // $ANTLR start "rule__ExternDatatypeDefinition__Group__1__Impl"
11960 // InternalSolverLanguageParser.g:3795:1: rule__ExternDatatypeDefinition__Group__1__Impl : ( Datatype ) ;
11961 public final void rule__ExternDatatypeDefinition__Group__1__Impl() throws RecognitionException {
11962
11963 int stackSize = keepStackSize();
11964
11965 try {
11966 // InternalSolverLanguageParser.g:3799:1: ( ( Datatype ) )
11967 // InternalSolverLanguageParser.g:3800:1: ( Datatype )
11968 {
11969 // InternalSolverLanguageParser.g:3800:1: ( Datatype )
11970 // InternalSolverLanguageParser.g:3801:2: Datatype
11971 {
11972 before(grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
11973 match(input,Datatype,FOLLOW_2);
11974 after(grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
11975
11976 }
11977
11978
11979 }
11980
11981 }
11982 catch (RecognitionException re) {
11983 reportError(re);
11984 recover(input,re);
11985 }
11986 finally {
11987
11988 restoreStackSize(stackSize);
11989
11990 }
11991 return ;
11992 }
11993 // $ANTLR end "rule__ExternDatatypeDefinition__Group__1__Impl"
11994
11995
11996 // $ANTLR start "rule__ExternDatatypeDefinition__Group__2"
11997 // InternalSolverLanguageParser.g:3810:1: rule__ExternDatatypeDefinition__Group__2 : rule__ExternDatatypeDefinition__Group__2__Impl rule__ExternDatatypeDefinition__Group__3 ;
11998 public final void rule__ExternDatatypeDefinition__Group__2() throws RecognitionException {
11999
12000 int stackSize = keepStackSize();
12001
12002 try {
12003 // InternalSolverLanguageParser.g:3814:1: ( rule__ExternDatatypeDefinition__Group__2__Impl rule__ExternDatatypeDefinition__Group__3 )
12004 // InternalSolverLanguageParser.g:3815:2: rule__ExternDatatypeDefinition__Group__2__Impl rule__ExternDatatypeDefinition__Group__3
12005 {
12006 pushFollow(FOLLOW_18);
12007 rule__ExternDatatypeDefinition__Group__2__Impl();
12008
12009 state._fsp--;
12010
12011 pushFollow(FOLLOW_2);
12012 rule__ExternDatatypeDefinition__Group__3();
12013
12014 state._fsp--;
12015
12016
12017 }
12018
12019 }
12020 catch (RecognitionException re) {
12021 reportError(re);
12022 recover(input,re);
12023 }
12024 finally {
12025
12026 restoreStackSize(stackSize);
12027
12028 }
12029 return ;
12030 }
12031 // $ANTLR end "rule__ExternDatatypeDefinition__Group__2"
12032
12033
12034 // $ANTLR start "rule__ExternDatatypeDefinition__Group__2__Impl"
12035 // InternalSolverLanguageParser.g:3822:1: rule__ExternDatatypeDefinition__Group__2__Impl : ( ( rule__ExternDatatypeDefinition__NameAssignment_2 ) ) ;
12036 public final void rule__ExternDatatypeDefinition__Group__2__Impl() throws RecognitionException {
12037
12038 int stackSize = keepStackSize();
12039
12040 try {
12041 // InternalSolverLanguageParser.g:3826:1: ( ( ( rule__ExternDatatypeDefinition__NameAssignment_2 ) ) )
12042 // InternalSolverLanguageParser.g:3827:1: ( ( rule__ExternDatatypeDefinition__NameAssignment_2 ) )
12043 {
12044 // InternalSolverLanguageParser.g:3827:1: ( ( rule__ExternDatatypeDefinition__NameAssignment_2 ) )
12045 // InternalSolverLanguageParser.g:3828:2: ( rule__ExternDatatypeDefinition__NameAssignment_2 )
12046 {
12047 before(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2());
12048 // InternalSolverLanguageParser.g:3829:2: ( rule__ExternDatatypeDefinition__NameAssignment_2 )
12049 // InternalSolverLanguageParser.g:3829:3: rule__ExternDatatypeDefinition__NameAssignment_2
12050 {
12051 pushFollow(FOLLOW_2);
12052 rule__ExternDatatypeDefinition__NameAssignment_2();
12053
12054 state._fsp--;
12055
12056
12057 }
12058
12059 after(grammarAccess.getExternDatatypeDefinitionAccess().getNameAssignment_2());
12060
12061 }
12062
12063
12064 }
12065
12066 }
12067 catch (RecognitionException re) {
12068 reportError(re);
12069 recover(input,re);
12070 }
12071 finally {
12072
12073 restoreStackSize(stackSize);
12074
12075 }
12076 return ;
12077 }
12078 // $ANTLR end "rule__ExternDatatypeDefinition__Group__2__Impl"
12079
12080
12081 // $ANTLR start "rule__ExternDatatypeDefinition__Group__3"
12082 // InternalSolverLanguageParser.g:3837:1: rule__ExternDatatypeDefinition__Group__3 : rule__ExternDatatypeDefinition__Group__3__Impl ;
12083 public final void rule__ExternDatatypeDefinition__Group__3() throws RecognitionException {
12084
12085 int stackSize = keepStackSize();
12086
12087 try {
12088 // InternalSolverLanguageParser.g:3841:1: ( rule__ExternDatatypeDefinition__Group__3__Impl )
12089 // InternalSolverLanguageParser.g:3842:2: rule__ExternDatatypeDefinition__Group__3__Impl
12090 {
12091 pushFollow(FOLLOW_2);
12092 rule__ExternDatatypeDefinition__Group__3__Impl();
12093
12094 state._fsp--;
12095
12096
12097 }
12098
12099 }
12100 catch (RecognitionException re) {
12101 reportError(re);
12102 recover(input,re);
12103 }
12104 finally {
12105
12106 restoreStackSize(stackSize);
12107
12108 }
12109 return ;
12110 }
12111 // $ANTLR end "rule__ExternDatatypeDefinition__Group__3"
12112
12113
12114 // $ANTLR start "rule__ExternDatatypeDefinition__Group__3__Impl"
12115 // InternalSolverLanguageParser.g:3848:1: rule__ExternDatatypeDefinition__Group__3__Impl : ( ( rule__ExternDatatypeDefinition__Group_3__0 ) ) ;
12116 public final void rule__ExternDatatypeDefinition__Group__3__Impl() throws RecognitionException {
12117
12118 int stackSize = keepStackSize();
12119
12120 try {
12121 // InternalSolverLanguageParser.g:3852:1: ( ( ( rule__ExternDatatypeDefinition__Group_3__0 ) ) )
12122 // InternalSolverLanguageParser.g:3853:1: ( ( rule__ExternDatatypeDefinition__Group_3__0 ) )
12123 {
12124 // InternalSolverLanguageParser.g:3853:1: ( ( rule__ExternDatatypeDefinition__Group_3__0 ) )
12125 // InternalSolverLanguageParser.g:3854:2: ( rule__ExternDatatypeDefinition__Group_3__0 )
12126 {
12127 before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3());
12128 // InternalSolverLanguageParser.g:3855:2: ( rule__ExternDatatypeDefinition__Group_3__0 )
12129 // InternalSolverLanguageParser.g:3855:3: rule__ExternDatatypeDefinition__Group_3__0
12130 {
12131 pushFollow(FOLLOW_2);
12132 rule__ExternDatatypeDefinition__Group_3__0();
12133
12134 state._fsp--;
12135
12136
12137 }
12138
12139 after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3());
12140
12141 }
12142
12143
12144 }
12145
12146 }
12147 catch (RecognitionException re) {
12148 reportError(re);
12149 recover(input,re);
12150 }
12151 finally {
12152
12153 restoreStackSize(stackSize);
12154
12155 }
12156 return ;
12157 }
12158 // $ANTLR end "rule__ExternDatatypeDefinition__Group__3__Impl"
12159
12160
12161 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__0"
12162 // InternalSolverLanguageParser.g:3864:1: rule__ExternDatatypeDefinition__Group_3__0 : rule__ExternDatatypeDefinition__Group_3__0__Impl rule__ExternDatatypeDefinition__Group_3__1 ;
12163 public final void rule__ExternDatatypeDefinition__Group_3__0() throws RecognitionException {
12164
12165 int stackSize = keepStackSize();
12166
12167 try {
12168 // InternalSolverLanguageParser.g:3868:1: ( rule__ExternDatatypeDefinition__Group_3__0__Impl rule__ExternDatatypeDefinition__Group_3__1 )
12169 // InternalSolverLanguageParser.g:3869:2: rule__ExternDatatypeDefinition__Group_3__0__Impl rule__ExternDatatypeDefinition__Group_3__1
12170 {
12171 pushFollow(FOLLOW_9);
12172 rule__ExternDatatypeDefinition__Group_3__0__Impl();
12173
12174 state._fsp--;
12175
12176 pushFollow(FOLLOW_2);
12177 rule__ExternDatatypeDefinition__Group_3__1();
12178
12179 state._fsp--;
12180
12181
12182 }
12183
12184 }
12185 catch (RecognitionException re) {
12186 reportError(re);
12187 recover(input,re);
12188 }
12189 finally {
12190
12191 restoreStackSize(stackSize);
12192
12193 }
12194 return ;
12195 }
12196 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__0"
12197
12198
12199 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__0__Impl"
12200 // InternalSolverLanguageParser.g:3876:1: rule__ExternDatatypeDefinition__Group_3__0__Impl : ( Extends ) ;
12201 public final void rule__ExternDatatypeDefinition__Group_3__0__Impl() throws RecognitionException {
12202
12203 int stackSize = keepStackSize();
12204
12205 try {
12206 // InternalSolverLanguageParser.g:3880:1: ( ( Extends ) )
12207 // InternalSolverLanguageParser.g:3881:1: ( Extends )
12208 {
12209 // InternalSolverLanguageParser.g:3881:1: ( Extends )
12210 // InternalSolverLanguageParser.g:3882:2: Extends
12211 {
12212 before(grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
12213 match(input,Extends,FOLLOW_2);
12214 after(grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
12215
12216 }
12217
12218
12219 }
12220
12221 }
12222 catch (RecognitionException re) {
12223 reportError(re);
12224 recover(input,re);
12225 }
12226 finally {
12227
12228 restoreStackSize(stackSize);
12229
12230 }
12231 return ;
12232 }
12233 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__0__Impl"
12234
12235
12236 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__1"
12237 // InternalSolverLanguageParser.g:3891:1: rule__ExternDatatypeDefinition__Group_3__1 : rule__ExternDatatypeDefinition__Group_3__1__Impl rule__ExternDatatypeDefinition__Group_3__2 ;
12238 public final void rule__ExternDatatypeDefinition__Group_3__1() throws RecognitionException {
12239
12240 int stackSize = keepStackSize();
12241
12242 try {
12243 // InternalSolverLanguageParser.g:3895:1: ( rule__ExternDatatypeDefinition__Group_3__1__Impl rule__ExternDatatypeDefinition__Group_3__2 )
12244 // InternalSolverLanguageParser.g:3896:2: rule__ExternDatatypeDefinition__Group_3__1__Impl rule__ExternDatatypeDefinition__Group_3__2
12245 {
12246 pushFollow(FOLLOW_19);
12247 rule__ExternDatatypeDefinition__Group_3__1__Impl();
12248
12249 state._fsp--;
12250
12251 pushFollow(FOLLOW_2);
12252 rule__ExternDatatypeDefinition__Group_3__2();
12253
12254 state._fsp--;
12255
12256
12257 }
12258
12259 }
12260 catch (RecognitionException re) {
12261 reportError(re);
12262 recover(input,re);
12263 }
12264 finally {
12265
12266 restoreStackSize(stackSize);
12267
12268 }
12269 return ;
12270 }
12271 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__1"
12272
12273
12274 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__1__Impl"
12275 // InternalSolverLanguageParser.g:3903:1: rule__ExternDatatypeDefinition__Group_3__1__Impl : ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 ) ) ;
12276 public final void rule__ExternDatatypeDefinition__Group_3__1__Impl() throws RecognitionException {
12277
12278 int stackSize = keepStackSize();
12279
12280 try {
12281 // InternalSolverLanguageParser.g:3907:1: ( ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 ) ) )
12282 // InternalSolverLanguageParser.g:3908:1: ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 ) )
12283 {
12284 // InternalSolverLanguageParser.g:3908:1: ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 ) )
12285 // InternalSolverLanguageParser.g:3909:2: ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 )
12286 {
12287 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1());
12288 // InternalSolverLanguageParser.g:3910:2: ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 )
12289 // InternalSolverLanguageParser.g:3910:3: rule__ExternDatatypeDefinition__SupertypesAssignment_3_1
12290 {
12291 pushFollow(FOLLOW_2);
12292 rule__ExternDatatypeDefinition__SupertypesAssignment_3_1();
12293
12294 state._fsp--;
12295
12296
12297 }
12298
12299 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_1());
12300
12301 }
12302
12303
12304 }
12305
12306 }
12307 catch (RecognitionException re) {
12308 reportError(re);
12309 recover(input,re);
12310 }
12311 finally {
12312
12313 restoreStackSize(stackSize);
12314
12315 }
12316 return ;
12317 }
12318 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__1__Impl"
12319
12320
12321 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__2"
12322 // InternalSolverLanguageParser.g:3918:1: rule__ExternDatatypeDefinition__Group_3__2 : rule__ExternDatatypeDefinition__Group_3__2__Impl ;
12323 public final void rule__ExternDatatypeDefinition__Group_3__2() throws RecognitionException {
12324
12325 int stackSize = keepStackSize();
12326
12327 try {
12328 // InternalSolverLanguageParser.g:3922:1: ( rule__ExternDatatypeDefinition__Group_3__2__Impl )
12329 // InternalSolverLanguageParser.g:3923:2: rule__ExternDatatypeDefinition__Group_3__2__Impl
12330 {
12331 pushFollow(FOLLOW_2);
12332 rule__ExternDatatypeDefinition__Group_3__2__Impl();
12333
12334 state._fsp--;
12335
12336
12337 }
12338
12339 }
12340 catch (RecognitionException re) {
12341 reportError(re);
12342 recover(input,re);
12343 }
12344 finally {
12345
12346 restoreStackSize(stackSize);
12347
12348 }
12349 return ;
12350 }
12351 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__2"
12352
12353
12354 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3__2__Impl"
12355 // InternalSolverLanguageParser.g:3929:1: rule__ExternDatatypeDefinition__Group_3__2__Impl : ( ( rule__ExternDatatypeDefinition__Group_3_2__0 )* ) ;
12356 public final void rule__ExternDatatypeDefinition__Group_3__2__Impl() throws RecognitionException {
12357
12358 int stackSize = keepStackSize();
12359
12360 try {
12361 // InternalSolverLanguageParser.g:3933:1: ( ( ( rule__ExternDatatypeDefinition__Group_3_2__0 )* ) )
12362 // InternalSolverLanguageParser.g:3934:1: ( ( rule__ExternDatatypeDefinition__Group_3_2__0 )* )
12363 {
12364 // InternalSolverLanguageParser.g:3934:1: ( ( rule__ExternDatatypeDefinition__Group_3_2__0 )* )
12365 // InternalSolverLanguageParser.g:3935:2: ( rule__ExternDatatypeDefinition__Group_3_2__0 )*
12366 {
12367 before(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2());
12368 // InternalSolverLanguageParser.g:3936:2: ( rule__ExternDatatypeDefinition__Group_3_2__0 )*
12369 loop29:
12370 do {
12371 int alt29=2;
12372 int LA29_0 = input.LA(1);
12373
12374 if ( (LA29_0==Comma) ) {
12375 alt29=1;
12376 }
12377
12378
12379 switch (alt29) {
12380 case 1 :
12381 // InternalSolverLanguageParser.g:3936:3: rule__ExternDatatypeDefinition__Group_3_2__0
12382 {
12383 pushFollow(FOLLOW_20);
12384 rule__ExternDatatypeDefinition__Group_3_2__0();
12385
12386 state._fsp--;
12387
12388
12389 }
12390 break;
12391
12392 default :
12393 break loop29;
12394 }
12395 } while (true);
12396
12397 after(grammarAccess.getExternDatatypeDefinitionAccess().getGroup_3_2());
12398
12399 }
12400
12401
12402 }
12403
12404 }
12405 catch (RecognitionException re) {
12406 reportError(re);
12407 recover(input,re);
12408 }
12409 finally {
12410
12411 restoreStackSize(stackSize);
12412
12413 }
12414 return ;
12415 }
12416 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3__2__Impl"
12417
12418
12419 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3_2__0"
12420 // InternalSolverLanguageParser.g:3945:1: rule__ExternDatatypeDefinition__Group_3_2__0 : rule__ExternDatatypeDefinition__Group_3_2__0__Impl rule__ExternDatatypeDefinition__Group_3_2__1 ;
12421 public final void rule__ExternDatatypeDefinition__Group_3_2__0() throws RecognitionException {
12422
12423 int stackSize = keepStackSize();
12424
12425 try {
12426 // InternalSolverLanguageParser.g:3949:1: ( rule__ExternDatatypeDefinition__Group_3_2__0__Impl rule__ExternDatatypeDefinition__Group_3_2__1 )
12427 // InternalSolverLanguageParser.g:3950:2: rule__ExternDatatypeDefinition__Group_3_2__0__Impl rule__ExternDatatypeDefinition__Group_3_2__1
12428 {
12429 pushFollow(FOLLOW_9);
12430 rule__ExternDatatypeDefinition__Group_3_2__0__Impl();
12431
12432 state._fsp--;
12433
12434 pushFollow(FOLLOW_2);
12435 rule__ExternDatatypeDefinition__Group_3_2__1();
12436
12437 state._fsp--;
12438
12439
12440 }
12441
12442 }
12443 catch (RecognitionException re) {
12444 reportError(re);
12445 recover(input,re);
12446 }
12447 finally {
12448
12449 restoreStackSize(stackSize);
12450
12451 }
12452 return ;
12453 }
12454 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3_2__0"
12455
12456
12457 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3_2__0__Impl"
12458 // InternalSolverLanguageParser.g:3957:1: rule__ExternDatatypeDefinition__Group_3_2__0__Impl : ( Comma ) ;
12459 public final void rule__ExternDatatypeDefinition__Group_3_2__0__Impl() throws RecognitionException {
12460
12461 int stackSize = keepStackSize();
12462
12463 try {
12464 // InternalSolverLanguageParser.g:3961:1: ( ( Comma ) )
12465 // InternalSolverLanguageParser.g:3962:1: ( Comma )
12466 {
12467 // InternalSolverLanguageParser.g:3962:1: ( Comma )
12468 // InternalSolverLanguageParser.g:3963:2: Comma
12469 {
12470 before(grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
12471 match(input,Comma,FOLLOW_2);
12472 after(grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
12473
12474 }
12475
12476
12477 }
12478
12479 }
12480 catch (RecognitionException re) {
12481 reportError(re);
12482 recover(input,re);
12483 }
12484 finally {
12485
12486 restoreStackSize(stackSize);
12487
12488 }
12489 return ;
12490 }
12491 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3_2__0__Impl"
12492
12493
12494 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3_2__1"
12495 // InternalSolverLanguageParser.g:3972:1: rule__ExternDatatypeDefinition__Group_3_2__1 : rule__ExternDatatypeDefinition__Group_3_2__1__Impl ;
12496 public final void rule__ExternDatatypeDefinition__Group_3_2__1() throws RecognitionException {
12497
12498 int stackSize = keepStackSize();
12499
12500 try {
12501 // InternalSolverLanguageParser.g:3976:1: ( rule__ExternDatatypeDefinition__Group_3_2__1__Impl )
12502 // InternalSolverLanguageParser.g:3977:2: rule__ExternDatatypeDefinition__Group_3_2__1__Impl
12503 {
12504 pushFollow(FOLLOW_2);
12505 rule__ExternDatatypeDefinition__Group_3_2__1__Impl();
12506
12507 state._fsp--;
12508
12509
12510 }
12511
12512 }
12513 catch (RecognitionException re) {
12514 reportError(re);
12515 recover(input,re);
12516 }
12517 finally {
12518
12519 restoreStackSize(stackSize);
12520
12521 }
12522 return ;
12523 }
12524 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3_2__1"
12525
12526
12527 // $ANTLR start "rule__ExternDatatypeDefinition__Group_3_2__1__Impl"
12528 // InternalSolverLanguageParser.g:3983:1: rule__ExternDatatypeDefinition__Group_3_2__1__Impl : ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 ) ) ;
12529 public final void rule__ExternDatatypeDefinition__Group_3_2__1__Impl() throws RecognitionException {
12530
12531 int stackSize = keepStackSize();
12532
12533 try {
12534 // InternalSolverLanguageParser.g:3987:1: ( ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 ) ) )
12535 // InternalSolverLanguageParser.g:3988:1: ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 ) )
12536 {
12537 // InternalSolverLanguageParser.g:3988:1: ( ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 ) )
12538 // InternalSolverLanguageParser.g:3989:2: ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 )
12539 {
12540 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1());
12541 // InternalSolverLanguageParser.g:3990:2: ( rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 )
12542 // InternalSolverLanguageParser.g:3990:3: rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1
12543 {
12544 pushFollow(FOLLOW_2);
12545 rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1();
12546
12547 state._fsp--;
12548
12549
12550 }
12551
12552 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesAssignment_3_2_1());
12553
12554 }
12555
12556
12557 }
12558
12559 }
12560 catch (RecognitionException re) {
12561 reportError(re);
12562 recover(input,re);
12563 }
12564 finally {
12565
12566 restoreStackSize(stackSize);
12567
12568 }
12569 return ;
12570 }
12571 // $ANTLR end "rule__ExternDatatypeDefinition__Group_3_2__1__Impl"
12572
12573
12574 // $ANTLR start "rule__Variable__Group__0"
12575 // InternalSolverLanguageParser.g:3999:1: rule__Variable__Group__0 : rule__Variable__Group__0__Impl rule__Variable__Group__1 ;
12576 public final void rule__Variable__Group__0() throws RecognitionException {
12577
12578 int stackSize = keepStackSize();
12579
12580 try {
12581 // InternalSolverLanguageParser.g:4003:1: ( rule__Variable__Group__0__Impl rule__Variable__Group__1 )
12582 // InternalSolverLanguageParser.g:4004:2: rule__Variable__Group__0__Impl rule__Variable__Group__1
12583 {
12584 pushFollow(FOLLOW_21);
12585 rule__Variable__Group__0__Impl();
12586
12587 state._fsp--;
12588
12589 pushFollow(FOLLOW_2);
12590 rule__Variable__Group__1();
12591
12592 state._fsp--;
12593
12594
12595 }
12596
12597 }
12598 catch (RecognitionException re) {
12599 reportError(re);
12600 recover(input,re);
12601 }
12602 finally {
12603
12604 restoreStackSize(stackSize);
12605
12606 }
12607 return ;
12608 }
12609 // $ANTLR end "rule__Variable__Group__0"
12610
12611
12612 // $ANTLR start "rule__Variable__Group__0__Impl"
12613 // InternalSolverLanguageParser.g:4011:1: rule__Variable__Group__0__Impl : ( ( rule__Variable__TypeAssignment_0 )? ) ;
12614 public final void rule__Variable__Group__0__Impl() throws RecognitionException {
12615
12616 int stackSize = keepStackSize();
12617
12618 try {
12619 // InternalSolverLanguageParser.g:4015:1: ( ( ( rule__Variable__TypeAssignment_0 )? ) )
12620 // InternalSolverLanguageParser.g:4016:1: ( ( rule__Variable__TypeAssignment_0 )? )
12621 {
12622 // InternalSolverLanguageParser.g:4016:1: ( ( rule__Variable__TypeAssignment_0 )? )
12623 // InternalSolverLanguageParser.g:4017:2: ( rule__Variable__TypeAssignment_0 )?
12624 {
12625 before(grammarAccess.getVariableAccess().getTypeAssignment_0());
12626 // InternalSolverLanguageParser.g:4018:2: ( rule__Variable__TypeAssignment_0 )?
12627 int alt30=2;
12628 int LA30_0 = input.LA(1);
12629
12630 if ( (LA30_0==RULE_ID) ) {
12631 int LA30_1 = input.LA(2);
12632
12633 if ( (LA30_1==FullStop||LA30_1==RULE_ID) ) {
12634 alt30=1;
12635 }
12636 }
12637 else if ( (LA30_0==RULE_QUOTED_ID) ) {
12638 alt30=1;
12639 }
12640 switch (alt30) {
12641 case 1 :
12642 // InternalSolverLanguageParser.g:4018:3: rule__Variable__TypeAssignment_0
12643 {
12644 pushFollow(FOLLOW_2);
12645 rule__Variable__TypeAssignment_0();
12646
12647 state._fsp--;
12648
12649
12650 }
12651 break;
12652
12653 }
12654
12655 after(grammarAccess.getVariableAccess().getTypeAssignment_0());
12656
12657 }
12658
12659
12660 }
12661
12662 }
12663 catch (RecognitionException re) {
12664 reportError(re);
12665 recover(input,re);
12666 }
12667 finally {
12668
12669 restoreStackSize(stackSize);
12670
12671 }
12672 return ;
12673 }
12674 // $ANTLR end "rule__Variable__Group__0__Impl"
12675
12676
12677 // $ANTLR start "rule__Variable__Group__1"
12678 // InternalSolverLanguageParser.g:4026:1: rule__Variable__Group__1 : rule__Variable__Group__1__Impl ;
12679 public final void rule__Variable__Group__1() throws RecognitionException {
12680
12681 int stackSize = keepStackSize();
12682
12683 try {
12684 // InternalSolverLanguageParser.g:4030:1: ( rule__Variable__Group__1__Impl )
12685 // InternalSolverLanguageParser.g:4031:2: rule__Variable__Group__1__Impl
12686 {
12687 pushFollow(FOLLOW_2);
12688 rule__Variable__Group__1__Impl();
12689
12690 state._fsp--;
12691
12692
12693 }
12694
12695 }
12696 catch (RecognitionException re) {
12697 reportError(re);
12698 recover(input,re);
12699 }
12700 finally {
12701
12702 restoreStackSize(stackSize);
12703
12704 }
12705 return ;
12706 }
12707 // $ANTLR end "rule__Variable__Group__1"
12708
12709
12710 // $ANTLR start "rule__Variable__Group__1__Impl"
12711 // InternalSolverLanguageParser.g:4037:1: rule__Variable__Group__1__Impl : ( ( rule__Variable__NameAssignment_1 ) ) ;
12712 public final void rule__Variable__Group__1__Impl() throws RecognitionException {
12713
12714 int stackSize = keepStackSize();
12715
12716 try {
12717 // InternalSolverLanguageParser.g:4041:1: ( ( ( rule__Variable__NameAssignment_1 ) ) )
12718 // InternalSolverLanguageParser.g:4042:1: ( ( rule__Variable__NameAssignment_1 ) )
12719 {
12720 // InternalSolverLanguageParser.g:4042:1: ( ( rule__Variable__NameAssignment_1 ) )
12721 // InternalSolverLanguageParser.g:4043:2: ( rule__Variable__NameAssignment_1 )
12722 {
12723 before(grammarAccess.getVariableAccess().getNameAssignment_1());
12724 // InternalSolverLanguageParser.g:4044:2: ( rule__Variable__NameAssignment_1 )
12725 // InternalSolverLanguageParser.g:4044:3: rule__Variable__NameAssignment_1
12726 {
12727 pushFollow(FOLLOW_2);
12728 rule__Variable__NameAssignment_1();
12729
12730 state._fsp--;
12731
12732
12733 }
12734
12735 after(grammarAccess.getVariableAccess().getNameAssignment_1());
12736
12737 }
12738
12739
12740 }
12741
12742 }
12743 catch (RecognitionException re) {
12744 reportError(re);
12745 recover(input,re);
12746 }
12747 finally {
12748
12749 restoreStackSize(stackSize);
12750
12751 }
12752 return ;
12753 }
12754 // $ANTLR end "rule__Variable__Group__1__Impl"
12755
12756
10735 // $ANTLR start "rule__IfElse__Group__0" 12757 // $ANTLR start "rule__IfElse__Group__0"
10736 // InternalSolverLanguageParser.g:3374:1: rule__IfElse__Group__0 : rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ; 12758 // InternalSolverLanguageParser.g:4053:1: rule__IfElse__Group__0 : rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ;
10737 public final void rule__IfElse__Group__0() throws RecognitionException { 12759 public final void rule__IfElse__Group__0() throws RecognitionException {
10738 12760
10739 int stackSize = keepStackSize(); 12761 int stackSize = keepStackSize();
10740 12762
10741 try { 12763 try {
10742 // InternalSolverLanguageParser.g:3378:1: ( rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ) 12764 // InternalSolverLanguageParser.g:4057:1: ( rule__IfElse__Group__0__Impl rule__IfElse__Group__1 )
10743 // InternalSolverLanguageParser.g:3379:2: rule__IfElse__Group__0__Impl rule__IfElse__Group__1 12765 // InternalSolverLanguageParser.g:4058:2: rule__IfElse__Group__0__Impl rule__IfElse__Group__1
10744 { 12766 {
10745 pushFollow(FOLLOW_7); 12767 pushFollow(FOLLOW_7);
10746 rule__IfElse__Group__0__Impl(); 12768 rule__IfElse__Group__0__Impl();
@@ -10771,17 +12793,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10771 12793
10772 12794
10773 // $ANTLR start "rule__IfElse__Group__0__Impl" 12795 // $ANTLR start "rule__IfElse__Group__0__Impl"
10774 // InternalSolverLanguageParser.g:3386:1: rule__IfElse__Group__0__Impl : ( If ) ; 12796 // InternalSolverLanguageParser.g:4065:1: rule__IfElse__Group__0__Impl : ( If ) ;
10775 public final void rule__IfElse__Group__0__Impl() throws RecognitionException { 12797 public final void rule__IfElse__Group__0__Impl() throws RecognitionException {
10776 12798
10777 int stackSize = keepStackSize(); 12799 int stackSize = keepStackSize();
10778 12800
10779 try { 12801 try {
10780 // InternalSolverLanguageParser.g:3390:1: ( ( If ) ) 12802 // InternalSolverLanguageParser.g:4069:1: ( ( If ) )
10781 // InternalSolverLanguageParser.g:3391:1: ( If ) 12803 // InternalSolverLanguageParser.g:4070:1: ( If )
10782 { 12804 {
10783 // InternalSolverLanguageParser.g:3391:1: ( If ) 12805 // InternalSolverLanguageParser.g:4070:1: ( If )
10784 // InternalSolverLanguageParser.g:3392:2: If 12806 // InternalSolverLanguageParser.g:4071:2: If
10785 { 12807 {
10786 before(grammarAccess.getIfElseAccess().getIfKeyword_0()); 12808 before(grammarAccess.getIfElseAccess().getIfKeyword_0());
10787 match(input,If,FOLLOW_2); 12809 match(input,If,FOLLOW_2);
@@ -10808,16 +12830,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10808 12830
10809 12831
10810 // $ANTLR start "rule__IfElse__Group__1" 12832 // $ANTLR start "rule__IfElse__Group__1"
10811 // InternalSolverLanguageParser.g:3401:1: rule__IfElse__Group__1 : rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ; 12833 // InternalSolverLanguageParser.g:4080:1: rule__IfElse__Group__1 : rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ;
10812 public final void rule__IfElse__Group__1() throws RecognitionException { 12834 public final void rule__IfElse__Group__1() throws RecognitionException {
10813 12835
10814 int stackSize = keepStackSize(); 12836 int stackSize = keepStackSize();
10815 12837
10816 try { 12838 try {
10817 // InternalSolverLanguageParser.g:3405:1: ( rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ) 12839 // InternalSolverLanguageParser.g:4084:1: ( rule__IfElse__Group__1__Impl rule__IfElse__Group__2 )
10818 // InternalSolverLanguageParser.g:3406:2: rule__IfElse__Group__1__Impl rule__IfElse__Group__2 12840 // InternalSolverLanguageParser.g:4085:2: rule__IfElse__Group__1__Impl rule__IfElse__Group__2
10819 { 12841 {
10820 pushFollow(FOLLOW_15); 12842 pushFollow(FOLLOW_22);
10821 rule__IfElse__Group__1__Impl(); 12843 rule__IfElse__Group__1__Impl();
10822 12844
10823 state._fsp--; 12845 state._fsp--;
@@ -10846,21 +12868,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10846 12868
10847 12869
10848 // $ANTLR start "rule__IfElse__Group__1__Impl" 12870 // $ANTLR start "rule__IfElse__Group__1__Impl"
10849 // InternalSolverLanguageParser.g:3413:1: rule__IfElse__Group__1__Impl : ( ( rule__IfElse__ConditionAssignment_1 ) ) ; 12871 // InternalSolverLanguageParser.g:4092:1: rule__IfElse__Group__1__Impl : ( ( rule__IfElse__ConditionAssignment_1 ) ) ;
10850 public final void rule__IfElse__Group__1__Impl() throws RecognitionException { 12872 public final void rule__IfElse__Group__1__Impl() throws RecognitionException {
10851 12873
10852 int stackSize = keepStackSize(); 12874 int stackSize = keepStackSize();
10853 12875
10854 try { 12876 try {
10855 // InternalSolverLanguageParser.g:3417:1: ( ( ( rule__IfElse__ConditionAssignment_1 ) ) ) 12877 // InternalSolverLanguageParser.g:4096:1: ( ( ( rule__IfElse__ConditionAssignment_1 ) ) )
10856 // InternalSolverLanguageParser.g:3418:1: ( ( rule__IfElse__ConditionAssignment_1 ) ) 12878 // InternalSolverLanguageParser.g:4097:1: ( ( rule__IfElse__ConditionAssignment_1 ) )
10857 { 12879 {
10858 // InternalSolverLanguageParser.g:3418:1: ( ( rule__IfElse__ConditionAssignment_1 ) ) 12880 // InternalSolverLanguageParser.g:4097:1: ( ( rule__IfElse__ConditionAssignment_1 ) )
10859 // InternalSolverLanguageParser.g:3419:2: ( rule__IfElse__ConditionAssignment_1 ) 12881 // InternalSolverLanguageParser.g:4098:2: ( rule__IfElse__ConditionAssignment_1 )
10860 { 12882 {
10861 before(grammarAccess.getIfElseAccess().getConditionAssignment_1()); 12883 before(grammarAccess.getIfElseAccess().getConditionAssignment_1());
10862 // InternalSolverLanguageParser.g:3420:2: ( rule__IfElse__ConditionAssignment_1 ) 12884 // InternalSolverLanguageParser.g:4099:2: ( rule__IfElse__ConditionAssignment_1 )
10863 // InternalSolverLanguageParser.g:3420:3: rule__IfElse__ConditionAssignment_1 12885 // InternalSolverLanguageParser.g:4099:3: rule__IfElse__ConditionAssignment_1
10864 { 12886 {
10865 pushFollow(FOLLOW_2); 12887 pushFollow(FOLLOW_2);
10866 rule__IfElse__ConditionAssignment_1(); 12888 rule__IfElse__ConditionAssignment_1();
@@ -10893,14 +12915,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10893 12915
10894 12916
10895 // $ANTLR start "rule__IfElse__Group__2" 12917 // $ANTLR start "rule__IfElse__Group__2"
10896 // InternalSolverLanguageParser.g:3428:1: rule__IfElse__Group__2 : rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ; 12918 // InternalSolverLanguageParser.g:4107:1: rule__IfElse__Group__2 : rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ;
10897 public final void rule__IfElse__Group__2() throws RecognitionException { 12919 public final void rule__IfElse__Group__2() throws RecognitionException {
10898 12920
10899 int stackSize = keepStackSize(); 12921 int stackSize = keepStackSize();
10900 12922
10901 try { 12923 try {
10902 // InternalSolverLanguageParser.g:3432:1: ( rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ) 12924 // InternalSolverLanguageParser.g:4111:1: ( rule__IfElse__Group__2__Impl rule__IfElse__Group__3 )
10903 // InternalSolverLanguageParser.g:3433:2: rule__IfElse__Group__2__Impl rule__IfElse__Group__3 12925 // InternalSolverLanguageParser.g:4112:2: rule__IfElse__Group__2__Impl rule__IfElse__Group__3
10904 { 12926 {
10905 pushFollow(FOLLOW_7); 12927 pushFollow(FOLLOW_7);
10906 rule__IfElse__Group__2__Impl(); 12928 rule__IfElse__Group__2__Impl();
@@ -10931,17 +12953,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10931 12953
10932 12954
10933 // $ANTLR start "rule__IfElse__Group__2__Impl" 12955 // $ANTLR start "rule__IfElse__Group__2__Impl"
10934 // InternalSolverLanguageParser.g:3440:1: rule__IfElse__Group__2__Impl : ( Then ) ; 12956 // InternalSolverLanguageParser.g:4119:1: rule__IfElse__Group__2__Impl : ( Then ) ;
10935 public final void rule__IfElse__Group__2__Impl() throws RecognitionException { 12957 public final void rule__IfElse__Group__2__Impl() throws RecognitionException {
10936 12958
10937 int stackSize = keepStackSize(); 12959 int stackSize = keepStackSize();
10938 12960
10939 try { 12961 try {
10940 // InternalSolverLanguageParser.g:3444:1: ( ( Then ) ) 12962 // InternalSolverLanguageParser.g:4123:1: ( ( Then ) )
10941 // InternalSolverLanguageParser.g:3445:1: ( Then ) 12963 // InternalSolverLanguageParser.g:4124:1: ( Then )
10942 { 12964 {
10943 // InternalSolverLanguageParser.g:3445:1: ( Then ) 12965 // InternalSolverLanguageParser.g:4124:1: ( Then )
10944 // InternalSolverLanguageParser.g:3446:2: Then 12966 // InternalSolverLanguageParser.g:4125:2: Then
10945 { 12967 {
10946 before(grammarAccess.getIfElseAccess().getThenKeyword_2()); 12968 before(grammarAccess.getIfElseAccess().getThenKeyword_2());
10947 match(input,Then,FOLLOW_2); 12969 match(input,Then,FOLLOW_2);
@@ -10968,16 +12990,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10968 12990
10969 12991
10970 // $ANTLR start "rule__IfElse__Group__3" 12992 // $ANTLR start "rule__IfElse__Group__3"
10971 // InternalSolverLanguageParser.g:3455:1: rule__IfElse__Group__3 : rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ; 12993 // InternalSolverLanguageParser.g:4134:1: rule__IfElse__Group__3 : rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ;
10972 public final void rule__IfElse__Group__3() throws RecognitionException { 12994 public final void rule__IfElse__Group__3() throws RecognitionException {
10973 12995
10974 int stackSize = keepStackSize(); 12996 int stackSize = keepStackSize();
10975 12997
10976 try { 12998 try {
10977 // InternalSolverLanguageParser.g:3459:1: ( rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ) 12999 // InternalSolverLanguageParser.g:4138:1: ( rule__IfElse__Group__3__Impl rule__IfElse__Group__4 )
10978 // InternalSolverLanguageParser.g:3460:2: rule__IfElse__Group__3__Impl rule__IfElse__Group__4 13000 // InternalSolverLanguageParser.g:4139:2: rule__IfElse__Group__3__Impl rule__IfElse__Group__4
10979 { 13001 {
10980 pushFollow(FOLLOW_16); 13002 pushFollow(FOLLOW_23);
10981 rule__IfElse__Group__3__Impl(); 13003 rule__IfElse__Group__3__Impl();
10982 13004
10983 state._fsp--; 13005 state._fsp--;
@@ -11006,21 +13028,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11006 13028
11007 13029
11008 // $ANTLR start "rule__IfElse__Group__3__Impl" 13030 // $ANTLR start "rule__IfElse__Group__3__Impl"
11009 // InternalSolverLanguageParser.g:3467:1: rule__IfElse__Group__3__Impl : ( ( rule__IfElse__ThenAssignment_3 ) ) ; 13031 // InternalSolverLanguageParser.g:4146:1: rule__IfElse__Group__3__Impl : ( ( rule__IfElse__ThenAssignment_3 ) ) ;
11010 public final void rule__IfElse__Group__3__Impl() throws RecognitionException { 13032 public final void rule__IfElse__Group__3__Impl() throws RecognitionException {
11011 13033
11012 int stackSize = keepStackSize(); 13034 int stackSize = keepStackSize();
11013 13035
11014 try { 13036 try {
11015 // InternalSolverLanguageParser.g:3471:1: ( ( ( rule__IfElse__ThenAssignment_3 ) ) ) 13037 // InternalSolverLanguageParser.g:4150:1: ( ( ( rule__IfElse__ThenAssignment_3 ) ) )
11016 // InternalSolverLanguageParser.g:3472:1: ( ( rule__IfElse__ThenAssignment_3 ) ) 13038 // InternalSolverLanguageParser.g:4151:1: ( ( rule__IfElse__ThenAssignment_3 ) )
11017 { 13039 {
11018 // InternalSolverLanguageParser.g:3472:1: ( ( rule__IfElse__ThenAssignment_3 ) ) 13040 // InternalSolverLanguageParser.g:4151:1: ( ( rule__IfElse__ThenAssignment_3 ) )
11019 // InternalSolverLanguageParser.g:3473:2: ( rule__IfElse__ThenAssignment_3 ) 13041 // InternalSolverLanguageParser.g:4152:2: ( rule__IfElse__ThenAssignment_3 )
11020 { 13042 {
11021 before(grammarAccess.getIfElseAccess().getThenAssignment_3()); 13043 before(grammarAccess.getIfElseAccess().getThenAssignment_3());
11022 // InternalSolverLanguageParser.g:3474:2: ( rule__IfElse__ThenAssignment_3 ) 13044 // InternalSolverLanguageParser.g:4153:2: ( rule__IfElse__ThenAssignment_3 )
11023 // InternalSolverLanguageParser.g:3474:3: rule__IfElse__ThenAssignment_3 13045 // InternalSolverLanguageParser.g:4153:3: rule__IfElse__ThenAssignment_3
11024 { 13046 {
11025 pushFollow(FOLLOW_2); 13047 pushFollow(FOLLOW_2);
11026 rule__IfElse__ThenAssignment_3(); 13048 rule__IfElse__ThenAssignment_3();
@@ -11053,14 +13075,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11053 13075
11054 13076
11055 // $ANTLR start "rule__IfElse__Group__4" 13077 // $ANTLR start "rule__IfElse__Group__4"
11056 // InternalSolverLanguageParser.g:3482:1: rule__IfElse__Group__4 : rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ; 13078 // InternalSolverLanguageParser.g:4161:1: rule__IfElse__Group__4 : rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ;
11057 public final void rule__IfElse__Group__4() throws RecognitionException { 13079 public final void rule__IfElse__Group__4() throws RecognitionException {
11058 13080
11059 int stackSize = keepStackSize(); 13081 int stackSize = keepStackSize();
11060 13082
11061 try { 13083 try {
11062 // InternalSolverLanguageParser.g:3486:1: ( rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ) 13084 // InternalSolverLanguageParser.g:4165:1: ( rule__IfElse__Group__4__Impl rule__IfElse__Group__5 )
11063 // InternalSolverLanguageParser.g:3487:2: rule__IfElse__Group__4__Impl rule__IfElse__Group__5 13085 // InternalSolverLanguageParser.g:4166:2: rule__IfElse__Group__4__Impl rule__IfElse__Group__5
11064 { 13086 {
11065 pushFollow(FOLLOW_7); 13087 pushFollow(FOLLOW_7);
11066 rule__IfElse__Group__4__Impl(); 13088 rule__IfElse__Group__4__Impl();
@@ -11091,17 +13113,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11091 13113
11092 13114
11093 // $ANTLR start "rule__IfElse__Group__4__Impl" 13115 // $ANTLR start "rule__IfElse__Group__4__Impl"
11094 // InternalSolverLanguageParser.g:3494:1: rule__IfElse__Group__4__Impl : ( Else ) ; 13116 // InternalSolverLanguageParser.g:4173:1: rule__IfElse__Group__4__Impl : ( Else ) ;
11095 public final void rule__IfElse__Group__4__Impl() throws RecognitionException { 13117 public final void rule__IfElse__Group__4__Impl() throws RecognitionException {
11096 13118
11097 int stackSize = keepStackSize(); 13119 int stackSize = keepStackSize();
11098 13120
11099 try { 13121 try {
11100 // InternalSolverLanguageParser.g:3498:1: ( ( Else ) ) 13122 // InternalSolverLanguageParser.g:4177:1: ( ( Else ) )
11101 // InternalSolverLanguageParser.g:3499:1: ( Else ) 13123 // InternalSolverLanguageParser.g:4178:1: ( Else )
11102 { 13124 {
11103 // InternalSolverLanguageParser.g:3499:1: ( Else ) 13125 // InternalSolverLanguageParser.g:4178:1: ( Else )
11104 // InternalSolverLanguageParser.g:3500:2: Else 13126 // InternalSolverLanguageParser.g:4179:2: Else
11105 { 13127 {
11106 before(grammarAccess.getIfElseAccess().getElseKeyword_4()); 13128 before(grammarAccess.getIfElseAccess().getElseKeyword_4());
11107 match(input,Else,FOLLOW_2); 13129 match(input,Else,FOLLOW_2);
@@ -11128,14 +13150,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11128 13150
11129 13151
11130 // $ANTLR start "rule__IfElse__Group__5" 13152 // $ANTLR start "rule__IfElse__Group__5"
11131 // InternalSolverLanguageParser.g:3509:1: rule__IfElse__Group__5 : rule__IfElse__Group__5__Impl ; 13153 // InternalSolverLanguageParser.g:4188:1: rule__IfElse__Group__5 : rule__IfElse__Group__5__Impl ;
11132 public final void rule__IfElse__Group__5() throws RecognitionException { 13154 public final void rule__IfElse__Group__5() throws RecognitionException {
11133 13155
11134 int stackSize = keepStackSize(); 13156 int stackSize = keepStackSize();
11135 13157
11136 try { 13158 try {
11137 // InternalSolverLanguageParser.g:3513:1: ( rule__IfElse__Group__5__Impl ) 13159 // InternalSolverLanguageParser.g:4192:1: ( rule__IfElse__Group__5__Impl )
11138 // InternalSolverLanguageParser.g:3514:2: rule__IfElse__Group__5__Impl 13160 // InternalSolverLanguageParser.g:4193:2: rule__IfElse__Group__5__Impl
11139 { 13161 {
11140 pushFollow(FOLLOW_2); 13162 pushFollow(FOLLOW_2);
11141 rule__IfElse__Group__5__Impl(); 13163 rule__IfElse__Group__5__Impl();
@@ -11161,21 +13183,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11161 13183
11162 13184
11163 // $ANTLR start "rule__IfElse__Group__5__Impl" 13185 // $ANTLR start "rule__IfElse__Group__5__Impl"
11164 // InternalSolverLanguageParser.g:3520:1: rule__IfElse__Group__5__Impl : ( ( rule__IfElse__ElseAssignment_5 ) ) ; 13186 // InternalSolverLanguageParser.g:4199:1: rule__IfElse__Group__5__Impl : ( ( rule__IfElse__ElseAssignment_5 ) ) ;
11165 public final void rule__IfElse__Group__5__Impl() throws RecognitionException { 13187 public final void rule__IfElse__Group__5__Impl() throws RecognitionException {
11166 13188
11167 int stackSize = keepStackSize(); 13189 int stackSize = keepStackSize();
11168 13190
11169 try { 13191 try {
11170 // InternalSolverLanguageParser.g:3524:1: ( ( ( rule__IfElse__ElseAssignment_5 ) ) ) 13192 // InternalSolverLanguageParser.g:4203:1: ( ( ( rule__IfElse__ElseAssignment_5 ) ) )
11171 // InternalSolverLanguageParser.g:3525:1: ( ( rule__IfElse__ElseAssignment_5 ) ) 13193 // InternalSolverLanguageParser.g:4204:1: ( ( rule__IfElse__ElseAssignment_5 ) )
11172 { 13194 {
11173 // InternalSolverLanguageParser.g:3525:1: ( ( rule__IfElse__ElseAssignment_5 ) ) 13195 // InternalSolverLanguageParser.g:4204:1: ( ( rule__IfElse__ElseAssignment_5 ) )
11174 // InternalSolverLanguageParser.g:3526:2: ( rule__IfElse__ElseAssignment_5 ) 13196 // InternalSolverLanguageParser.g:4205:2: ( rule__IfElse__ElseAssignment_5 )
11175 { 13197 {
11176 before(grammarAccess.getIfElseAccess().getElseAssignment_5()); 13198 before(grammarAccess.getIfElseAccess().getElseAssignment_5());
11177 // InternalSolverLanguageParser.g:3527:2: ( rule__IfElse__ElseAssignment_5 ) 13199 // InternalSolverLanguageParser.g:4206:2: ( rule__IfElse__ElseAssignment_5 )
11178 // InternalSolverLanguageParser.g:3527:3: rule__IfElse__ElseAssignment_5 13200 // InternalSolverLanguageParser.g:4206:3: rule__IfElse__ElseAssignment_5
11179 { 13201 {
11180 pushFollow(FOLLOW_2); 13202 pushFollow(FOLLOW_2);
11181 rule__IfElse__ElseAssignment_5(); 13203 rule__IfElse__ElseAssignment_5();
@@ -11207,17 +13229,1240 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11207 // $ANTLR end "rule__IfElse__Group__5__Impl" 13229 // $ANTLR end "rule__IfElse__Group__5__Impl"
11208 13230
11209 13231
13232 // $ANTLR start "rule__Let__Group__0"
13233 // InternalSolverLanguageParser.g:4215:1: rule__Let__Group__0 : rule__Let__Group__0__Impl rule__Let__Group__1 ;
13234 public final void rule__Let__Group__0() throws RecognitionException {
13235
13236 int stackSize = keepStackSize();
13237
13238 try {
13239 // InternalSolverLanguageParser.g:4219:1: ( rule__Let__Group__0__Impl rule__Let__Group__1 )
13240 // InternalSolverLanguageParser.g:4220:2: rule__Let__Group__0__Impl rule__Let__Group__1
13241 {
13242 pushFollow(FOLLOW_9);
13243 rule__Let__Group__0__Impl();
13244
13245 state._fsp--;
13246
13247 pushFollow(FOLLOW_2);
13248 rule__Let__Group__1();
13249
13250 state._fsp--;
13251
13252
13253 }
13254
13255 }
13256 catch (RecognitionException re) {
13257 reportError(re);
13258 recover(input,re);
13259 }
13260 finally {
13261
13262 restoreStackSize(stackSize);
13263
13264 }
13265 return ;
13266 }
13267 // $ANTLR end "rule__Let__Group__0"
13268
13269
13270 // $ANTLR start "rule__Let__Group__0__Impl"
13271 // InternalSolverLanguageParser.g:4227:1: rule__Let__Group__0__Impl : ( Let ) ;
13272 public final void rule__Let__Group__0__Impl() throws RecognitionException {
13273
13274 int stackSize = keepStackSize();
13275
13276 try {
13277 // InternalSolverLanguageParser.g:4231:1: ( ( Let ) )
13278 // InternalSolverLanguageParser.g:4232:1: ( Let )
13279 {
13280 // InternalSolverLanguageParser.g:4232:1: ( Let )
13281 // InternalSolverLanguageParser.g:4233:2: Let
13282 {
13283 before(grammarAccess.getLetAccess().getLetKeyword_0());
13284 match(input,Let,FOLLOW_2);
13285 after(grammarAccess.getLetAccess().getLetKeyword_0());
13286
13287 }
13288
13289
13290 }
13291
13292 }
13293 catch (RecognitionException re) {
13294 reportError(re);
13295 recover(input,re);
13296 }
13297 finally {
13298
13299 restoreStackSize(stackSize);
13300
13301 }
13302 return ;
13303 }
13304 // $ANTLR end "rule__Let__Group__0__Impl"
13305
13306
13307 // $ANTLR start "rule__Let__Group__1"
13308 // InternalSolverLanguageParser.g:4242:1: rule__Let__Group__1 : rule__Let__Group__1__Impl rule__Let__Group__2 ;
13309 public final void rule__Let__Group__1() throws RecognitionException {
13310
13311 int stackSize = keepStackSize();
13312
13313 try {
13314 // InternalSolverLanguageParser.g:4246:1: ( rule__Let__Group__1__Impl rule__Let__Group__2 )
13315 // InternalSolverLanguageParser.g:4247:2: rule__Let__Group__1__Impl rule__Let__Group__2
13316 {
13317 pushFollow(FOLLOW_24);
13318 rule__Let__Group__1__Impl();
13319
13320 state._fsp--;
13321
13322 pushFollow(FOLLOW_2);
13323 rule__Let__Group__2();
13324
13325 state._fsp--;
13326
13327
13328 }
13329
13330 }
13331 catch (RecognitionException re) {
13332 reportError(re);
13333 recover(input,re);
13334 }
13335 finally {
13336
13337 restoreStackSize(stackSize);
13338
13339 }
13340 return ;
13341 }
13342 // $ANTLR end "rule__Let__Group__1"
13343
13344
13345 // $ANTLR start "rule__Let__Group__1__Impl"
13346 // InternalSolverLanguageParser.g:4254:1: rule__Let__Group__1__Impl : ( ( rule__Let__BindingsAssignment_1 ) ) ;
13347 public final void rule__Let__Group__1__Impl() throws RecognitionException {
13348
13349 int stackSize = keepStackSize();
13350
13351 try {
13352 // InternalSolverLanguageParser.g:4258:1: ( ( ( rule__Let__BindingsAssignment_1 ) ) )
13353 // InternalSolverLanguageParser.g:4259:1: ( ( rule__Let__BindingsAssignment_1 ) )
13354 {
13355 // InternalSolverLanguageParser.g:4259:1: ( ( rule__Let__BindingsAssignment_1 ) )
13356 // InternalSolverLanguageParser.g:4260:2: ( rule__Let__BindingsAssignment_1 )
13357 {
13358 before(grammarAccess.getLetAccess().getBindingsAssignment_1());
13359 // InternalSolverLanguageParser.g:4261:2: ( rule__Let__BindingsAssignment_1 )
13360 // InternalSolverLanguageParser.g:4261:3: rule__Let__BindingsAssignment_1
13361 {
13362 pushFollow(FOLLOW_2);
13363 rule__Let__BindingsAssignment_1();
13364
13365 state._fsp--;
13366
13367
13368 }
13369
13370 after(grammarAccess.getLetAccess().getBindingsAssignment_1());
13371
13372 }
13373
13374
13375 }
13376
13377 }
13378 catch (RecognitionException re) {
13379 reportError(re);
13380 recover(input,re);
13381 }
13382 finally {
13383
13384 restoreStackSize(stackSize);
13385
13386 }
13387 return ;
13388 }
13389 // $ANTLR end "rule__Let__Group__1__Impl"
13390
13391
13392 // $ANTLR start "rule__Let__Group__2"
13393 // InternalSolverLanguageParser.g:4269:1: rule__Let__Group__2 : rule__Let__Group__2__Impl rule__Let__Group__3 ;
13394 public final void rule__Let__Group__2() throws RecognitionException {
13395
13396 int stackSize = keepStackSize();
13397
13398 try {
13399 // InternalSolverLanguageParser.g:4273:1: ( rule__Let__Group__2__Impl rule__Let__Group__3 )
13400 // InternalSolverLanguageParser.g:4274:2: rule__Let__Group__2__Impl rule__Let__Group__3
13401 {
13402 pushFollow(FOLLOW_24);
13403 rule__Let__Group__2__Impl();
13404
13405 state._fsp--;
13406
13407 pushFollow(FOLLOW_2);
13408 rule__Let__Group__3();
13409
13410 state._fsp--;
13411
13412
13413 }
13414
13415 }
13416 catch (RecognitionException re) {
13417 reportError(re);
13418 recover(input,re);
13419 }
13420 finally {
13421
13422 restoreStackSize(stackSize);
13423
13424 }
13425 return ;
13426 }
13427 // $ANTLR end "rule__Let__Group__2"
13428
13429
13430 // $ANTLR start "rule__Let__Group__2__Impl"
13431 // InternalSolverLanguageParser.g:4281:1: rule__Let__Group__2__Impl : ( ( rule__Let__Group_2__0 )* ) ;
13432 public final void rule__Let__Group__2__Impl() throws RecognitionException {
13433
13434 int stackSize = keepStackSize();
13435
13436 try {
13437 // InternalSolverLanguageParser.g:4285:1: ( ( ( rule__Let__Group_2__0 )* ) )
13438 // InternalSolverLanguageParser.g:4286:1: ( ( rule__Let__Group_2__0 )* )
13439 {
13440 // InternalSolverLanguageParser.g:4286:1: ( ( rule__Let__Group_2__0 )* )
13441 // InternalSolverLanguageParser.g:4287:2: ( rule__Let__Group_2__0 )*
13442 {
13443 before(grammarAccess.getLetAccess().getGroup_2());
13444 // InternalSolverLanguageParser.g:4288:2: ( rule__Let__Group_2__0 )*
13445 loop31:
13446 do {
13447 int alt31=2;
13448 int LA31_0 = input.LA(1);
13449
13450 if ( (LA31_0==Comma) ) {
13451 alt31=1;
13452 }
13453
13454
13455 switch (alt31) {
13456 case 1 :
13457 // InternalSolverLanguageParser.g:4288:3: rule__Let__Group_2__0
13458 {
13459 pushFollow(FOLLOW_20);
13460 rule__Let__Group_2__0();
13461
13462 state._fsp--;
13463
13464
13465 }
13466 break;
13467
13468 default :
13469 break loop31;
13470 }
13471 } while (true);
13472
13473 after(grammarAccess.getLetAccess().getGroup_2());
13474
13475 }
13476
13477
13478 }
13479
13480 }
13481 catch (RecognitionException re) {
13482 reportError(re);
13483 recover(input,re);
13484 }
13485 finally {
13486
13487 restoreStackSize(stackSize);
13488
13489 }
13490 return ;
13491 }
13492 // $ANTLR end "rule__Let__Group__2__Impl"
13493
13494
13495 // $ANTLR start "rule__Let__Group__3"
13496 // InternalSolverLanguageParser.g:4296:1: rule__Let__Group__3 : rule__Let__Group__3__Impl rule__Let__Group__4 ;
13497 public final void rule__Let__Group__3() throws RecognitionException {
13498
13499 int stackSize = keepStackSize();
13500
13501 try {
13502 // InternalSolverLanguageParser.g:4300:1: ( rule__Let__Group__3__Impl rule__Let__Group__4 )
13503 // InternalSolverLanguageParser.g:4301:2: rule__Let__Group__3__Impl rule__Let__Group__4
13504 {
13505 pushFollow(FOLLOW_7);
13506 rule__Let__Group__3__Impl();
13507
13508 state._fsp--;
13509
13510 pushFollow(FOLLOW_2);
13511 rule__Let__Group__4();
13512
13513 state._fsp--;
13514
13515
13516 }
13517
13518 }
13519 catch (RecognitionException re) {
13520 reportError(re);
13521 recover(input,re);
13522 }
13523 finally {
13524
13525 restoreStackSize(stackSize);
13526
13527 }
13528 return ;
13529 }
13530 // $ANTLR end "rule__Let__Group__3"
13531
13532
13533 // $ANTLR start "rule__Let__Group__3__Impl"
13534 // InternalSolverLanguageParser.g:4308:1: rule__Let__Group__3__Impl : ( In ) ;
13535 public final void rule__Let__Group__3__Impl() throws RecognitionException {
13536
13537 int stackSize = keepStackSize();
13538
13539 try {
13540 // InternalSolverLanguageParser.g:4312:1: ( ( In ) )
13541 // InternalSolverLanguageParser.g:4313:1: ( In )
13542 {
13543 // InternalSolverLanguageParser.g:4313:1: ( In )
13544 // InternalSolverLanguageParser.g:4314:2: In
13545 {
13546 before(grammarAccess.getLetAccess().getInKeyword_3());
13547 match(input,In,FOLLOW_2);
13548 after(grammarAccess.getLetAccess().getInKeyword_3());
13549
13550 }
13551
13552
13553 }
13554
13555 }
13556 catch (RecognitionException re) {
13557 reportError(re);
13558 recover(input,re);
13559 }
13560 finally {
13561
13562 restoreStackSize(stackSize);
13563
13564 }
13565 return ;
13566 }
13567 // $ANTLR end "rule__Let__Group__3__Impl"
13568
13569
13570 // $ANTLR start "rule__Let__Group__4"
13571 // InternalSolverLanguageParser.g:4323:1: rule__Let__Group__4 : rule__Let__Group__4__Impl ;
13572 public final void rule__Let__Group__4() throws RecognitionException {
13573
13574 int stackSize = keepStackSize();
13575
13576 try {
13577 // InternalSolverLanguageParser.g:4327:1: ( rule__Let__Group__4__Impl )
13578 // InternalSolverLanguageParser.g:4328:2: rule__Let__Group__4__Impl
13579 {
13580 pushFollow(FOLLOW_2);
13581 rule__Let__Group__4__Impl();
13582
13583 state._fsp--;
13584
13585
13586 }
13587
13588 }
13589 catch (RecognitionException re) {
13590 reportError(re);
13591 recover(input,re);
13592 }
13593 finally {
13594
13595 restoreStackSize(stackSize);
13596
13597 }
13598 return ;
13599 }
13600 // $ANTLR end "rule__Let__Group__4"
13601
13602
13603 // $ANTLR start "rule__Let__Group__4__Impl"
13604 // InternalSolverLanguageParser.g:4334:1: rule__Let__Group__4__Impl : ( ( rule__Let__BodyAssignment_4 ) ) ;
13605 public final void rule__Let__Group__4__Impl() throws RecognitionException {
13606
13607 int stackSize = keepStackSize();
13608
13609 try {
13610 // InternalSolverLanguageParser.g:4338:1: ( ( ( rule__Let__BodyAssignment_4 ) ) )
13611 // InternalSolverLanguageParser.g:4339:1: ( ( rule__Let__BodyAssignment_4 ) )
13612 {
13613 // InternalSolverLanguageParser.g:4339:1: ( ( rule__Let__BodyAssignment_4 ) )
13614 // InternalSolverLanguageParser.g:4340:2: ( rule__Let__BodyAssignment_4 )
13615 {
13616 before(grammarAccess.getLetAccess().getBodyAssignment_4());
13617 // InternalSolverLanguageParser.g:4341:2: ( rule__Let__BodyAssignment_4 )
13618 // InternalSolverLanguageParser.g:4341:3: rule__Let__BodyAssignment_4
13619 {
13620 pushFollow(FOLLOW_2);
13621 rule__Let__BodyAssignment_4();
13622
13623 state._fsp--;
13624
13625
13626 }
13627
13628 after(grammarAccess.getLetAccess().getBodyAssignment_4());
13629
13630 }
13631
13632
13633 }
13634
13635 }
13636 catch (RecognitionException re) {
13637 reportError(re);
13638 recover(input,re);
13639 }
13640 finally {
13641
13642 restoreStackSize(stackSize);
13643
13644 }
13645 return ;
13646 }
13647 // $ANTLR end "rule__Let__Group__4__Impl"
13648
13649
13650 // $ANTLR start "rule__Let__Group_2__0"
13651 // InternalSolverLanguageParser.g:4350:1: rule__Let__Group_2__0 : rule__Let__Group_2__0__Impl rule__Let__Group_2__1 ;
13652 public final void rule__Let__Group_2__0() throws RecognitionException {
13653
13654 int stackSize = keepStackSize();
13655
13656 try {
13657 // InternalSolverLanguageParser.g:4354:1: ( rule__Let__Group_2__0__Impl rule__Let__Group_2__1 )
13658 // InternalSolverLanguageParser.g:4355:2: rule__Let__Group_2__0__Impl rule__Let__Group_2__1
13659 {
13660 pushFollow(FOLLOW_9);
13661 rule__Let__Group_2__0__Impl();
13662
13663 state._fsp--;
13664
13665 pushFollow(FOLLOW_2);
13666 rule__Let__Group_2__1();
13667
13668 state._fsp--;
13669
13670
13671 }
13672
13673 }
13674 catch (RecognitionException re) {
13675 reportError(re);
13676 recover(input,re);
13677 }
13678 finally {
13679
13680 restoreStackSize(stackSize);
13681
13682 }
13683 return ;
13684 }
13685 // $ANTLR end "rule__Let__Group_2__0"
13686
13687
13688 // $ANTLR start "rule__Let__Group_2__0__Impl"
13689 // InternalSolverLanguageParser.g:4362:1: rule__Let__Group_2__0__Impl : ( Comma ) ;
13690 public final void rule__Let__Group_2__0__Impl() throws RecognitionException {
13691
13692 int stackSize = keepStackSize();
13693
13694 try {
13695 // InternalSolverLanguageParser.g:4366:1: ( ( Comma ) )
13696 // InternalSolverLanguageParser.g:4367:1: ( Comma )
13697 {
13698 // InternalSolverLanguageParser.g:4367:1: ( Comma )
13699 // InternalSolverLanguageParser.g:4368:2: Comma
13700 {
13701 before(grammarAccess.getLetAccess().getCommaKeyword_2_0());
13702 match(input,Comma,FOLLOW_2);
13703 after(grammarAccess.getLetAccess().getCommaKeyword_2_0());
13704
13705 }
13706
13707
13708 }
13709
13710 }
13711 catch (RecognitionException re) {
13712 reportError(re);
13713 recover(input,re);
13714 }
13715 finally {
13716
13717 restoreStackSize(stackSize);
13718
13719 }
13720 return ;
13721 }
13722 // $ANTLR end "rule__Let__Group_2__0__Impl"
13723
13724
13725 // $ANTLR start "rule__Let__Group_2__1"
13726 // InternalSolverLanguageParser.g:4377:1: rule__Let__Group_2__1 : rule__Let__Group_2__1__Impl ;
13727 public final void rule__Let__Group_2__1() throws RecognitionException {
13728
13729 int stackSize = keepStackSize();
13730
13731 try {
13732 // InternalSolverLanguageParser.g:4381:1: ( rule__Let__Group_2__1__Impl )
13733 // InternalSolverLanguageParser.g:4382:2: rule__Let__Group_2__1__Impl
13734 {
13735 pushFollow(FOLLOW_2);
13736 rule__Let__Group_2__1__Impl();
13737
13738 state._fsp--;
13739
13740
13741 }
13742
13743 }
13744 catch (RecognitionException re) {
13745 reportError(re);
13746 recover(input,re);
13747 }
13748 finally {
13749
13750 restoreStackSize(stackSize);
13751
13752 }
13753 return ;
13754 }
13755 // $ANTLR end "rule__Let__Group_2__1"
13756
13757
13758 // $ANTLR start "rule__Let__Group_2__1__Impl"
13759 // InternalSolverLanguageParser.g:4388:1: rule__Let__Group_2__1__Impl : ( ( rule__Let__BindingsAssignment_2_1 ) ) ;
13760 public final void rule__Let__Group_2__1__Impl() throws RecognitionException {
13761
13762 int stackSize = keepStackSize();
13763
13764 try {
13765 // InternalSolverLanguageParser.g:4392:1: ( ( ( rule__Let__BindingsAssignment_2_1 ) ) )
13766 // InternalSolverLanguageParser.g:4393:1: ( ( rule__Let__BindingsAssignment_2_1 ) )
13767 {
13768 // InternalSolverLanguageParser.g:4393:1: ( ( rule__Let__BindingsAssignment_2_1 ) )
13769 // InternalSolverLanguageParser.g:4394:2: ( rule__Let__BindingsAssignment_2_1 )
13770 {
13771 before(grammarAccess.getLetAccess().getBindingsAssignment_2_1());
13772 // InternalSolverLanguageParser.g:4395:2: ( rule__Let__BindingsAssignment_2_1 )
13773 // InternalSolverLanguageParser.g:4395:3: rule__Let__BindingsAssignment_2_1
13774 {
13775 pushFollow(FOLLOW_2);
13776 rule__Let__BindingsAssignment_2_1();
13777
13778 state._fsp--;
13779
13780
13781 }
13782
13783 after(grammarAccess.getLetAccess().getBindingsAssignment_2_1());
13784
13785 }
13786
13787
13788 }
13789
13790 }
13791 catch (RecognitionException re) {
13792 reportError(re);
13793 recover(input,re);
13794 }
13795 finally {
13796
13797 restoreStackSize(stackSize);
13798
13799 }
13800 return ;
13801 }
13802 // $ANTLR end "rule__Let__Group_2__1__Impl"
13803
13804
13805 // $ANTLR start "rule__LetBinding__Group__0"
13806 // InternalSolverLanguageParser.g:4404:1: rule__LetBinding__Group__0 : rule__LetBinding__Group__0__Impl rule__LetBinding__Group__1 ;
13807 public final void rule__LetBinding__Group__0() throws RecognitionException {
13808
13809 int stackSize = keepStackSize();
13810
13811 try {
13812 // InternalSolverLanguageParser.g:4408:1: ( rule__LetBinding__Group__0__Impl rule__LetBinding__Group__1 )
13813 // InternalSolverLanguageParser.g:4409:2: rule__LetBinding__Group__0__Impl rule__LetBinding__Group__1
13814 {
13815 pushFollow(FOLLOW_13);
13816 rule__LetBinding__Group__0__Impl();
13817
13818 state._fsp--;
13819
13820 pushFollow(FOLLOW_2);
13821 rule__LetBinding__Group__1();
13822
13823 state._fsp--;
13824
13825
13826 }
13827
13828 }
13829 catch (RecognitionException re) {
13830 reportError(re);
13831 recover(input,re);
13832 }
13833 finally {
13834
13835 restoreStackSize(stackSize);
13836
13837 }
13838 return ;
13839 }
13840 // $ANTLR end "rule__LetBinding__Group__0"
13841
13842
13843 // $ANTLR start "rule__LetBinding__Group__0__Impl"
13844 // InternalSolverLanguageParser.g:4416:1: rule__LetBinding__Group__0__Impl : ( ( rule__LetBinding__VariableAssignment_0 ) ) ;
13845 public final void rule__LetBinding__Group__0__Impl() throws RecognitionException {
13846
13847 int stackSize = keepStackSize();
13848
13849 try {
13850 // InternalSolverLanguageParser.g:4420:1: ( ( ( rule__LetBinding__VariableAssignment_0 ) ) )
13851 // InternalSolverLanguageParser.g:4421:1: ( ( rule__LetBinding__VariableAssignment_0 ) )
13852 {
13853 // InternalSolverLanguageParser.g:4421:1: ( ( rule__LetBinding__VariableAssignment_0 ) )
13854 // InternalSolverLanguageParser.g:4422:2: ( rule__LetBinding__VariableAssignment_0 )
13855 {
13856 before(grammarAccess.getLetBindingAccess().getVariableAssignment_0());
13857 // InternalSolverLanguageParser.g:4423:2: ( rule__LetBinding__VariableAssignment_0 )
13858 // InternalSolverLanguageParser.g:4423:3: rule__LetBinding__VariableAssignment_0
13859 {
13860 pushFollow(FOLLOW_2);
13861 rule__LetBinding__VariableAssignment_0();
13862
13863 state._fsp--;
13864
13865
13866 }
13867
13868 after(grammarAccess.getLetBindingAccess().getVariableAssignment_0());
13869
13870 }
13871
13872
13873 }
13874
13875 }
13876 catch (RecognitionException re) {
13877 reportError(re);
13878 recover(input,re);
13879 }
13880 finally {
13881
13882 restoreStackSize(stackSize);
13883
13884 }
13885 return ;
13886 }
13887 // $ANTLR end "rule__LetBinding__Group__0__Impl"
13888
13889
13890 // $ANTLR start "rule__LetBinding__Group__1"
13891 // InternalSolverLanguageParser.g:4431:1: rule__LetBinding__Group__1 : rule__LetBinding__Group__1__Impl rule__LetBinding__Group__2 ;
13892 public final void rule__LetBinding__Group__1() throws RecognitionException {
13893
13894 int stackSize = keepStackSize();
13895
13896 try {
13897 // InternalSolverLanguageParser.g:4435:1: ( rule__LetBinding__Group__1__Impl rule__LetBinding__Group__2 )
13898 // InternalSolverLanguageParser.g:4436:2: rule__LetBinding__Group__1__Impl rule__LetBinding__Group__2
13899 {
13900 pushFollow(FOLLOW_7);
13901 rule__LetBinding__Group__1__Impl();
13902
13903 state._fsp--;
13904
13905 pushFollow(FOLLOW_2);
13906 rule__LetBinding__Group__2();
13907
13908 state._fsp--;
13909
13910
13911 }
13912
13913 }
13914 catch (RecognitionException re) {
13915 reportError(re);
13916 recover(input,re);
13917 }
13918 finally {
13919
13920 restoreStackSize(stackSize);
13921
13922 }
13923 return ;
13924 }
13925 // $ANTLR end "rule__LetBinding__Group__1"
13926
13927
13928 // $ANTLR start "rule__LetBinding__Group__1__Impl"
13929 // InternalSolverLanguageParser.g:4443:1: rule__LetBinding__Group__1__Impl : ( EqualsSign ) ;
13930 public final void rule__LetBinding__Group__1__Impl() throws RecognitionException {
13931
13932 int stackSize = keepStackSize();
13933
13934 try {
13935 // InternalSolverLanguageParser.g:4447:1: ( ( EqualsSign ) )
13936 // InternalSolverLanguageParser.g:4448:1: ( EqualsSign )
13937 {
13938 // InternalSolverLanguageParser.g:4448:1: ( EqualsSign )
13939 // InternalSolverLanguageParser.g:4449:2: EqualsSign
13940 {
13941 before(grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
13942 match(input,EqualsSign,FOLLOW_2);
13943 after(grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
13944
13945 }
13946
13947
13948 }
13949
13950 }
13951 catch (RecognitionException re) {
13952 reportError(re);
13953 recover(input,re);
13954 }
13955 finally {
13956
13957 restoreStackSize(stackSize);
13958
13959 }
13960 return ;
13961 }
13962 // $ANTLR end "rule__LetBinding__Group__1__Impl"
13963
13964
13965 // $ANTLR start "rule__LetBinding__Group__2"
13966 // InternalSolverLanguageParser.g:4458:1: rule__LetBinding__Group__2 : rule__LetBinding__Group__2__Impl ;
13967 public final void rule__LetBinding__Group__2() throws RecognitionException {
13968
13969 int stackSize = keepStackSize();
13970
13971 try {
13972 // InternalSolverLanguageParser.g:4462:1: ( rule__LetBinding__Group__2__Impl )
13973 // InternalSolverLanguageParser.g:4463:2: rule__LetBinding__Group__2__Impl
13974 {
13975 pushFollow(FOLLOW_2);
13976 rule__LetBinding__Group__2__Impl();
13977
13978 state._fsp--;
13979
13980
13981 }
13982
13983 }
13984 catch (RecognitionException re) {
13985 reportError(re);
13986 recover(input,re);
13987 }
13988 finally {
13989
13990 restoreStackSize(stackSize);
13991
13992 }
13993 return ;
13994 }
13995 // $ANTLR end "rule__LetBinding__Group__2"
13996
13997
13998 // $ANTLR start "rule__LetBinding__Group__2__Impl"
13999 // InternalSolverLanguageParser.g:4469:1: rule__LetBinding__Group__2__Impl : ( ( rule__LetBinding__ValueAssignment_2 ) ) ;
14000 public final void rule__LetBinding__Group__2__Impl() throws RecognitionException {
14001
14002 int stackSize = keepStackSize();
14003
14004 try {
14005 // InternalSolverLanguageParser.g:4473:1: ( ( ( rule__LetBinding__ValueAssignment_2 ) ) )
14006 // InternalSolverLanguageParser.g:4474:1: ( ( rule__LetBinding__ValueAssignment_2 ) )
14007 {
14008 // InternalSolverLanguageParser.g:4474:1: ( ( rule__LetBinding__ValueAssignment_2 ) )
14009 // InternalSolverLanguageParser.g:4475:2: ( rule__LetBinding__ValueAssignment_2 )
14010 {
14011 before(grammarAccess.getLetBindingAccess().getValueAssignment_2());
14012 // InternalSolverLanguageParser.g:4476:2: ( rule__LetBinding__ValueAssignment_2 )
14013 // InternalSolverLanguageParser.g:4476:3: rule__LetBinding__ValueAssignment_2
14014 {
14015 pushFollow(FOLLOW_2);
14016 rule__LetBinding__ValueAssignment_2();
14017
14018 state._fsp--;
14019
14020
14021 }
14022
14023 after(grammarAccess.getLetBindingAccess().getValueAssignment_2());
14024
14025 }
14026
14027
14028 }
14029
14030 }
14031 catch (RecognitionException re) {
14032 reportError(re);
14033 recover(input,re);
14034 }
14035 finally {
14036
14037 restoreStackSize(stackSize);
14038
14039 }
14040 return ;
14041 }
14042 // $ANTLR end "rule__LetBinding__Group__2__Impl"
14043
14044
14045 // $ANTLR start "rule__ImplicationExpression__Group__0"
14046 // InternalSolverLanguageParser.g:4485:1: rule__ImplicationExpression__Group__0 : rule__ImplicationExpression__Group__0__Impl rule__ImplicationExpression__Group__1 ;
14047 public final void rule__ImplicationExpression__Group__0() throws RecognitionException {
14048
14049 int stackSize = keepStackSize();
14050
14051 try {
14052 // InternalSolverLanguageParser.g:4489:1: ( rule__ImplicationExpression__Group__0__Impl rule__ImplicationExpression__Group__1 )
14053 // InternalSolverLanguageParser.g:4490:2: rule__ImplicationExpression__Group__0__Impl rule__ImplicationExpression__Group__1
14054 {
14055 pushFollow(FOLLOW_25);
14056 rule__ImplicationExpression__Group__0__Impl();
14057
14058 state._fsp--;
14059
14060 pushFollow(FOLLOW_2);
14061 rule__ImplicationExpression__Group__1();
14062
14063 state._fsp--;
14064
14065
14066 }
14067
14068 }
14069 catch (RecognitionException re) {
14070 reportError(re);
14071 recover(input,re);
14072 }
14073 finally {
14074
14075 restoreStackSize(stackSize);
14076
14077 }
14078 return ;
14079 }
14080 // $ANTLR end "rule__ImplicationExpression__Group__0"
14081
14082
14083 // $ANTLR start "rule__ImplicationExpression__Group__0__Impl"
14084 // InternalSolverLanguageParser.g:4497:1: rule__ImplicationExpression__Group__0__Impl : ( ruleDisjunctiveExpression ) ;
14085 public final void rule__ImplicationExpression__Group__0__Impl() throws RecognitionException {
14086
14087 int stackSize = keepStackSize();
14088
14089 try {
14090 // InternalSolverLanguageParser.g:4501:1: ( ( ruleDisjunctiveExpression ) )
14091 // InternalSolverLanguageParser.g:4502:1: ( ruleDisjunctiveExpression )
14092 {
14093 // InternalSolverLanguageParser.g:4502:1: ( ruleDisjunctiveExpression )
14094 // InternalSolverLanguageParser.g:4503:2: ruleDisjunctiveExpression
14095 {
14096 before(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
14097 pushFollow(FOLLOW_2);
14098 ruleDisjunctiveExpression();
14099
14100 state._fsp--;
14101
14102 after(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
14103
14104 }
14105
14106
14107 }
14108
14109 }
14110 catch (RecognitionException re) {
14111 reportError(re);
14112 recover(input,re);
14113 }
14114 finally {
14115
14116 restoreStackSize(stackSize);
14117
14118 }
14119 return ;
14120 }
14121 // $ANTLR end "rule__ImplicationExpression__Group__0__Impl"
14122
14123
14124 // $ANTLR start "rule__ImplicationExpression__Group__1"
14125 // InternalSolverLanguageParser.g:4512:1: rule__ImplicationExpression__Group__1 : rule__ImplicationExpression__Group__1__Impl ;
14126 public final void rule__ImplicationExpression__Group__1() throws RecognitionException {
14127
14128 int stackSize = keepStackSize();
14129
14130 try {
14131 // InternalSolverLanguageParser.g:4516:1: ( rule__ImplicationExpression__Group__1__Impl )
14132 // InternalSolverLanguageParser.g:4517:2: rule__ImplicationExpression__Group__1__Impl
14133 {
14134 pushFollow(FOLLOW_2);
14135 rule__ImplicationExpression__Group__1__Impl();
14136
14137 state._fsp--;
14138
14139
14140 }
14141
14142 }
14143 catch (RecognitionException re) {
14144 reportError(re);
14145 recover(input,re);
14146 }
14147 finally {
14148
14149 restoreStackSize(stackSize);
14150
14151 }
14152 return ;
14153 }
14154 // $ANTLR end "rule__ImplicationExpression__Group__1"
14155
14156
14157 // $ANTLR start "rule__ImplicationExpression__Group__1__Impl"
14158 // InternalSolverLanguageParser.g:4523:1: rule__ImplicationExpression__Group__1__Impl : ( ( rule__ImplicationExpression__Group_1__0 )? ) ;
14159 public final void rule__ImplicationExpression__Group__1__Impl() throws RecognitionException {
14160
14161 int stackSize = keepStackSize();
14162
14163 try {
14164 // InternalSolverLanguageParser.g:4527:1: ( ( ( rule__ImplicationExpression__Group_1__0 )? ) )
14165 // InternalSolverLanguageParser.g:4528:1: ( ( rule__ImplicationExpression__Group_1__0 )? )
14166 {
14167 // InternalSolverLanguageParser.g:4528:1: ( ( rule__ImplicationExpression__Group_1__0 )? )
14168 // InternalSolverLanguageParser.g:4529:2: ( rule__ImplicationExpression__Group_1__0 )?
14169 {
14170 before(grammarAccess.getImplicationExpressionAccess().getGroup_1());
14171 // InternalSolverLanguageParser.g:4530:2: ( rule__ImplicationExpression__Group_1__0 )?
14172 int alt32=2;
14173 int LA32_0 = input.LA(1);
14174
14175 if ( (LA32_0==EqualsSignGreaterThanSign) ) {
14176 alt32=1;
14177 }
14178 switch (alt32) {
14179 case 1 :
14180 // InternalSolverLanguageParser.g:4530:3: rule__ImplicationExpression__Group_1__0
14181 {
14182 pushFollow(FOLLOW_2);
14183 rule__ImplicationExpression__Group_1__0();
14184
14185 state._fsp--;
14186
14187
14188 }
14189 break;
14190
14191 }
14192
14193 after(grammarAccess.getImplicationExpressionAccess().getGroup_1());
14194
14195 }
14196
14197
14198 }
14199
14200 }
14201 catch (RecognitionException re) {
14202 reportError(re);
14203 recover(input,re);
14204 }
14205 finally {
14206
14207 restoreStackSize(stackSize);
14208
14209 }
14210 return ;
14211 }
14212 // $ANTLR end "rule__ImplicationExpression__Group__1__Impl"
14213
14214
14215 // $ANTLR start "rule__ImplicationExpression__Group_1__0"
14216 // InternalSolverLanguageParser.g:4539:1: rule__ImplicationExpression__Group_1__0 : rule__ImplicationExpression__Group_1__0__Impl rule__ImplicationExpression__Group_1__1 ;
14217 public final void rule__ImplicationExpression__Group_1__0() throws RecognitionException {
14218
14219 int stackSize = keepStackSize();
14220
14221 try {
14222 // InternalSolverLanguageParser.g:4543:1: ( rule__ImplicationExpression__Group_1__0__Impl rule__ImplicationExpression__Group_1__1 )
14223 // InternalSolverLanguageParser.g:4544:2: rule__ImplicationExpression__Group_1__0__Impl rule__ImplicationExpression__Group_1__1
14224 {
14225 pushFollow(FOLLOW_25);
14226 rule__ImplicationExpression__Group_1__0__Impl();
14227
14228 state._fsp--;
14229
14230 pushFollow(FOLLOW_2);
14231 rule__ImplicationExpression__Group_1__1();
14232
14233 state._fsp--;
14234
14235
14236 }
14237
14238 }
14239 catch (RecognitionException re) {
14240 reportError(re);
14241 recover(input,re);
14242 }
14243 finally {
14244
14245 restoreStackSize(stackSize);
14246
14247 }
14248 return ;
14249 }
14250 // $ANTLR end "rule__ImplicationExpression__Group_1__0"
14251
14252
14253 // $ANTLR start "rule__ImplicationExpression__Group_1__0__Impl"
14254 // InternalSolverLanguageParser.g:4551:1: rule__ImplicationExpression__Group_1__0__Impl : ( () ) ;
14255 public final void rule__ImplicationExpression__Group_1__0__Impl() throws RecognitionException {
14256
14257 int stackSize = keepStackSize();
14258
14259 try {
14260 // InternalSolverLanguageParser.g:4555:1: ( ( () ) )
14261 // InternalSolverLanguageParser.g:4556:1: ( () )
14262 {
14263 // InternalSolverLanguageParser.g:4556:1: ( () )
14264 // InternalSolverLanguageParser.g:4557:2: ()
14265 {
14266 before(grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0());
14267 // InternalSolverLanguageParser.g:4558:2: ()
14268 // InternalSolverLanguageParser.g:4558:3:
14269 {
14270 }
14271
14272 after(grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0());
14273
14274 }
14275
14276
14277 }
14278
14279 }
14280 finally {
14281
14282 restoreStackSize(stackSize);
14283
14284 }
14285 return ;
14286 }
14287 // $ANTLR end "rule__ImplicationExpression__Group_1__0__Impl"
14288
14289
14290 // $ANTLR start "rule__ImplicationExpression__Group_1__1"
14291 // InternalSolverLanguageParser.g:4566:1: rule__ImplicationExpression__Group_1__1 : rule__ImplicationExpression__Group_1__1__Impl rule__ImplicationExpression__Group_1__2 ;
14292 public final void rule__ImplicationExpression__Group_1__1() throws RecognitionException {
14293
14294 int stackSize = keepStackSize();
14295
14296 try {
14297 // InternalSolverLanguageParser.g:4570:1: ( rule__ImplicationExpression__Group_1__1__Impl rule__ImplicationExpression__Group_1__2 )
14298 // InternalSolverLanguageParser.g:4571:2: rule__ImplicationExpression__Group_1__1__Impl rule__ImplicationExpression__Group_1__2
14299 {
14300 pushFollow(FOLLOW_7);
14301 rule__ImplicationExpression__Group_1__1__Impl();
14302
14303 state._fsp--;
14304
14305 pushFollow(FOLLOW_2);
14306 rule__ImplicationExpression__Group_1__2();
14307
14308 state._fsp--;
14309
14310
14311 }
14312
14313 }
14314 catch (RecognitionException re) {
14315 reportError(re);
14316 recover(input,re);
14317 }
14318 finally {
14319
14320 restoreStackSize(stackSize);
14321
14322 }
14323 return ;
14324 }
14325 // $ANTLR end "rule__ImplicationExpression__Group_1__1"
14326
14327
14328 // $ANTLR start "rule__ImplicationExpression__Group_1__1__Impl"
14329 // InternalSolverLanguageParser.g:4578:1: rule__ImplicationExpression__Group_1__1__Impl : ( ( rule__ImplicationExpression__OpAssignment_1_1 ) ) ;
14330 public final void rule__ImplicationExpression__Group_1__1__Impl() throws RecognitionException {
14331
14332 int stackSize = keepStackSize();
14333
14334 try {
14335 // InternalSolverLanguageParser.g:4582:1: ( ( ( rule__ImplicationExpression__OpAssignment_1_1 ) ) )
14336 // InternalSolverLanguageParser.g:4583:1: ( ( rule__ImplicationExpression__OpAssignment_1_1 ) )
14337 {
14338 // InternalSolverLanguageParser.g:4583:1: ( ( rule__ImplicationExpression__OpAssignment_1_1 ) )
14339 // InternalSolverLanguageParser.g:4584:2: ( rule__ImplicationExpression__OpAssignment_1_1 )
14340 {
14341 before(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1());
14342 // InternalSolverLanguageParser.g:4585:2: ( rule__ImplicationExpression__OpAssignment_1_1 )
14343 // InternalSolverLanguageParser.g:4585:3: rule__ImplicationExpression__OpAssignment_1_1
14344 {
14345 pushFollow(FOLLOW_2);
14346 rule__ImplicationExpression__OpAssignment_1_1();
14347
14348 state._fsp--;
14349
14350
14351 }
14352
14353 after(grammarAccess.getImplicationExpressionAccess().getOpAssignment_1_1());
14354
14355 }
14356
14357
14358 }
14359
14360 }
14361 catch (RecognitionException re) {
14362 reportError(re);
14363 recover(input,re);
14364 }
14365 finally {
14366
14367 restoreStackSize(stackSize);
14368
14369 }
14370 return ;
14371 }
14372 // $ANTLR end "rule__ImplicationExpression__Group_1__1__Impl"
14373
14374
14375 // $ANTLR start "rule__ImplicationExpression__Group_1__2"
14376 // InternalSolverLanguageParser.g:4593:1: rule__ImplicationExpression__Group_1__2 : rule__ImplicationExpression__Group_1__2__Impl ;
14377 public final void rule__ImplicationExpression__Group_1__2() throws RecognitionException {
14378
14379 int stackSize = keepStackSize();
14380
14381 try {
14382 // InternalSolverLanguageParser.g:4597:1: ( rule__ImplicationExpression__Group_1__2__Impl )
14383 // InternalSolverLanguageParser.g:4598:2: rule__ImplicationExpression__Group_1__2__Impl
14384 {
14385 pushFollow(FOLLOW_2);
14386 rule__ImplicationExpression__Group_1__2__Impl();
14387
14388 state._fsp--;
14389
14390
14391 }
14392
14393 }
14394 catch (RecognitionException re) {
14395 reportError(re);
14396 recover(input,re);
14397 }
14398 finally {
14399
14400 restoreStackSize(stackSize);
14401
14402 }
14403 return ;
14404 }
14405 // $ANTLR end "rule__ImplicationExpression__Group_1__2"
14406
14407
14408 // $ANTLR start "rule__ImplicationExpression__Group_1__2__Impl"
14409 // InternalSolverLanguageParser.g:4604:1: rule__ImplicationExpression__Group_1__2__Impl : ( ( rule__ImplicationExpression__RightAssignment_1_2 ) ) ;
14410 public final void rule__ImplicationExpression__Group_1__2__Impl() throws RecognitionException {
14411
14412 int stackSize = keepStackSize();
14413
14414 try {
14415 // InternalSolverLanguageParser.g:4608:1: ( ( ( rule__ImplicationExpression__RightAssignment_1_2 ) ) )
14416 // InternalSolverLanguageParser.g:4609:1: ( ( rule__ImplicationExpression__RightAssignment_1_2 ) )
14417 {
14418 // InternalSolverLanguageParser.g:4609:1: ( ( rule__ImplicationExpression__RightAssignment_1_2 ) )
14419 // InternalSolverLanguageParser.g:4610:2: ( rule__ImplicationExpression__RightAssignment_1_2 )
14420 {
14421 before(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2());
14422 // InternalSolverLanguageParser.g:4611:2: ( rule__ImplicationExpression__RightAssignment_1_2 )
14423 // InternalSolverLanguageParser.g:4611:3: rule__ImplicationExpression__RightAssignment_1_2
14424 {
14425 pushFollow(FOLLOW_2);
14426 rule__ImplicationExpression__RightAssignment_1_2();
14427
14428 state._fsp--;
14429
14430
14431 }
14432
14433 after(grammarAccess.getImplicationExpressionAccess().getRightAssignment_1_2());
14434
14435 }
14436
14437
14438 }
14439
14440 }
14441 catch (RecognitionException re) {
14442 reportError(re);
14443 recover(input,re);
14444 }
14445 finally {
14446
14447 restoreStackSize(stackSize);
14448
14449 }
14450 return ;
14451 }
14452 // $ANTLR end "rule__ImplicationExpression__Group_1__2__Impl"
14453
14454
11210 // $ANTLR start "rule__DisjunctiveExpression__Group__0" 14455 // $ANTLR start "rule__DisjunctiveExpression__Group__0"
11211 // InternalSolverLanguageParser.g:3536:1: rule__DisjunctiveExpression__Group__0 : rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ; 14456 // InternalSolverLanguageParser.g:4620:1: rule__DisjunctiveExpression__Group__0 : rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ;
11212 public final void rule__DisjunctiveExpression__Group__0() throws RecognitionException { 14457 public final void rule__DisjunctiveExpression__Group__0() throws RecognitionException {
11213 14458
11214 int stackSize = keepStackSize(); 14459 int stackSize = keepStackSize();
11215 14460
11216 try { 14461 try {
11217 // InternalSolverLanguageParser.g:3540:1: ( rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ) 14462 // InternalSolverLanguageParser.g:4624:1: ( rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 )
11218 // InternalSolverLanguageParser.g:3541:2: rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 14463 // InternalSolverLanguageParser.g:4625:2: rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1
11219 { 14464 {
11220 pushFollow(FOLLOW_17); 14465 pushFollow(FOLLOW_26);
11221 rule__DisjunctiveExpression__Group__0__Impl(); 14466 rule__DisjunctiveExpression__Group__0__Impl();
11222 14467
11223 state._fsp--; 14468 state._fsp--;
@@ -11246,17 +14491,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11246 14491
11247 14492
11248 // $ANTLR start "rule__DisjunctiveExpression__Group__0__Impl" 14493 // $ANTLR start "rule__DisjunctiveExpression__Group__0__Impl"
11249 // InternalSolverLanguageParser.g:3548:1: rule__DisjunctiveExpression__Group__0__Impl : ( ruleConjunctiveExpression ) ; 14494 // InternalSolverLanguageParser.g:4632:1: rule__DisjunctiveExpression__Group__0__Impl : ( ruleConjunctiveExpression ) ;
11250 public final void rule__DisjunctiveExpression__Group__0__Impl() throws RecognitionException { 14495 public final void rule__DisjunctiveExpression__Group__0__Impl() throws RecognitionException {
11251 14496
11252 int stackSize = keepStackSize(); 14497 int stackSize = keepStackSize();
11253 14498
11254 try { 14499 try {
11255 // InternalSolverLanguageParser.g:3552:1: ( ( ruleConjunctiveExpression ) ) 14500 // InternalSolverLanguageParser.g:4636:1: ( ( ruleConjunctiveExpression ) )
11256 // InternalSolverLanguageParser.g:3553:1: ( ruleConjunctiveExpression ) 14501 // InternalSolverLanguageParser.g:4637:1: ( ruleConjunctiveExpression )
11257 { 14502 {
11258 // InternalSolverLanguageParser.g:3553:1: ( ruleConjunctiveExpression ) 14503 // InternalSolverLanguageParser.g:4637:1: ( ruleConjunctiveExpression )
11259 // InternalSolverLanguageParser.g:3554:2: ruleConjunctiveExpression 14504 // InternalSolverLanguageParser.g:4638:2: ruleConjunctiveExpression
11260 { 14505 {
11261 before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); 14506 before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
11262 pushFollow(FOLLOW_2); 14507 pushFollow(FOLLOW_2);
@@ -11287,14 +14532,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11287 14532
11288 14533
11289 // $ANTLR start "rule__DisjunctiveExpression__Group__1" 14534 // $ANTLR start "rule__DisjunctiveExpression__Group__1"
11290 // InternalSolverLanguageParser.g:3563:1: rule__DisjunctiveExpression__Group__1 : rule__DisjunctiveExpression__Group__1__Impl ; 14535 // InternalSolverLanguageParser.g:4647:1: rule__DisjunctiveExpression__Group__1 : rule__DisjunctiveExpression__Group__1__Impl ;
11291 public final void rule__DisjunctiveExpression__Group__1() throws RecognitionException { 14536 public final void rule__DisjunctiveExpression__Group__1() throws RecognitionException {
11292 14537
11293 int stackSize = keepStackSize(); 14538 int stackSize = keepStackSize();
11294 14539
11295 try { 14540 try {
11296 // InternalSolverLanguageParser.g:3567:1: ( rule__DisjunctiveExpression__Group__1__Impl ) 14541 // InternalSolverLanguageParser.g:4651:1: ( rule__DisjunctiveExpression__Group__1__Impl )
11297 // InternalSolverLanguageParser.g:3568:2: rule__DisjunctiveExpression__Group__1__Impl 14542 // InternalSolverLanguageParser.g:4652:2: rule__DisjunctiveExpression__Group__1__Impl
11298 { 14543 {
11299 pushFollow(FOLLOW_2); 14544 pushFollow(FOLLOW_2);
11300 rule__DisjunctiveExpression__Group__1__Impl(); 14545 rule__DisjunctiveExpression__Group__1__Impl();
@@ -11320,29 +14565,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11320 14565
11321 14566
11322 // $ANTLR start "rule__DisjunctiveExpression__Group__1__Impl" 14567 // $ANTLR start "rule__DisjunctiveExpression__Group__1__Impl"
11323 // InternalSolverLanguageParser.g:3574:1: rule__DisjunctiveExpression__Group__1__Impl : ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ; 14568 // InternalSolverLanguageParser.g:4658:1: rule__DisjunctiveExpression__Group__1__Impl : ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ;
11324 public final void rule__DisjunctiveExpression__Group__1__Impl() throws RecognitionException { 14569 public final void rule__DisjunctiveExpression__Group__1__Impl() throws RecognitionException {
11325 14570
11326 int stackSize = keepStackSize(); 14571 int stackSize = keepStackSize();
11327 14572
11328 try { 14573 try {
11329 // InternalSolverLanguageParser.g:3578:1: ( ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ) 14574 // InternalSolverLanguageParser.g:4662:1: ( ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) )
11330 // InternalSolverLanguageParser.g:3579:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) 14575 // InternalSolverLanguageParser.g:4663:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? )
11331 { 14576 {
11332 // InternalSolverLanguageParser.g:3579:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) 14577 // InternalSolverLanguageParser.g:4663:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? )
11333 // InternalSolverLanguageParser.g:3580:2: ( rule__DisjunctiveExpression__Alternatives_1 )? 14578 // InternalSolverLanguageParser.g:4664:2: ( rule__DisjunctiveExpression__Alternatives_1 )?
11334 { 14579 {
11335 before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); 14580 before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1());
11336 // InternalSolverLanguageParser.g:3581:2: ( rule__DisjunctiveExpression__Alternatives_1 )? 14581 // InternalSolverLanguageParser.g:4665:2: ( rule__DisjunctiveExpression__Alternatives_1 )?
11337 int alt30=2; 14582 int alt33=2;
11338 int LA30_0 = input.LA(1); 14583 int LA33_0 = input.LA(1);
11339 14584
11340 if ( (LA30_0==HyphenMinusGreaterThanSign||LA30_0==Semicolon) ) { 14585 if ( (LA33_0==HyphenMinusGreaterThanSign||LA33_0==Semicolon) ) {
11341 alt30=1; 14586 alt33=1;
11342 } 14587 }
11343 switch (alt30) { 14588 switch (alt33) {
11344 case 1 : 14589 case 1 :
11345 // InternalSolverLanguageParser.g:3581:3: rule__DisjunctiveExpression__Alternatives_1 14590 // InternalSolverLanguageParser.g:4665:3: rule__DisjunctiveExpression__Alternatives_1
11346 { 14591 {
11347 pushFollow(FOLLOW_2); 14592 pushFollow(FOLLOW_2);
11348 rule__DisjunctiveExpression__Alternatives_1(); 14593 rule__DisjunctiveExpression__Alternatives_1();
@@ -11378,16 +14623,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11378 14623
11379 14624
11380 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0" 14625 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0"
11381 // InternalSolverLanguageParser.g:3590:1: rule__DisjunctiveExpression__Group_1_0__0 : rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ; 14626 // InternalSolverLanguageParser.g:4674:1: rule__DisjunctiveExpression__Group_1_0__0 : rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ;
11382 public final void rule__DisjunctiveExpression__Group_1_0__0() throws RecognitionException { 14627 public final void rule__DisjunctiveExpression__Group_1_0__0() throws RecognitionException {
11383 14628
11384 int stackSize = keepStackSize(); 14629 int stackSize = keepStackSize();
11385 14630
11386 try { 14631 try {
11387 // InternalSolverLanguageParser.g:3594:1: ( rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ) 14632 // InternalSolverLanguageParser.g:4678:1: ( rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 )
11388 // InternalSolverLanguageParser.g:3595:2: rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 14633 // InternalSolverLanguageParser.g:4679:2: rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1
11389 { 14634 {
11390 pushFollow(FOLLOW_18); 14635 pushFollow(FOLLOW_27);
11391 rule__DisjunctiveExpression__Group_1_0__0__Impl(); 14636 rule__DisjunctiveExpression__Group_1_0__0__Impl();
11392 14637
11393 state._fsp--; 14638 state._fsp--;
@@ -11416,21 +14661,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11416 14661
11417 14662
11418 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0__Impl" 14663 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0__Impl"
11419 // InternalSolverLanguageParser.g:3602:1: rule__DisjunctiveExpression__Group_1_0__0__Impl : ( () ) ; 14664 // InternalSolverLanguageParser.g:4686:1: rule__DisjunctiveExpression__Group_1_0__0__Impl : ( () ) ;
11420 public final void rule__DisjunctiveExpression__Group_1_0__0__Impl() throws RecognitionException { 14665 public final void rule__DisjunctiveExpression__Group_1_0__0__Impl() throws RecognitionException {
11421 14666
11422 int stackSize = keepStackSize(); 14667 int stackSize = keepStackSize();
11423 14668
11424 try { 14669 try {
11425 // InternalSolverLanguageParser.g:3606:1: ( ( () ) ) 14670 // InternalSolverLanguageParser.g:4690:1: ( ( () ) )
11426 // InternalSolverLanguageParser.g:3607:1: ( () ) 14671 // InternalSolverLanguageParser.g:4691:1: ( () )
11427 { 14672 {
11428 // InternalSolverLanguageParser.g:3607:1: ( () ) 14673 // InternalSolverLanguageParser.g:4691:1: ( () )
11429 // InternalSolverLanguageParser.g:3608:2: () 14674 // InternalSolverLanguageParser.g:4692:2: ()
11430 { 14675 {
11431 before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); 14676 before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0());
11432 // InternalSolverLanguageParser.g:3609:2: () 14677 // InternalSolverLanguageParser.g:4693:2: ()
11433 // InternalSolverLanguageParser.g:3609:3: 14678 // InternalSolverLanguageParser.g:4693:3:
11434 { 14679 {
11435 } 14680 }
11436 14681
@@ -11453,14 +14698,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11453 14698
11454 14699
11455 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1" 14700 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1"
11456 // InternalSolverLanguageParser.g:3617:1: rule__DisjunctiveExpression__Group_1_0__1 : rule__DisjunctiveExpression__Group_1_0__1__Impl ; 14701 // InternalSolverLanguageParser.g:4701:1: rule__DisjunctiveExpression__Group_1_0__1 : rule__DisjunctiveExpression__Group_1_0__1__Impl ;
11457 public final void rule__DisjunctiveExpression__Group_1_0__1() throws RecognitionException { 14702 public final void rule__DisjunctiveExpression__Group_1_0__1() throws RecognitionException {
11458 14703
11459 int stackSize = keepStackSize(); 14704 int stackSize = keepStackSize();
11460 14705
11461 try { 14706 try {
11462 // InternalSolverLanguageParser.g:3621:1: ( rule__DisjunctiveExpression__Group_1_0__1__Impl ) 14707 // InternalSolverLanguageParser.g:4705:1: ( rule__DisjunctiveExpression__Group_1_0__1__Impl )
11463 // InternalSolverLanguageParser.g:3622:2: rule__DisjunctiveExpression__Group_1_0__1__Impl 14708 // InternalSolverLanguageParser.g:4706:2: rule__DisjunctiveExpression__Group_1_0__1__Impl
11464 { 14709 {
11465 pushFollow(FOLLOW_2); 14710 pushFollow(FOLLOW_2);
11466 rule__DisjunctiveExpression__Group_1_0__1__Impl(); 14711 rule__DisjunctiveExpression__Group_1_0__1__Impl();
@@ -11486,26 +14731,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11486 14731
11487 14732
11488 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1__Impl" 14733 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1__Impl"
11489 // InternalSolverLanguageParser.g:3628:1: rule__DisjunctiveExpression__Group_1_0__1__Impl : ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) ; 14734 // InternalSolverLanguageParser.g:4712:1: rule__DisjunctiveExpression__Group_1_0__1__Impl : ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) ;
11490 public final void rule__DisjunctiveExpression__Group_1_0__1__Impl() throws RecognitionException { 14735 public final void rule__DisjunctiveExpression__Group_1_0__1__Impl() throws RecognitionException {
11491 14736
11492 int stackSize = keepStackSize(); 14737 int stackSize = keepStackSize();
11493 14738
11494 try { 14739 try {
11495 // InternalSolverLanguageParser.g:3632:1: ( ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) ) 14740 // InternalSolverLanguageParser.g:4716:1: ( ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) )
11496 // InternalSolverLanguageParser.g:3633:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) 14741 // InternalSolverLanguageParser.g:4717:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) )
11497 { 14742 {
11498 // InternalSolverLanguageParser.g:3633:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) 14743 // InternalSolverLanguageParser.g:4717:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) )
11499 // InternalSolverLanguageParser.g:3634:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) 14744 // InternalSolverLanguageParser.g:4718:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* )
11500 { 14745 {
11501 // InternalSolverLanguageParser.g:3634:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) 14746 // InternalSolverLanguageParser.g:4718:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) )
11502 // InternalSolverLanguageParser.g:3635:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 ) 14747 // InternalSolverLanguageParser.g:4719:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )
11503 { 14748 {
11504 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); 14749 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
11505 // InternalSolverLanguageParser.g:3636:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 ) 14750 // InternalSolverLanguageParser.g:4720:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )
11506 // InternalSolverLanguageParser.g:3636:4: rule__DisjunctiveExpression__Group_1_0_1__0 14751 // InternalSolverLanguageParser.g:4720:4: rule__DisjunctiveExpression__Group_1_0_1__0
11507 { 14752 {
11508 pushFollow(FOLLOW_19); 14753 pushFollow(FOLLOW_28);
11509 rule__DisjunctiveExpression__Group_1_0_1__0(); 14754 rule__DisjunctiveExpression__Group_1_0_1__0();
11510 14755
11511 state._fsp--; 14756 state._fsp--;
@@ -11517,26 +14762,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11517 14762
11518 } 14763 }
11519 14764
11520 // InternalSolverLanguageParser.g:3639:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) 14765 // InternalSolverLanguageParser.g:4723:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* )
11521 // InternalSolverLanguageParser.g:3640:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )* 14766 // InternalSolverLanguageParser.g:4724:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )*
11522 { 14767 {
11523 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); 14768 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
11524 // InternalSolverLanguageParser.g:3641:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )* 14769 // InternalSolverLanguageParser.g:4725:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )*
11525 loop31: 14770 loop34:
11526 do { 14771 do {
11527 int alt31=2; 14772 int alt34=2;
11528 int LA31_0 = input.LA(1); 14773 int LA34_0 = input.LA(1);
11529 14774
11530 if ( (LA31_0==Semicolon) ) { 14775 if ( (LA34_0==Semicolon) ) {
11531 alt31=1; 14776 alt34=1;
11532 } 14777 }
11533 14778
11534 14779
11535 switch (alt31) { 14780 switch (alt34) {
11536 case 1 : 14781 case 1 :
11537 // InternalSolverLanguageParser.g:3641:4: rule__DisjunctiveExpression__Group_1_0_1__0 14782 // InternalSolverLanguageParser.g:4725:4: rule__DisjunctiveExpression__Group_1_0_1__0
11538 { 14783 {
11539 pushFollow(FOLLOW_19); 14784 pushFollow(FOLLOW_28);
11540 rule__DisjunctiveExpression__Group_1_0_1__0(); 14785 rule__DisjunctiveExpression__Group_1_0_1__0();
11541 14786
11542 state._fsp--; 14787 state._fsp--;
@@ -11546,7 +14791,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11546 break; 14791 break;
11547 14792
11548 default : 14793 default :
11549 break loop31; 14794 break loop34;
11550 } 14795 }
11551 } while (true); 14796 } while (true);
11552 14797
@@ -11576,14 +14821,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11576 14821
11577 14822
11578 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0" 14823 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0"
11579 // InternalSolverLanguageParser.g:3651:1: rule__DisjunctiveExpression__Group_1_0_1__0 : rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 ; 14824 // InternalSolverLanguageParser.g:4735:1: rule__DisjunctiveExpression__Group_1_0_1__0 : rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 ;
11580 public final void rule__DisjunctiveExpression__Group_1_0_1__0() throws RecognitionException { 14825 public final void rule__DisjunctiveExpression__Group_1_0_1__0() throws RecognitionException {
11581 14826
11582 int stackSize = keepStackSize(); 14827 int stackSize = keepStackSize();
11583 14828
11584 try { 14829 try {
11585 // InternalSolverLanguageParser.g:3655:1: ( rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 ) 14830 // InternalSolverLanguageParser.g:4739:1: ( rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 )
11586 // InternalSolverLanguageParser.g:3656:2: rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 14831 // InternalSolverLanguageParser.g:4740:2: rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1
11587 { 14832 {
11588 pushFollow(FOLLOW_7); 14833 pushFollow(FOLLOW_7);
11589 rule__DisjunctiveExpression__Group_1_0_1__0__Impl(); 14834 rule__DisjunctiveExpression__Group_1_0_1__0__Impl();
@@ -11614,17 +14859,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11614 14859
11615 14860
11616 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0__Impl" 14861 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0__Impl"
11617 // InternalSolverLanguageParser.g:3663:1: rule__DisjunctiveExpression__Group_1_0_1__0__Impl : ( Semicolon ) ; 14862 // InternalSolverLanguageParser.g:4747:1: rule__DisjunctiveExpression__Group_1_0_1__0__Impl : ( Semicolon ) ;
11618 public final void rule__DisjunctiveExpression__Group_1_0_1__0__Impl() throws RecognitionException { 14863 public final void rule__DisjunctiveExpression__Group_1_0_1__0__Impl() throws RecognitionException {
11619 14864
11620 int stackSize = keepStackSize(); 14865 int stackSize = keepStackSize();
11621 14866
11622 try { 14867 try {
11623 // InternalSolverLanguageParser.g:3667:1: ( ( Semicolon ) ) 14868 // InternalSolverLanguageParser.g:4751:1: ( ( Semicolon ) )
11624 // InternalSolverLanguageParser.g:3668:1: ( Semicolon ) 14869 // InternalSolverLanguageParser.g:4752:1: ( Semicolon )
11625 { 14870 {
11626 // InternalSolverLanguageParser.g:3668:1: ( Semicolon ) 14871 // InternalSolverLanguageParser.g:4752:1: ( Semicolon )
11627 // InternalSolverLanguageParser.g:3669:2: Semicolon 14872 // InternalSolverLanguageParser.g:4753:2: Semicolon
11628 { 14873 {
11629 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); 14874 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
11630 match(input,Semicolon,FOLLOW_2); 14875 match(input,Semicolon,FOLLOW_2);
@@ -11651,14 +14896,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11651 14896
11652 14897
11653 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1" 14898 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1"
11654 // InternalSolverLanguageParser.g:3678:1: rule__DisjunctiveExpression__Group_1_0_1__1 : rule__DisjunctiveExpression__Group_1_0_1__1__Impl ; 14899 // InternalSolverLanguageParser.g:4762:1: rule__DisjunctiveExpression__Group_1_0_1__1 : rule__DisjunctiveExpression__Group_1_0_1__1__Impl ;
11655 public final void rule__DisjunctiveExpression__Group_1_0_1__1() throws RecognitionException { 14900 public final void rule__DisjunctiveExpression__Group_1_0_1__1() throws RecognitionException {
11656 14901
11657 int stackSize = keepStackSize(); 14902 int stackSize = keepStackSize();
11658 14903
11659 try { 14904 try {
11660 // InternalSolverLanguageParser.g:3682:1: ( rule__DisjunctiveExpression__Group_1_0_1__1__Impl ) 14905 // InternalSolverLanguageParser.g:4766:1: ( rule__DisjunctiveExpression__Group_1_0_1__1__Impl )
11661 // InternalSolverLanguageParser.g:3683:2: rule__DisjunctiveExpression__Group_1_0_1__1__Impl 14906 // InternalSolverLanguageParser.g:4767:2: rule__DisjunctiveExpression__Group_1_0_1__1__Impl
11662 { 14907 {
11663 pushFollow(FOLLOW_2); 14908 pushFollow(FOLLOW_2);
11664 rule__DisjunctiveExpression__Group_1_0_1__1__Impl(); 14909 rule__DisjunctiveExpression__Group_1_0_1__1__Impl();
@@ -11684,21 +14929,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11684 14929
11685 14930
11686 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1__Impl" 14931 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1__Impl"
11687 // InternalSolverLanguageParser.g:3689:1: rule__DisjunctiveExpression__Group_1_0_1__1__Impl : ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ; 14932 // InternalSolverLanguageParser.g:4773:1: rule__DisjunctiveExpression__Group_1_0_1__1__Impl : ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ;
11688 public final void rule__DisjunctiveExpression__Group_1_0_1__1__Impl() throws RecognitionException { 14933 public final void rule__DisjunctiveExpression__Group_1_0_1__1__Impl() throws RecognitionException {
11689 14934
11690 int stackSize = keepStackSize(); 14935 int stackSize = keepStackSize();
11691 14936
11692 try { 14937 try {
11693 // InternalSolverLanguageParser.g:3693:1: ( ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ) 14938 // InternalSolverLanguageParser.g:4777:1: ( ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) )
11694 // InternalSolverLanguageParser.g:3694:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) 14939 // InternalSolverLanguageParser.g:4778:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) )
11695 { 14940 {
11696 // InternalSolverLanguageParser.g:3694:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) 14941 // InternalSolverLanguageParser.g:4778:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) )
11697 // InternalSolverLanguageParser.g:3695:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) 14942 // InternalSolverLanguageParser.g:4779:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 )
11698 { 14943 {
11699 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); 14944 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1());
11700 // InternalSolverLanguageParser.g:3696:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) 14945 // InternalSolverLanguageParser.g:4780:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 )
11701 // InternalSolverLanguageParser.g:3696:3: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 14946 // InternalSolverLanguageParser.g:4780:3: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1
11702 { 14947 {
11703 pushFollow(FOLLOW_2); 14948 pushFollow(FOLLOW_2);
11704 rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1(); 14949 rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1();
@@ -11731,16 +14976,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11731 14976
11732 14977
11733 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0" 14978 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0"
11734 // InternalSolverLanguageParser.g:3705:1: rule__DisjunctiveExpression__Group_1_1__0 : rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ; 14979 // InternalSolverLanguageParser.g:4789:1: rule__DisjunctiveExpression__Group_1_1__0 : rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ;
11735 public final void rule__DisjunctiveExpression__Group_1_1__0() throws RecognitionException { 14980 public final void rule__DisjunctiveExpression__Group_1_1__0() throws RecognitionException {
11736 14981
11737 int stackSize = keepStackSize(); 14982 int stackSize = keepStackSize();
11738 14983
11739 try { 14984 try {
11740 // InternalSolverLanguageParser.g:3709:1: ( rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ) 14985 // InternalSolverLanguageParser.g:4793:1: ( rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 )
11741 // InternalSolverLanguageParser.g:3710:2: rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 14986 // InternalSolverLanguageParser.g:4794:2: rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1
11742 { 14987 {
11743 pushFollow(FOLLOW_17); 14988 pushFollow(FOLLOW_26);
11744 rule__DisjunctiveExpression__Group_1_1__0__Impl(); 14989 rule__DisjunctiveExpression__Group_1_1__0__Impl();
11745 14990
11746 state._fsp--; 14991 state._fsp--;
@@ -11769,21 +15014,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11769 15014
11770 15015
11771 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0__Impl" 15016 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0__Impl"
11772 // InternalSolverLanguageParser.g:3717:1: rule__DisjunctiveExpression__Group_1_1__0__Impl : ( () ) ; 15017 // InternalSolverLanguageParser.g:4801:1: rule__DisjunctiveExpression__Group_1_1__0__Impl : ( () ) ;
11773 public final void rule__DisjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException { 15018 public final void rule__DisjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException {
11774 15019
11775 int stackSize = keepStackSize(); 15020 int stackSize = keepStackSize();
11776 15021
11777 try { 15022 try {
11778 // InternalSolverLanguageParser.g:3721:1: ( ( () ) ) 15023 // InternalSolverLanguageParser.g:4805:1: ( ( () ) )
11779 // InternalSolverLanguageParser.g:3722:1: ( () ) 15024 // InternalSolverLanguageParser.g:4806:1: ( () )
11780 { 15025 {
11781 // InternalSolverLanguageParser.g:3722:1: ( () ) 15026 // InternalSolverLanguageParser.g:4806:1: ( () )
11782 // InternalSolverLanguageParser.g:3723:2: () 15027 // InternalSolverLanguageParser.g:4807:2: ()
11783 { 15028 {
11784 before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); 15029 before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0());
11785 // InternalSolverLanguageParser.g:3724:2: () 15030 // InternalSolverLanguageParser.g:4808:2: ()
11786 // InternalSolverLanguageParser.g:3724:3: 15031 // InternalSolverLanguageParser.g:4808:3:
11787 { 15032 {
11788 } 15033 }
11789 15034
@@ -11806,14 +15051,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11806 15051
11807 15052
11808 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1" 15053 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1"
11809 // InternalSolverLanguageParser.g:3732:1: rule__DisjunctiveExpression__Group_1_1__1 : rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ; 15054 // InternalSolverLanguageParser.g:4816:1: rule__DisjunctiveExpression__Group_1_1__1 : rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ;
11810 public final void rule__DisjunctiveExpression__Group_1_1__1() throws RecognitionException { 15055 public final void rule__DisjunctiveExpression__Group_1_1__1() throws RecognitionException {
11811 15056
11812 int stackSize = keepStackSize(); 15057 int stackSize = keepStackSize();
11813 15058
11814 try { 15059 try {
11815 // InternalSolverLanguageParser.g:3736:1: ( rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ) 15060 // InternalSolverLanguageParser.g:4820:1: ( rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 )
11816 // InternalSolverLanguageParser.g:3737:2: rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 15061 // InternalSolverLanguageParser.g:4821:2: rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2
11817 { 15062 {
11818 pushFollow(FOLLOW_7); 15063 pushFollow(FOLLOW_7);
11819 rule__DisjunctiveExpression__Group_1_1__1__Impl(); 15064 rule__DisjunctiveExpression__Group_1_1__1__Impl();
@@ -11844,17 +15089,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11844 15089
11845 15090
11846 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1__Impl" 15091 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1__Impl"
11847 // InternalSolverLanguageParser.g:3744:1: rule__DisjunctiveExpression__Group_1_1__1__Impl : ( HyphenMinusGreaterThanSign ) ; 15092 // InternalSolverLanguageParser.g:4828:1: rule__DisjunctiveExpression__Group_1_1__1__Impl : ( HyphenMinusGreaterThanSign ) ;
11848 public final void rule__DisjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException { 15093 public final void rule__DisjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException {
11849 15094
11850 int stackSize = keepStackSize(); 15095 int stackSize = keepStackSize();
11851 15096
11852 try { 15097 try {
11853 // InternalSolverLanguageParser.g:3748:1: ( ( HyphenMinusGreaterThanSign ) ) 15098 // InternalSolverLanguageParser.g:4832:1: ( ( HyphenMinusGreaterThanSign ) )
11854 // InternalSolverLanguageParser.g:3749:1: ( HyphenMinusGreaterThanSign ) 15099 // InternalSolverLanguageParser.g:4833:1: ( HyphenMinusGreaterThanSign )
11855 { 15100 {
11856 // InternalSolverLanguageParser.g:3749:1: ( HyphenMinusGreaterThanSign ) 15101 // InternalSolverLanguageParser.g:4833:1: ( HyphenMinusGreaterThanSign )
11857 // InternalSolverLanguageParser.g:3750:2: HyphenMinusGreaterThanSign 15102 // InternalSolverLanguageParser.g:4834:2: HyphenMinusGreaterThanSign
11858 { 15103 {
11859 before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); 15104 before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
11860 match(input,HyphenMinusGreaterThanSign,FOLLOW_2); 15105 match(input,HyphenMinusGreaterThanSign,FOLLOW_2);
@@ -11881,16 +15126,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11881 15126
11882 15127
11883 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2" 15128 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2"
11884 // InternalSolverLanguageParser.g:3759:1: rule__DisjunctiveExpression__Group_1_1__2 : rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ; 15129 // InternalSolverLanguageParser.g:4843:1: rule__DisjunctiveExpression__Group_1_1__2 : rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ;
11885 public final void rule__DisjunctiveExpression__Group_1_1__2() throws RecognitionException { 15130 public final void rule__DisjunctiveExpression__Group_1_1__2() throws RecognitionException {
11886 15131
11887 int stackSize = keepStackSize(); 15132 int stackSize = keepStackSize();
11888 15133
11889 try { 15134 try {
11890 // InternalSolverLanguageParser.g:3763:1: ( rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ) 15135 // InternalSolverLanguageParser.g:4847:1: ( rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 )
11891 // InternalSolverLanguageParser.g:3764:2: rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 15136 // InternalSolverLanguageParser.g:4848:2: rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3
11892 { 15137 {
11893 pushFollow(FOLLOW_18); 15138 pushFollow(FOLLOW_27);
11894 rule__DisjunctiveExpression__Group_1_1__2__Impl(); 15139 rule__DisjunctiveExpression__Group_1_1__2__Impl();
11895 15140
11896 state._fsp--; 15141 state._fsp--;
@@ -11919,21 +15164,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11919 15164
11920 15165
11921 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2__Impl" 15166 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2__Impl"
11922 // InternalSolverLanguageParser.g:3771:1: rule__DisjunctiveExpression__Group_1_1__2__Impl : ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ; 15167 // InternalSolverLanguageParser.g:4855:1: rule__DisjunctiveExpression__Group_1_1__2__Impl : ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ;
11923 public final void rule__DisjunctiveExpression__Group_1_1__2__Impl() throws RecognitionException { 15168 public final void rule__DisjunctiveExpression__Group_1_1__2__Impl() throws RecognitionException {
11924 15169
11925 int stackSize = keepStackSize(); 15170 int stackSize = keepStackSize();
11926 15171
11927 try { 15172 try {
11928 // InternalSolverLanguageParser.g:3775:1: ( ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ) 15173 // InternalSolverLanguageParser.g:4859:1: ( ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) )
11929 // InternalSolverLanguageParser.g:3776:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) 15174 // InternalSolverLanguageParser.g:4860:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) )
11930 { 15175 {
11931 // InternalSolverLanguageParser.g:3776:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) 15176 // InternalSolverLanguageParser.g:4860:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) )
11932 // InternalSolverLanguageParser.g:3777:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) 15177 // InternalSolverLanguageParser.g:4861:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 )
11933 { 15178 {
11934 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); 15179 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2());
11935 // InternalSolverLanguageParser.g:3778:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) 15180 // InternalSolverLanguageParser.g:4862:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 )
11936 // InternalSolverLanguageParser.g:3778:3: rule__DisjunctiveExpression__BodyAssignment_1_1_2 15181 // InternalSolverLanguageParser.g:4862:3: rule__DisjunctiveExpression__BodyAssignment_1_1_2
11937 { 15182 {
11938 pushFollow(FOLLOW_2); 15183 pushFollow(FOLLOW_2);
11939 rule__DisjunctiveExpression__BodyAssignment_1_1_2(); 15184 rule__DisjunctiveExpression__BodyAssignment_1_1_2();
@@ -11966,16 +15211,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11966 15211
11967 15212
11968 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3" 15213 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3"
11969 // InternalSolverLanguageParser.g:3786:1: rule__DisjunctiveExpression__Group_1_1__3 : rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ; 15214 // InternalSolverLanguageParser.g:4870:1: rule__DisjunctiveExpression__Group_1_1__3 : rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ;
11970 public final void rule__DisjunctiveExpression__Group_1_1__3() throws RecognitionException { 15215 public final void rule__DisjunctiveExpression__Group_1_1__3() throws RecognitionException {
11971 15216
11972 int stackSize = keepStackSize(); 15217 int stackSize = keepStackSize();
11973 15218
11974 try { 15219 try {
11975 // InternalSolverLanguageParser.g:3790:1: ( rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ) 15220 // InternalSolverLanguageParser.g:4874:1: ( rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 )
11976 // InternalSolverLanguageParser.g:3791:2: rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 15221 // InternalSolverLanguageParser.g:4875:2: rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4
11977 { 15222 {
11978 pushFollow(FOLLOW_18); 15223 pushFollow(FOLLOW_27);
11979 rule__DisjunctiveExpression__Group_1_1__3__Impl(); 15224 rule__DisjunctiveExpression__Group_1_1__3__Impl();
11980 15225
11981 state._fsp--; 15226 state._fsp--;
@@ -12004,21 +15249,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12004 15249
12005 15250
12006 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3__Impl" 15251 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3__Impl"
12007 // InternalSolverLanguageParser.g:3798:1: rule__DisjunctiveExpression__Group_1_1__3__Impl : ( () ) ; 15252 // InternalSolverLanguageParser.g:4882:1: rule__DisjunctiveExpression__Group_1_1__3__Impl : ( () ) ;
12008 public final void rule__DisjunctiveExpression__Group_1_1__3__Impl() throws RecognitionException { 15253 public final void rule__DisjunctiveExpression__Group_1_1__3__Impl() throws RecognitionException {
12009 15254
12010 int stackSize = keepStackSize(); 15255 int stackSize = keepStackSize();
12011 15256
12012 try { 15257 try {
12013 // InternalSolverLanguageParser.g:3802:1: ( ( () ) ) 15258 // InternalSolverLanguageParser.g:4886:1: ( ( () ) )
12014 // InternalSolverLanguageParser.g:3803:1: ( () ) 15259 // InternalSolverLanguageParser.g:4887:1: ( () )
12015 { 15260 {
12016 // InternalSolverLanguageParser.g:3803:1: ( () ) 15261 // InternalSolverLanguageParser.g:4887:1: ( () )
12017 // InternalSolverLanguageParser.g:3804:2: () 15262 // InternalSolverLanguageParser.g:4888:2: ()
12018 { 15263 {
12019 before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); 15264 before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3());
12020 // InternalSolverLanguageParser.g:3805:2: () 15265 // InternalSolverLanguageParser.g:4889:2: ()
12021 // InternalSolverLanguageParser.g:3805:3: 15266 // InternalSolverLanguageParser.g:4889:3:
12022 { 15267 {
12023 } 15268 }
12024 15269
@@ -12041,14 +15286,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12041 15286
12042 15287
12043 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4" 15288 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4"
12044 // InternalSolverLanguageParser.g:3813:1: rule__DisjunctiveExpression__Group_1_1__4 : rule__DisjunctiveExpression__Group_1_1__4__Impl ; 15289 // InternalSolverLanguageParser.g:4897:1: rule__DisjunctiveExpression__Group_1_1__4 : rule__DisjunctiveExpression__Group_1_1__4__Impl ;
12045 public final void rule__DisjunctiveExpression__Group_1_1__4() throws RecognitionException { 15290 public final void rule__DisjunctiveExpression__Group_1_1__4() throws RecognitionException {
12046 15291
12047 int stackSize = keepStackSize(); 15292 int stackSize = keepStackSize();
12048 15293
12049 try { 15294 try {
12050 // InternalSolverLanguageParser.g:3817:1: ( rule__DisjunctiveExpression__Group_1_1__4__Impl ) 15295 // InternalSolverLanguageParser.g:4901:1: ( rule__DisjunctiveExpression__Group_1_1__4__Impl )
12051 // InternalSolverLanguageParser.g:3818:2: rule__DisjunctiveExpression__Group_1_1__4__Impl 15296 // InternalSolverLanguageParser.g:4902:2: rule__DisjunctiveExpression__Group_1_1__4__Impl
12052 { 15297 {
12053 pushFollow(FOLLOW_2); 15298 pushFollow(FOLLOW_2);
12054 rule__DisjunctiveExpression__Group_1_1__4__Impl(); 15299 rule__DisjunctiveExpression__Group_1_1__4__Impl();
@@ -12074,35 +15319,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12074 15319
12075 15320
12076 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4__Impl" 15321 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4__Impl"
12077 // InternalSolverLanguageParser.g:3824:1: rule__DisjunctiveExpression__Group_1_1__4__Impl : ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ; 15322 // InternalSolverLanguageParser.g:4908:1: rule__DisjunctiveExpression__Group_1_1__4__Impl : ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ;
12078 public final void rule__DisjunctiveExpression__Group_1_1__4__Impl() throws RecognitionException { 15323 public final void rule__DisjunctiveExpression__Group_1_1__4__Impl() throws RecognitionException {
12079 15324
12080 int stackSize = keepStackSize(); 15325 int stackSize = keepStackSize();
12081 15326
12082 try { 15327 try {
12083 // InternalSolverLanguageParser.g:3828:1: ( ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ) 15328 // InternalSolverLanguageParser.g:4912:1: ( ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) )
12084 // InternalSolverLanguageParser.g:3829:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) 15329 // InternalSolverLanguageParser.g:4913:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* )
12085 { 15330 {
12086 // InternalSolverLanguageParser.g:3829:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) 15331 // InternalSolverLanguageParser.g:4913:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* )
12087 // InternalSolverLanguageParser.g:3830:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )* 15332 // InternalSolverLanguageParser.g:4914:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )*
12088 { 15333 {
12089 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); 15334 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4());
12090 // InternalSolverLanguageParser.g:3831:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )* 15335 // InternalSolverLanguageParser.g:4915:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )*
12091 loop32: 15336 loop35:
12092 do { 15337 do {
12093 int alt32=2; 15338 int alt35=2;
12094 int LA32_0 = input.LA(1); 15339 int LA35_0 = input.LA(1);
12095 15340
12096 if ( (LA32_0==Semicolon) ) { 15341 if ( (LA35_0==Semicolon) ) {
12097 alt32=1; 15342 alt35=1;
12098 } 15343 }
12099 15344
12100 15345
12101 switch (alt32) { 15346 switch (alt35) {
12102 case 1 : 15347 case 1 :
12103 // InternalSolverLanguageParser.g:3831:3: rule__DisjunctiveExpression__Group_1_1_4__0 15348 // InternalSolverLanguageParser.g:4915:3: rule__DisjunctiveExpression__Group_1_1_4__0
12104 { 15349 {
12105 pushFollow(FOLLOW_19); 15350 pushFollow(FOLLOW_28);
12106 rule__DisjunctiveExpression__Group_1_1_4__0(); 15351 rule__DisjunctiveExpression__Group_1_1_4__0();
12107 15352
12108 state._fsp--; 15353 state._fsp--;
@@ -12112,7 +15357,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12112 break; 15357 break;
12113 15358
12114 default : 15359 default :
12115 break loop32; 15360 break loop35;
12116 } 15361 }
12117 } while (true); 15362 } while (true);
12118 15363
@@ -12139,14 +15384,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12139 15384
12140 15385
12141 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0" 15386 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0"
12142 // InternalSolverLanguageParser.g:3840:1: rule__DisjunctiveExpression__Group_1_1_4__0 : rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 ; 15387 // InternalSolverLanguageParser.g:4924:1: rule__DisjunctiveExpression__Group_1_1_4__0 : rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 ;
12143 public final void rule__DisjunctiveExpression__Group_1_1_4__0() throws RecognitionException { 15388 public final void rule__DisjunctiveExpression__Group_1_1_4__0() throws RecognitionException {
12144 15389
12145 int stackSize = keepStackSize(); 15390 int stackSize = keepStackSize();
12146 15391
12147 try { 15392 try {
12148 // InternalSolverLanguageParser.g:3844:1: ( rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 ) 15393 // InternalSolverLanguageParser.g:4928:1: ( rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 )
12149 // InternalSolverLanguageParser.g:3845:2: rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 15394 // InternalSolverLanguageParser.g:4929:2: rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1
12150 { 15395 {
12151 pushFollow(FOLLOW_7); 15396 pushFollow(FOLLOW_7);
12152 rule__DisjunctiveExpression__Group_1_1_4__0__Impl(); 15397 rule__DisjunctiveExpression__Group_1_1_4__0__Impl();
@@ -12177,17 +15422,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12177 15422
12178 15423
12179 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0__Impl" 15424 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0__Impl"
12180 // InternalSolverLanguageParser.g:3852:1: rule__DisjunctiveExpression__Group_1_1_4__0__Impl : ( Semicolon ) ; 15425 // InternalSolverLanguageParser.g:4936:1: rule__DisjunctiveExpression__Group_1_1_4__0__Impl : ( Semicolon ) ;
12181 public final void rule__DisjunctiveExpression__Group_1_1_4__0__Impl() throws RecognitionException { 15426 public final void rule__DisjunctiveExpression__Group_1_1_4__0__Impl() throws RecognitionException {
12182 15427
12183 int stackSize = keepStackSize(); 15428 int stackSize = keepStackSize();
12184 15429
12185 try { 15430 try {
12186 // InternalSolverLanguageParser.g:3856:1: ( ( Semicolon ) ) 15431 // InternalSolverLanguageParser.g:4940:1: ( ( Semicolon ) )
12187 // InternalSolverLanguageParser.g:3857:1: ( Semicolon ) 15432 // InternalSolverLanguageParser.g:4941:1: ( Semicolon )
12188 { 15433 {
12189 // InternalSolverLanguageParser.g:3857:1: ( Semicolon ) 15434 // InternalSolverLanguageParser.g:4941:1: ( Semicolon )
12190 // InternalSolverLanguageParser.g:3858:2: Semicolon 15435 // InternalSolverLanguageParser.g:4942:2: Semicolon
12191 { 15436 {
12192 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); 15437 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
12193 match(input,Semicolon,FOLLOW_2); 15438 match(input,Semicolon,FOLLOW_2);
@@ -12214,14 +15459,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12214 15459
12215 15460
12216 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1" 15461 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1"
12217 // InternalSolverLanguageParser.g:3867:1: rule__DisjunctiveExpression__Group_1_1_4__1 : rule__DisjunctiveExpression__Group_1_1_4__1__Impl ; 15462 // InternalSolverLanguageParser.g:4951:1: rule__DisjunctiveExpression__Group_1_1_4__1 : rule__DisjunctiveExpression__Group_1_1_4__1__Impl ;
12218 public final void rule__DisjunctiveExpression__Group_1_1_4__1() throws RecognitionException { 15463 public final void rule__DisjunctiveExpression__Group_1_1_4__1() throws RecognitionException {
12219 15464
12220 int stackSize = keepStackSize(); 15465 int stackSize = keepStackSize();
12221 15466
12222 try { 15467 try {
12223 // InternalSolverLanguageParser.g:3871:1: ( rule__DisjunctiveExpression__Group_1_1_4__1__Impl ) 15468 // InternalSolverLanguageParser.g:4955:1: ( rule__DisjunctiveExpression__Group_1_1_4__1__Impl )
12224 // InternalSolverLanguageParser.g:3872:2: rule__DisjunctiveExpression__Group_1_1_4__1__Impl 15469 // InternalSolverLanguageParser.g:4956:2: rule__DisjunctiveExpression__Group_1_1_4__1__Impl
12225 { 15470 {
12226 pushFollow(FOLLOW_2); 15471 pushFollow(FOLLOW_2);
12227 rule__DisjunctiveExpression__Group_1_1_4__1__Impl(); 15472 rule__DisjunctiveExpression__Group_1_1_4__1__Impl();
@@ -12247,21 +15492,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12247 15492
12248 15493
12249 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1__Impl" 15494 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1__Impl"
12250 // InternalSolverLanguageParser.g:3878:1: rule__DisjunctiveExpression__Group_1_1_4__1__Impl : ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ; 15495 // InternalSolverLanguageParser.g:4962:1: rule__DisjunctiveExpression__Group_1_1_4__1__Impl : ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ;
12251 public final void rule__DisjunctiveExpression__Group_1_1_4__1__Impl() throws RecognitionException { 15496 public final void rule__DisjunctiveExpression__Group_1_1_4__1__Impl() throws RecognitionException {
12252 15497
12253 int stackSize = keepStackSize(); 15498 int stackSize = keepStackSize();
12254 15499
12255 try { 15500 try {
12256 // InternalSolverLanguageParser.g:3882:1: ( ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ) 15501 // InternalSolverLanguageParser.g:4966:1: ( ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) )
12257 // InternalSolverLanguageParser.g:3883:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) 15502 // InternalSolverLanguageParser.g:4967:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) )
12258 { 15503 {
12259 // InternalSolverLanguageParser.g:3883:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) 15504 // InternalSolverLanguageParser.g:4967:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) )
12260 // InternalSolverLanguageParser.g:3884:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) 15505 // InternalSolverLanguageParser.g:4968:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 )
12261 { 15506 {
12262 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); 15507 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1());
12263 // InternalSolverLanguageParser.g:3885:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) 15508 // InternalSolverLanguageParser.g:4969:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 )
12264 // InternalSolverLanguageParser.g:3885:3: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 15509 // InternalSolverLanguageParser.g:4969:3: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1
12265 { 15510 {
12266 pushFollow(FOLLOW_2); 15511 pushFollow(FOLLOW_2);
12267 rule__DisjunctiveExpression__CasesAssignment_1_1_4_1(); 15512 rule__DisjunctiveExpression__CasesAssignment_1_1_4_1();
@@ -12294,16 +15539,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12294 15539
12295 15540
12296 // $ANTLR start "rule__Case__Group__0" 15541 // $ANTLR start "rule__Case__Group__0"
12297 // InternalSolverLanguageParser.g:3894:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; 15542 // InternalSolverLanguageParser.g:4978:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ;
12298 public final void rule__Case__Group__0() throws RecognitionException { 15543 public final void rule__Case__Group__0() throws RecognitionException {
12299 15544
12300 int stackSize = keepStackSize(); 15545 int stackSize = keepStackSize();
12301 15546
12302 try { 15547 try {
12303 // InternalSolverLanguageParser.g:3898:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) 15548 // InternalSolverLanguageParser.g:4982:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 )
12304 // InternalSolverLanguageParser.g:3899:2: rule__Case__Group__0__Impl rule__Case__Group__1 15549 // InternalSolverLanguageParser.g:4983:2: rule__Case__Group__0__Impl rule__Case__Group__1
12305 { 15550 {
12306 pushFollow(FOLLOW_20); 15551 pushFollow(FOLLOW_29);
12307 rule__Case__Group__0__Impl(); 15552 rule__Case__Group__0__Impl();
12308 15553
12309 state._fsp--; 15554 state._fsp--;
@@ -12332,21 +15577,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12332 15577
12333 15578
12334 // $ANTLR start "rule__Case__Group__0__Impl" 15579 // $ANTLR start "rule__Case__Group__0__Impl"
12335 // InternalSolverLanguageParser.g:3906:1: rule__Case__Group__0__Impl : ( ( rule__Case__ConditionAssignment_0 ) ) ; 15580 // InternalSolverLanguageParser.g:4990:1: rule__Case__Group__0__Impl : ( ( rule__Case__ConditionAssignment_0 ) ) ;
12336 public final void rule__Case__Group__0__Impl() throws RecognitionException { 15581 public final void rule__Case__Group__0__Impl() throws RecognitionException {
12337 15582
12338 int stackSize = keepStackSize(); 15583 int stackSize = keepStackSize();
12339 15584
12340 try { 15585 try {
12341 // InternalSolverLanguageParser.g:3910:1: ( ( ( rule__Case__ConditionAssignment_0 ) ) ) 15586 // InternalSolverLanguageParser.g:4994:1: ( ( ( rule__Case__ConditionAssignment_0 ) ) )
12342 // InternalSolverLanguageParser.g:3911:1: ( ( rule__Case__ConditionAssignment_0 ) ) 15587 // InternalSolverLanguageParser.g:4995:1: ( ( rule__Case__ConditionAssignment_0 ) )
12343 { 15588 {
12344 // InternalSolverLanguageParser.g:3911:1: ( ( rule__Case__ConditionAssignment_0 ) ) 15589 // InternalSolverLanguageParser.g:4995:1: ( ( rule__Case__ConditionAssignment_0 ) )
12345 // InternalSolverLanguageParser.g:3912:2: ( rule__Case__ConditionAssignment_0 ) 15590 // InternalSolverLanguageParser.g:4996:2: ( rule__Case__ConditionAssignment_0 )
12346 { 15591 {
12347 before(grammarAccess.getCaseAccess().getConditionAssignment_0()); 15592 before(grammarAccess.getCaseAccess().getConditionAssignment_0());
12348 // InternalSolverLanguageParser.g:3913:2: ( rule__Case__ConditionAssignment_0 ) 15593 // InternalSolverLanguageParser.g:4997:2: ( rule__Case__ConditionAssignment_0 )
12349 // InternalSolverLanguageParser.g:3913:3: rule__Case__ConditionAssignment_0 15594 // InternalSolverLanguageParser.g:4997:3: rule__Case__ConditionAssignment_0
12350 { 15595 {
12351 pushFollow(FOLLOW_2); 15596 pushFollow(FOLLOW_2);
12352 rule__Case__ConditionAssignment_0(); 15597 rule__Case__ConditionAssignment_0();
@@ -12379,14 +15624,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12379 15624
12380 15625
12381 // $ANTLR start "rule__Case__Group__1" 15626 // $ANTLR start "rule__Case__Group__1"
12382 // InternalSolverLanguageParser.g:3921:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; 15627 // InternalSolverLanguageParser.g:5005:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ;
12383 public final void rule__Case__Group__1() throws RecognitionException { 15628 public final void rule__Case__Group__1() throws RecognitionException {
12384 15629
12385 int stackSize = keepStackSize(); 15630 int stackSize = keepStackSize();
12386 15631
12387 try { 15632 try {
12388 // InternalSolverLanguageParser.g:3925:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) 15633 // InternalSolverLanguageParser.g:5009:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 )
12389 // InternalSolverLanguageParser.g:3926:2: rule__Case__Group__1__Impl rule__Case__Group__2 15634 // InternalSolverLanguageParser.g:5010:2: rule__Case__Group__1__Impl rule__Case__Group__2
12390 { 15635 {
12391 pushFollow(FOLLOW_7); 15636 pushFollow(FOLLOW_7);
12392 rule__Case__Group__1__Impl(); 15637 rule__Case__Group__1__Impl();
@@ -12417,17 +15662,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12417 15662
12418 15663
12419 // $ANTLR start "rule__Case__Group__1__Impl" 15664 // $ANTLR start "rule__Case__Group__1__Impl"
12420 // InternalSolverLanguageParser.g:3933:1: rule__Case__Group__1__Impl : ( HyphenMinusGreaterThanSign ) ; 15665 // InternalSolverLanguageParser.g:5017:1: rule__Case__Group__1__Impl : ( HyphenMinusGreaterThanSign ) ;
12421 public final void rule__Case__Group__1__Impl() throws RecognitionException { 15666 public final void rule__Case__Group__1__Impl() throws RecognitionException {
12422 15667
12423 int stackSize = keepStackSize(); 15668 int stackSize = keepStackSize();
12424 15669
12425 try { 15670 try {
12426 // InternalSolverLanguageParser.g:3937:1: ( ( HyphenMinusGreaterThanSign ) ) 15671 // InternalSolverLanguageParser.g:5021:1: ( ( HyphenMinusGreaterThanSign ) )
12427 // InternalSolverLanguageParser.g:3938:1: ( HyphenMinusGreaterThanSign ) 15672 // InternalSolverLanguageParser.g:5022:1: ( HyphenMinusGreaterThanSign )
12428 { 15673 {
12429 // InternalSolverLanguageParser.g:3938:1: ( HyphenMinusGreaterThanSign ) 15674 // InternalSolverLanguageParser.g:5022:1: ( HyphenMinusGreaterThanSign )
12430 // InternalSolverLanguageParser.g:3939:2: HyphenMinusGreaterThanSign 15675 // InternalSolverLanguageParser.g:5023:2: HyphenMinusGreaterThanSign
12431 { 15676 {
12432 before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); 15677 before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
12433 match(input,HyphenMinusGreaterThanSign,FOLLOW_2); 15678 match(input,HyphenMinusGreaterThanSign,FOLLOW_2);
@@ -12454,14 +15699,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12454 15699
12455 15700
12456 // $ANTLR start "rule__Case__Group__2" 15701 // $ANTLR start "rule__Case__Group__2"
12457 // InternalSolverLanguageParser.g:3948:1: rule__Case__Group__2 : rule__Case__Group__2__Impl ; 15702 // InternalSolverLanguageParser.g:5032:1: rule__Case__Group__2 : rule__Case__Group__2__Impl ;
12458 public final void rule__Case__Group__2() throws RecognitionException { 15703 public final void rule__Case__Group__2() throws RecognitionException {
12459 15704
12460 int stackSize = keepStackSize(); 15705 int stackSize = keepStackSize();
12461 15706
12462 try { 15707 try {
12463 // InternalSolverLanguageParser.g:3952:1: ( rule__Case__Group__2__Impl ) 15708 // InternalSolverLanguageParser.g:5036:1: ( rule__Case__Group__2__Impl )
12464 // InternalSolverLanguageParser.g:3953:2: rule__Case__Group__2__Impl 15709 // InternalSolverLanguageParser.g:5037:2: rule__Case__Group__2__Impl
12465 { 15710 {
12466 pushFollow(FOLLOW_2); 15711 pushFollow(FOLLOW_2);
12467 rule__Case__Group__2__Impl(); 15712 rule__Case__Group__2__Impl();
@@ -12487,21 +15732,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12487 15732
12488 15733
12489 // $ANTLR start "rule__Case__Group__2__Impl" 15734 // $ANTLR start "rule__Case__Group__2__Impl"
12490 // InternalSolverLanguageParser.g:3959:1: rule__Case__Group__2__Impl : ( ( rule__Case__BodyAssignment_2 ) ) ; 15735 // InternalSolverLanguageParser.g:5043:1: rule__Case__Group__2__Impl : ( ( rule__Case__BodyAssignment_2 ) ) ;
12491 public final void rule__Case__Group__2__Impl() throws RecognitionException { 15736 public final void rule__Case__Group__2__Impl() throws RecognitionException {
12492 15737
12493 int stackSize = keepStackSize(); 15738 int stackSize = keepStackSize();
12494 15739
12495 try { 15740 try {
12496 // InternalSolverLanguageParser.g:3963:1: ( ( ( rule__Case__BodyAssignment_2 ) ) ) 15741 // InternalSolverLanguageParser.g:5047:1: ( ( ( rule__Case__BodyAssignment_2 ) ) )
12497 // InternalSolverLanguageParser.g:3964:1: ( ( rule__Case__BodyAssignment_2 ) ) 15742 // InternalSolverLanguageParser.g:5048:1: ( ( rule__Case__BodyAssignment_2 ) )
12498 { 15743 {
12499 // InternalSolverLanguageParser.g:3964:1: ( ( rule__Case__BodyAssignment_2 ) ) 15744 // InternalSolverLanguageParser.g:5048:1: ( ( rule__Case__BodyAssignment_2 ) )
12500 // InternalSolverLanguageParser.g:3965:2: ( rule__Case__BodyAssignment_2 ) 15745 // InternalSolverLanguageParser.g:5049:2: ( rule__Case__BodyAssignment_2 )
12501 { 15746 {
12502 before(grammarAccess.getCaseAccess().getBodyAssignment_2()); 15747 before(grammarAccess.getCaseAccess().getBodyAssignment_2());
12503 // InternalSolverLanguageParser.g:3966:2: ( rule__Case__BodyAssignment_2 ) 15748 // InternalSolverLanguageParser.g:5050:2: ( rule__Case__BodyAssignment_2 )
12504 // InternalSolverLanguageParser.g:3966:3: rule__Case__BodyAssignment_2 15749 // InternalSolverLanguageParser.g:5050:3: rule__Case__BodyAssignment_2
12505 { 15750 {
12506 pushFollow(FOLLOW_2); 15751 pushFollow(FOLLOW_2);
12507 rule__Case__BodyAssignment_2(); 15752 rule__Case__BodyAssignment_2();
@@ -12534,16 +15779,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12534 15779
12535 15780
12536 // $ANTLR start "rule__ConjunctiveExpression__Group__0" 15781 // $ANTLR start "rule__ConjunctiveExpression__Group__0"
12537 // InternalSolverLanguageParser.g:3975:1: rule__ConjunctiveExpression__Group__0 : rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ; 15782 // InternalSolverLanguageParser.g:5059:1: rule__ConjunctiveExpression__Group__0 : rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ;
12538 public final void rule__ConjunctiveExpression__Group__0() throws RecognitionException { 15783 public final void rule__ConjunctiveExpression__Group__0() throws RecognitionException {
12539 15784
12540 int stackSize = keepStackSize(); 15785 int stackSize = keepStackSize();
12541 15786
12542 try { 15787 try {
12543 // InternalSolverLanguageParser.g:3979:1: ( rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ) 15788 // InternalSolverLanguageParser.g:5063:1: ( rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 )
12544 // InternalSolverLanguageParser.g:3980:2: rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 15789 // InternalSolverLanguageParser.g:5064:2: rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1
12545 { 15790 {
12546 pushFollow(FOLLOW_21); 15791 pushFollow(FOLLOW_19);
12547 rule__ConjunctiveExpression__Group__0__Impl(); 15792 rule__ConjunctiveExpression__Group__0__Impl();
12548 15793
12549 state._fsp--; 15794 state._fsp--;
@@ -12572,17 +15817,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12572 15817
12573 15818
12574 // $ANTLR start "rule__ConjunctiveExpression__Group__0__Impl" 15819 // $ANTLR start "rule__ConjunctiveExpression__Group__0__Impl"
12575 // InternalSolverLanguageParser.g:3987:1: rule__ConjunctiveExpression__Group__0__Impl : ( ruleComparisonExpression ) ; 15820 // InternalSolverLanguageParser.g:5071:1: rule__ConjunctiveExpression__Group__0__Impl : ( ruleComparisonExpression ) ;
12576 public final void rule__ConjunctiveExpression__Group__0__Impl() throws RecognitionException { 15821 public final void rule__ConjunctiveExpression__Group__0__Impl() throws RecognitionException {
12577 15822
12578 int stackSize = keepStackSize(); 15823 int stackSize = keepStackSize();
12579 15824
12580 try { 15825 try {
12581 // InternalSolverLanguageParser.g:3991:1: ( ( ruleComparisonExpression ) ) 15826 // InternalSolverLanguageParser.g:5075:1: ( ( ruleComparisonExpression ) )
12582 // InternalSolverLanguageParser.g:3992:1: ( ruleComparisonExpression ) 15827 // InternalSolverLanguageParser.g:5076:1: ( ruleComparisonExpression )
12583 { 15828 {
12584 // InternalSolverLanguageParser.g:3992:1: ( ruleComparisonExpression ) 15829 // InternalSolverLanguageParser.g:5076:1: ( ruleComparisonExpression )
12585 // InternalSolverLanguageParser.g:3993:2: ruleComparisonExpression 15830 // InternalSolverLanguageParser.g:5077:2: ruleComparisonExpression
12586 { 15831 {
12587 before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); 15832 before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
12588 pushFollow(FOLLOW_2); 15833 pushFollow(FOLLOW_2);
@@ -12613,14 +15858,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12613 15858
12614 15859
12615 // $ANTLR start "rule__ConjunctiveExpression__Group__1" 15860 // $ANTLR start "rule__ConjunctiveExpression__Group__1"
12616 // InternalSolverLanguageParser.g:4002:1: rule__ConjunctiveExpression__Group__1 : rule__ConjunctiveExpression__Group__1__Impl ; 15861 // InternalSolverLanguageParser.g:5086:1: rule__ConjunctiveExpression__Group__1 : rule__ConjunctiveExpression__Group__1__Impl ;
12617 public final void rule__ConjunctiveExpression__Group__1() throws RecognitionException { 15862 public final void rule__ConjunctiveExpression__Group__1() throws RecognitionException {
12618 15863
12619 int stackSize = keepStackSize(); 15864 int stackSize = keepStackSize();
12620 15865
12621 try { 15866 try {
12622 // InternalSolverLanguageParser.g:4006:1: ( rule__ConjunctiveExpression__Group__1__Impl ) 15867 // InternalSolverLanguageParser.g:5090:1: ( rule__ConjunctiveExpression__Group__1__Impl )
12623 // InternalSolverLanguageParser.g:4007:2: rule__ConjunctiveExpression__Group__1__Impl 15868 // InternalSolverLanguageParser.g:5091:2: rule__ConjunctiveExpression__Group__1__Impl
12624 { 15869 {
12625 pushFollow(FOLLOW_2); 15870 pushFollow(FOLLOW_2);
12626 rule__ConjunctiveExpression__Group__1__Impl(); 15871 rule__ConjunctiveExpression__Group__1__Impl();
@@ -12646,29 +15891,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12646 15891
12647 15892
12648 // $ANTLR start "rule__ConjunctiveExpression__Group__1__Impl" 15893 // $ANTLR start "rule__ConjunctiveExpression__Group__1__Impl"
12649 // InternalSolverLanguageParser.g:4013:1: rule__ConjunctiveExpression__Group__1__Impl : ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ; 15894 // InternalSolverLanguageParser.g:5097:1: rule__ConjunctiveExpression__Group__1__Impl : ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ;
12650 public final void rule__ConjunctiveExpression__Group__1__Impl() throws RecognitionException { 15895 public final void rule__ConjunctiveExpression__Group__1__Impl() throws RecognitionException {
12651 15896
12652 int stackSize = keepStackSize(); 15897 int stackSize = keepStackSize();
12653 15898
12654 try { 15899 try {
12655 // InternalSolverLanguageParser.g:4017:1: ( ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ) 15900 // InternalSolverLanguageParser.g:5101:1: ( ( ( rule__ConjunctiveExpression__Group_1__0 )? ) )
12656 // InternalSolverLanguageParser.g:4018:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? ) 15901 // InternalSolverLanguageParser.g:5102:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? )
12657 { 15902 {
12658 // InternalSolverLanguageParser.g:4018:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? ) 15903 // InternalSolverLanguageParser.g:5102:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? )
12659 // InternalSolverLanguageParser.g:4019:2: ( rule__ConjunctiveExpression__Group_1__0 )? 15904 // InternalSolverLanguageParser.g:5103:2: ( rule__ConjunctiveExpression__Group_1__0 )?
12660 { 15905 {
12661 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); 15906 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1());
12662 // InternalSolverLanguageParser.g:4020:2: ( rule__ConjunctiveExpression__Group_1__0 )? 15907 // InternalSolverLanguageParser.g:5104:2: ( rule__ConjunctiveExpression__Group_1__0 )?
12663 int alt33=2; 15908 int alt36=2;
12664 int LA33_0 = input.LA(1); 15909 int LA36_0 = input.LA(1);
12665 15910
12666 if ( (LA33_0==Comma) ) { 15911 if ( (LA36_0==Comma) ) {
12667 alt33=1; 15912 alt36=1;
12668 } 15913 }
12669 switch (alt33) { 15914 switch (alt36) {
12670 case 1 : 15915 case 1 :
12671 // InternalSolverLanguageParser.g:4020:3: rule__ConjunctiveExpression__Group_1__0 15916 // InternalSolverLanguageParser.g:5104:3: rule__ConjunctiveExpression__Group_1__0
12672 { 15917 {
12673 pushFollow(FOLLOW_2); 15918 pushFollow(FOLLOW_2);
12674 rule__ConjunctiveExpression__Group_1__0(); 15919 rule__ConjunctiveExpression__Group_1__0();
@@ -12704,16 +15949,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12704 15949
12705 15950
12706 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0" 15951 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0"
12707 // InternalSolverLanguageParser.g:4029:1: rule__ConjunctiveExpression__Group_1__0 : rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ; 15952 // InternalSolverLanguageParser.g:5113:1: rule__ConjunctiveExpression__Group_1__0 : rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ;
12708 public final void rule__ConjunctiveExpression__Group_1__0() throws RecognitionException { 15953 public final void rule__ConjunctiveExpression__Group_1__0() throws RecognitionException {
12709 15954
12710 int stackSize = keepStackSize(); 15955 int stackSize = keepStackSize();
12711 15956
12712 try { 15957 try {
12713 // InternalSolverLanguageParser.g:4033:1: ( rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ) 15958 // InternalSolverLanguageParser.g:5117:1: ( rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 )
12714 // InternalSolverLanguageParser.g:4034:2: rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 15959 // InternalSolverLanguageParser.g:5118:2: rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1
12715 { 15960 {
12716 pushFollow(FOLLOW_21); 15961 pushFollow(FOLLOW_19);
12717 rule__ConjunctiveExpression__Group_1__0__Impl(); 15962 rule__ConjunctiveExpression__Group_1__0__Impl();
12718 15963
12719 state._fsp--; 15964 state._fsp--;
@@ -12742,21 +15987,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12742 15987
12743 15988
12744 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0__Impl" 15989 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0__Impl"
12745 // InternalSolverLanguageParser.g:4041:1: rule__ConjunctiveExpression__Group_1__0__Impl : ( () ) ; 15990 // InternalSolverLanguageParser.g:5125:1: rule__ConjunctiveExpression__Group_1__0__Impl : ( () ) ;
12746 public final void rule__ConjunctiveExpression__Group_1__0__Impl() throws RecognitionException { 15991 public final void rule__ConjunctiveExpression__Group_1__0__Impl() throws RecognitionException {
12747 15992
12748 int stackSize = keepStackSize(); 15993 int stackSize = keepStackSize();
12749 15994
12750 try { 15995 try {
12751 // InternalSolverLanguageParser.g:4045:1: ( ( () ) ) 15996 // InternalSolverLanguageParser.g:5129:1: ( ( () ) )
12752 // InternalSolverLanguageParser.g:4046:1: ( () ) 15997 // InternalSolverLanguageParser.g:5130:1: ( () )
12753 { 15998 {
12754 // InternalSolverLanguageParser.g:4046:1: ( () ) 15999 // InternalSolverLanguageParser.g:5130:1: ( () )
12755 // InternalSolverLanguageParser.g:4047:2: () 16000 // InternalSolverLanguageParser.g:5131:2: ()
12756 { 16001 {
12757 before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); 16002 before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0());
12758 // InternalSolverLanguageParser.g:4048:2: () 16003 // InternalSolverLanguageParser.g:5132:2: ()
12759 // InternalSolverLanguageParser.g:4048:3: 16004 // InternalSolverLanguageParser.g:5132:3:
12760 { 16005 {
12761 } 16006 }
12762 16007
@@ -12779,14 +16024,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12779 16024
12780 16025
12781 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1" 16026 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1"
12782 // InternalSolverLanguageParser.g:4056:1: rule__ConjunctiveExpression__Group_1__1 : rule__ConjunctiveExpression__Group_1__1__Impl ; 16027 // InternalSolverLanguageParser.g:5140:1: rule__ConjunctiveExpression__Group_1__1 : rule__ConjunctiveExpression__Group_1__1__Impl ;
12783 public final void rule__ConjunctiveExpression__Group_1__1() throws RecognitionException { 16028 public final void rule__ConjunctiveExpression__Group_1__1() throws RecognitionException {
12784 16029
12785 int stackSize = keepStackSize(); 16030 int stackSize = keepStackSize();
12786 16031
12787 try { 16032 try {
12788 // InternalSolverLanguageParser.g:4060:1: ( rule__ConjunctiveExpression__Group_1__1__Impl ) 16033 // InternalSolverLanguageParser.g:5144:1: ( rule__ConjunctiveExpression__Group_1__1__Impl )
12789 // InternalSolverLanguageParser.g:4061:2: rule__ConjunctiveExpression__Group_1__1__Impl 16034 // InternalSolverLanguageParser.g:5145:2: rule__ConjunctiveExpression__Group_1__1__Impl
12790 { 16035 {
12791 pushFollow(FOLLOW_2); 16036 pushFollow(FOLLOW_2);
12792 rule__ConjunctiveExpression__Group_1__1__Impl(); 16037 rule__ConjunctiveExpression__Group_1__1__Impl();
@@ -12812,26 +16057,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12812 16057
12813 16058
12814 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1__Impl" 16059 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1__Impl"
12815 // InternalSolverLanguageParser.g:4067:1: rule__ConjunctiveExpression__Group_1__1__Impl : ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ; 16060 // InternalSolverLanguageParser.g:5151:1: rule__ConjunctiveExpression__Group_1__1__Impl : ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ;
12816 public final void rule__ConjunctiveExpression__Group_1__1__Impl() throws RecognitionException { 16061 public final void rule__ConjunctiveExpression__Group_1__1__Impl() throws RecognitionException {
12817 16062
12818 int stackSize = keepStackSize(); 16063 int stackSize = keepStackSize();
12819 16064
12820 try { 16065 try {
12821 // InternalSolverLanguageParser.g:4071:1: ( ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ) 16066 // InternalSolverLanguageParser.g:5155:1: ( ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) )
12822 // InternalSolverLanguageParser.g:4072:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) 16067 // InternalSolverLanguageParser.g:5156:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) )
12823 { 16068 {
12824 // InternalSolverLanguageParser.g:4072:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) 16069 // InternalSolverLanguageParser.g:5156:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) )
12825 // InternalSolverLanguageParser.g:4073:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) 16070 // InternalSolverLanguageParser.g:5157:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* )
12826 { 16071 {
12827 // InternalSolverLanguageParser.g:4073:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) 16072 // InternalSolverLanguageParser.g:5157:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) )
12828 // InternalSolverLanguageParser.g:4074:3: ( rule__ConjunctiveExpression__Group_1_1__0 ) 16073 // InternalSolverLanguageParser.g:5158:3: ( rule__ConjunctiveExpression__Group_1_1__0 )
12829 { 16074 {
12830 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); 16075 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
12831 // InternalSolverLanguageParser.g:4075:3: ( rule__ConjunctiveExpression__Group_1_1__0 ) 16076 // InternalSolverLanguageParser.g:5159:3: ( rule__ConjunctiveExpression__Group_1_1__0 )
12832 // InternalSolverLanguageParser.g:4075:4: rule__ConjunctiveExpression__Group_1_1__0 16077 // InternalSolverLanguageParser.g:5159:4: rule__ConjunctiveExpression__Group_1_1__0
12833 { 16078 {
12834 pushFollow(FOLLOW_22); 16079 pushFollow(FOLLOW_20);
12835 rule__ConjunctiveExpression__Group_1_1__0(); 16080 rule__ConjunctiveExpression__Group_1_1__0();
12836 16081
12837 state._fsp--; 16082 state._fsp--;
@@ -12843,26 +16088,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12843 16088
12844 } 16089 }
12845 16090
12846 // InternalSolverLanguageParser.g:4078:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) 16091 // InternalSolverLanguageParser.g:5162:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 )* )
12847 // InternalSolverLanguageParser.g:4079:3: ( rule__ConjunctiveExpression__Group_1_1__0 )* 16092 // InternalSolverLanguageParser.g:5163:3: ( rule__ConjunctiveExpression__Group_1_1__0 )*
12848 { 16093 {
12849 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); 16094 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
12850 // InternalSolverLanguageParser.g:4080:3: ( rule__ConjunctiveExpression__Group_1_1__0 )* 16095 // InternalSolverLanguageParser.g:5164:3: ( rule__ConjunctiveExpression__Group_1_1__0 )*
12851 loop34: 16096 loop37:
12852 do { 16097 do {
12853 int alt34=2; 16098 int alt37=2;
12854 int LA34_0 = input.LA(1); 16099 int LA37_0 = input.LA(1);
12855 16100
12856 if ( (LA34_0==Comma) ) { 16101 if ( (LA37_0==Comma) ) {
12857 alt34=1; 16102 alt37=1;
12858 } 16103 }
12859 16104
12860 16105
12861 switch (alt34) { 16106 switch (alt37) {
12862 case 1 : 16107 case 1 :
12863 // InternalSolverLanguageParser.g:4080:4: rule__ConjunctiveExpression__Group_1_1__0 16108 // InternalSolverLanguageParser.g:5164:4: rule__ConjunctiveExpression__Group_1_1__0
12864 { 16109 {
12865 pushFollow(FOLLOW_22); 16110 pushFollow(FOLLOW_20);
12866 rule__ConjunctiveExpression__Group_1_1__0(); 16111 rule__ConjunctiveExpression__Group_1_1__0();
12867 16112
12868 state._fsp--; 16113 state._fsp--;
@@ -12872,7 +16117,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12872 break; 16117 break;
12873 16118
12874 default : 16119 default :
12875 break loop34; 16120 break loop37;
12876 } 16121 }
12877 } while (true); 16122 } while (true);
12878 16123
@@ -12902,14 +16147,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12902 16147
12903 16148
12904 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0" 16149 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0"
12905 // InternalSolverLanguageParser.g:4090:1: rule__ConjunctiveExpression__Group_1_1__0 : rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ; 16150 // InternalSolverLanguageParser.g:5174:1: rule__ConjunctiveExpression__Group_1_1__0 : rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ;
12906 public final void rule__ConjunctiveExpression__Group_1_1__0() throws RecognitionException { 16151 public final void rule__ConjunctiveExpression__Group_1_1__0() throws RecognitionException {
12907 16152
12908 int stackSize = keepStackSize(); 16153 int stackSize = keepStackSize();
12909 16154
12910 try { 16155 try {
12911 // InternalSolverLanguageParser.g:4094:1: ( rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ) 16156 // InternalSolverLanguageParser.g:5178:1: ( rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 )
12912 // InternalSolverLanguageParser.g:4095:2: rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 16157 // InternalSolverLanguageParser.g:5179:2: rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1
12913 { 16158 {
12914 pushFollow(FOLLOW_7); 16159 pushFollow(FOLLOW_7);
12915 rule__ConjunctiveExpression__Group_1_1__0__Impl(); 16160 rule__ConjunctiveExpression__Group_1_1__0__Impl();
@@ -12940,17 +16185,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12940 16185
12941 16186
12942 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0__Impl" 16187 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0__Impl"
12943 // InternalSolverLanguageParser.g:4102:1: rule__ConjunctiveExpression__Group_1_1__0__Impl : ( Comma ) ; 16188 // InternalSolverLanguageParser.g:5186:1: rule__ConjunctiveExpression__Group_1_1__0__Impl : ( Comma ) ;
12944 public final void rule__ConjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException { 16189 public final void rule__ConjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException {
12945 16190
12946 int stackSize = keepStackSize(); 16191 int stackSize = keepStackSize();
12947 16192
12948 try { 16193 try {
12949 // InternalSolverLanguageParser.g:4106:1: ( ( Comma ) ) 16194 // InternalSolverLanguageParser.g:5190:1: ( ( Comma ) )
12950 // InternalSolverLanguageParser.g:4107:1: ( Comma ) 16195 // InternalSolverLanguageParser.g:5191:1: ( Comma )
12951 { 16196 {
12952 // InternalSolverLanguageParser.g:4107:1: ( Comma ) 16197 // InternalSolverLanguageParser.g:5191:1: ( Comma )
12953 // InternalSolverLanguageParser.g:4108:2: Comma 16198 // InternalSolverLanguageParser.g:5192:2: Comma
12954 { 16199 {
12955 before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); 16200 before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
12956 match(input,Comma,FOLLOW_2); 16201 match(input,Comma,FOLLOW_2);
@@ -12977,14 +16222,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12977 16222
12978 16223
12979 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1" 16224 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1"
12980 // InternalSolverLanguageParser.g:4117:1: rule__ConjunctiveExpression__Group_1_1__1 : rule__ConjunctiveExpression__Group_1_1__1__Impl ; 16225 // InternalSolverLanguageParser.g:5201:1: rule__ConjunctiveExpression__Group_1_1__1 : rule__ConjunctiveExpression__Group_1_1__1__Impl ;
12981 public final void rule__ConjunctiveExpression__Group_1_1__1() throws RecognitionException { 16226 public final void rule__ConjunctiveExpression__Group_1_1__1() throws RecognitionException {
12982 16227
12983 int stackSize = keepStackSize(); 16228 int stackSize = keepStackSize();
12984 16229
12985 try { 16230 try {
12986 // InternalSolverLanguageParser.g:4121:1: ( rule__ConjunctiveExpression__Group_1_1__1__Impl ) 16231 // InternalSolverLanguageParser.g:5205:1: ( rule__ConjunctiveExpression__Group_1_1__1__Impl )
12987 // InternalSolverLanguageParser.g:4122:2: rule__ConjunctiveExpression__Group_1_1__1__Impl 16232 // InternalSolverLanguageParser.g:5206:2: rule__ConjunctiveExpression__Group_1_1__1__Impl
12988 { 16233 {
12989 pushFollow(FOLLOW_2); 16234 pushFollow(FOLLOW_2);
12990 rule__ConjunctiveExpression__Group_1_1__1__Impl(); 16235 rule__ConjunctiveExpression__Group_1_1__1__Impl();
@@ -13010,21 +16255,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13010 16255
13011 16256
13012 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1__Impl" 16257 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1__Impl"
13013 // InternalSolverLanguageParser.g:4128:1: rule__ConjunctiveExpression__Group_1_1__1__Impl : ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ; 16258 // InternalSolverLanguageParser.g:5212:1: rule__ConjunctiveExpression__Group_1_1__1__Impl : ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ;
13014 public final void rule__ConjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException { 16259 public final void rule__ConjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException {
13015 16260
13016 int stackSize = keepStackSize(); 16261 int stackSize = keepStackSize();
13017 16262
13018 try { 16263 try {
13019 // InternalSolverLanguageParser.g:4132:1: ( ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ) 16264 // InternalSolverLanguageParser.g:5216:1: ( ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) )
13020 // InternalSolverLanguageParser.g:4133:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) 16265 // InternalSolverLanguageParser.g:5217:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) )
13021 { 16266 {
13022 // InternalSolverLanguageParser.g:4133:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) 16267 // InternalSolverLanguageParser.g:5217:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) )
13023 // InternalSolverLanguageParser.g:4134:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) 16268 // InternalSolverLanguageParser.g:5218:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 )
13024 { 16269 {
13025 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); 16270 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1());
13026 // InternalSolverLanguageParser.g:4135:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) 16271 // InternalSolverLanguageParser.g:5219:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 )
13027 // InternalSolverLanguageParser.g:4135:3: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 16272 // InternalSolverLanguageParser.g:5219:3: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1
13028 { 16273 {
13029 pushFollow(FOLLOW_2); 16274 pushFollow(FOLLOW_2);
13030 rule__ConjunctiveExpression__ChildrenAssignment_1_1_1(); 16275 rule__ConjunctiveExpression__ChildrenAssignment_1_1_1();
@@ -13057,16 +16302,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13057 16302
13058 16303
13059 // $ANTLR start "rule__ComparisonExpression__Group__0" 16304 // $ANTLR start "rule__ComparisonExpression__Group__0"
13060 // InternalSolverLanguageParser.g:4144:1: rule__ComparisonExpression__Group__0 : rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ; 16305 // InternalSolverLanguageParser.g:5228:1: rule__ComparisonExpression__Group__0 : rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ;
13061 public final void rule__ComparisonExpression__Group__0() throws RecognitionException { 16306 public final void rule__ComparisonExpression__Group__0() throws RecognitionException {
13062 16307
13063 int stackSize = keepStackSize(); 16308 int stackSize = keepStackSize();
13064 16309
13065 try { 16310 try {
13066 // InternalSolverLanguageParser.g:4148:1: ( rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ) 16311 // InternalSolverLanguageParser.g:5232:1: ( rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 )
13067 // InternalSolverLanguageParser.g:4149:2: rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 16312 // InternalSolverLanguageParser.g:5233:2: rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1
13068 { 16313 {
13069 pushFollow(FOLLOW_23); 16314 pushFollow(FOLLOW_30);
13070 rule__ComparisonExpression__Group__0__Impl(); 16315 rule__ComparisonExpression__Group__0__Impl();
13071 16316
13072 state._fsp--; 16317 state._fsp--;
@@ -13095,17 +16340,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13095 16340
13096 16341
13097 // $ANTLR start "rule__ComparisonExpression__Group__0__Impl" 16342 // $ANTLR start "rule__ComparisonExpression__Group__0__Impl"
13098 // InternalSolverLanguageParser.g:4156:1: rule__ComparisonExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; 16343 // InternalSolverLanguageParser.g:5240:1: rule__ComparisonExpression__Group__0__Impl : ( ruleAdditiveExpression ) ;
13099 public final void rule__ComparisonExpression__Group__0__Impl() throws RecognitionException { 16344 public final void rule__ComparisonExpression__Group__0__Impl() throws RecognitionException {
13100 16345
13101 int stackSize = keepStackSize(); 16346 int stackSize = keepStackSize();
13102 16347
13103 try { 16348 try {
13104 // InternalSolverLanguageParser.g:4160:1: ( ( ruleAdditiveExpression ) ) 16349 // InternalSolverLanguageParser.g:5244:1: ( ( ruleAdditiveExpression ) )
13105 // InternalSolverLanguageParser.g:4161:1: ( ruleAdditiveExpression ) 16350 // InternalSolverLanguageParser.g:5245:1: ( ruleAdditiveExpression )
13106 { 16351 {
13107 // InternalSolverLanguageParser.g:4161:1: ( ruleAdditiveExpression ) 16352 // InternalSolverLanguageParser.g:5245:1: ( ruleAdditiveExpression )
13108 // InternalSolverLanguageParser.g:4162:2: ruleAdditiveExpression 16353 // InternalSolverLanguageParser.g:5246:2: ruleAdditiveExpression
13109 { 16354 {
13110 before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 16355 before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
13111 pushFollow(FOLLOW_2); 16356 pushFollow(FOLLOW_2);
@@ -13136,14 +16381,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13136 16381
13137 16382
13138 // $ANTLR start "rule__ComparisonExpression__Group__1" 16383 // $ANTLR start "rule__ComparisonExpression__Group__1"
13139 // InternalSolverLanguageParser.g:4171:1: rule__ComparisonExpression__Group__1 : rule__ComparisonExpression__Group__1__Impl ; 16384 // InternalSolverLanguageParser.g:5255:1: rule__ComparisonExpression__Group__1 : rule__ComparisonExpression__Group__1__Impl ;
13140 public final void rule__ComparisonExpression__Group__1() throws RecognitionException { 16385 public final void rule__ComparisonExpression__Group__1() throws RecognitionException {
13141 16386
13142 int stackSize = keepStackSize(); 16387 int stackSize = keepStackSize();
13143 16388
13144 try { 16389 try {
13145 // InternalSolverLanguageParser.g:4175:1: ( rule__ComparisonExpression__Group__1__Impl ) 16390 // InternalSolverLanguageParser.g:5259:1: ( rule__ComparisonExpression__Group__1__Impl )
13146 // InternalSolverLanguageParser.g:4176:2: rule__ComparisonExpression__Group__1__Impl 16391 // InternalSolverLanguageParser.g:5260:2: rule__ComparisonExpression__Group__1__Impl
13147 { 16392 {
13148 pushFollow(FOLLOW_2); 16393 pushFollow(FOLLOW_2);
13149 rule__ComparisonExpression__Group__1__Impl(); 16394 rule__ComparisonExpression__Group__1__Impl();
@@ -13169,29 +16414,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13169 16414
13170 16415
13171 // $ANTLR start "rule__ComparisonExpression__Group__1__Impl" 16416 // $ANTLR start "rule__ComparisonExpression__Group__1__Impl"
13172 // InternalSolverLanguageParser.g:4182:1: rule__ComparisonExpression__Group__1__Impl : ( ( rule__ComparisonExpression__Group_1__0 )? ) ; 16417 // InternalSolverLanguageParser.g:5266:1: rule__ComparisonExpression__Group__1__Impl : ( ( rule__ComparisonExpression__Group_1__0 )? ) ;
13173 public final void rule__ComparisonExpression__Group__1__Impl() throws RecognitionException { 16418 public final void rule__ComparisonExpression__Group__1__Impl() throws RecognitionException {
13174 16419
13175 int stackSize = keepStackSize(); 16420 int stackSize = keepStackSize();
13176 16421
13177 try { 16422 try {
13178 // InternalSolverLanguageParser.g:4186:1: ( ( ( rule__ComparisonExpression__Group_1__0 )? ) ) 16423 // InternalSolverLanguageParser.g:5270:1: ( ( ( rule__ComparisonExpression__Group_1__0 )? ) )
13179 // InternalSolverLanguageParser.g:4187:1: ( ( rule__ComparisonExpression__Group_1__0 )? ) 16424 // InternalSolverLanguageParser.g:5271:1: ( ( rule__ComparisonExpression__Group_1__0 )? )
13180 { 16425 {
13181 // InternalSolverLanguageParser.g:4187:1: ( ( rule__ComparisonExpression__Group_1__0 )? ) 16426 // InternalSolverLanguageParser.g:5271:1: ( ( rule__ComparisonExpression__Group_1__0 )? )
13182 // InternalSolverLanguageParser.g:4188:2: ( rule__ComparisonExpression__Group_1__0 )? 16427 // InternalSolverLanguageParser.g:5272:2: ( rule__ComparisonExpression__Group_1__0 )?
13183 { 16428 {
13184 before(grammarAccess.getComparisonExpressionAccess().getGroup_1()); 16429 before(grammarAccess.getComparisonExpressionAccess().getGroup_1());
13185 // InternalSolverLanguageParser.g:4189:2: ( rule__ComparisonExpression__Group_1__0 )? 16430 // InternalSolverLanguageParser.g:5273:2: ( rule__ComparisonExpression__Group_1__0 )?
13186 int alt35=2; 16431 int alt38=2;
13187 int LA35_0 = input.LA(1); 16432 int LA38_0 = input.LA(1);
13188 16433
13189 if ( (LA35_0==ExclamationMarkEqualsSign||(LA35_0>=LessThanSignEqualsSign && LA35_0<=GreaterThanSignEqualsSign)||LA35_0==In||LA35_0==LessThanSign||LA35_0==GreaterThanSign) ) { 16434 if ( (LA38_0==ExclamationMarkEqualsSign||(LA38_0>=LessThanSignEqualsSign && LA38_0<=EqualsSignEqualsSign)||LA38_0==GreaterThanSignEqualsSign||LA38_0==In||LA38_0==LessThanSign||LA38_0==GreaterThanSign) ) {
13190 alt35=1; 16435 alt38=1;
13191 } 16436 }
13192 switch (alt35) { 16437 switch (alt38) {
13193 case 1 : 16438 case 1 :
13194 // InternalSolverLanguageParser.g:4189:3: rule__ComparisonExpression__Group_1__0 16439 // InternalSolverLanguageParser.g:5273:3: rule__ComparisonExpression__Group_1__0
13195 { 16440 {
13196 pushFollow(FOLLOW_2); 16441 pushFollow(FOLLOW_2);
13197 rule__ComparisonExpression__Group_1__0(); 16442 rule__ComparisonExpression__Group_1__0();
@@ -13227,16 +16472,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13227 16472
13228 16473
13229 // $ANTLR start "rule__ComparisonExpression__Group_1__0" 16474 // $ANTLR start "rule__ComparisonExpression__Group_1__0"
13230 // InternalSolverLanguageParser.g:4198:1: rule__ComparisonExpression__Group_1__0 : rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ; 16475 // InternalSolverLanguageParser.g:5282:1: rule__ComparisonExpression__Group_1__0 : rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ;
13231 public final void rule__ComparisonExpression__Group_1__0() throws RecognitionException { 16476 public final void rule__ComparisonExpression__Group_1__0() throws RecognitionException {
13232 16477
13233 int stackSize = keepStackSize(); 16478 int stackSize = keepStackSize();
13234 16479
13235 try { 16480 try {
13236 // InternalSolverLanguageParser.g:4202:1: ( rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ) 16481 // InternalSolverLanguageParser.g:5286:1: ( rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 )
13237 // InternalSolverLanguageParser.g:4203:2: rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 16482 // InternalSolverLanguageParser.g:5287:2: rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1
13238 { 16483 {
13239 pushFollow(FOLLOW_23); 16484 pushFollow(FOLLOW_30);
13240 rule__ComparisonExpression__Group_1__0__Impl(); 16485 rule__ComparisonExpression__Group_1__0__Impl();
13241 16486
13242 state._fsp--; 16487 state._fsp--;
@@ -13265,21 +16510,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13265 16510
13266 16511
13267 // $ANTLR start "rule__ComparisonExpression__Group_1__0__Impl" 16512 // $ANTLR start "rule__ComparisonExpression__Group_1__0__Impl"
13268 // InternalSolverLanguageParser.g:4210:1: rule__ComparisonExpression__Group_1__0__Impl : ( () ) ; 16513 // InternalSolverLanguageParser.g:5294:1: rule__ComparisonExpression__Group_1__0__Impl : ( () ) ;
13269 public final void rule__ComparisonExpression__Group_1__0__Impl() throws RecognitionException { 16514 public final void rule__ComparisonExpression__Group_1__0__Impl() throws RecognitionException {
13270 16515
13271 int stackSize = keepStackSize(); 16516 int stackSize = keepStackSize();
13272 16517
13273 try { 16518 try {
13274 // InternalSolverLanguageParser.g:4214:1: ( ( () ) ) 16519 // InternalSolverLanguageParser.g:5298:1: ( ( () ) )
13275 // InternalSolverLanguageParser.g:4215:1: ( () ) 16520 // InternalSolverLanguageParser.g:5299:1: ( () )
13276 { 16521 {
13277 // InternalSolverLanguageParser.g:4215:1: ( () ) 16522 // InternalSolverLanguageParser.g:5299:1: ( () )
13278 // InternalSolverLanguageParser.g:4216:2: () 16523 // InternalSolverLanguageParser.g:5300:2: ()
13279 { 16524 {
13280 before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); 16525 before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0());
13281 // InternalSolverLanguageParser.g:4217:2: () 16526 // InternalSolverLanguageParser.g:5301:2: ()
13282 // InternalSolverLanguageParser.g:4217:3: 16527 // InternalSolverLanguageParser.g:5301:3:
13283 { 16528 {
13284 } 16529 }
13285 16530
@@ -13302,14 +16547,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13302 16547
13303 16548
13304 // $ANTLR start "rule__ComparisonExpression__Group_1__1" 16549 // $ANTLR start "rule__ComparisonExpression__Group_1__1"
13305 // InternalSolverLanguageParser.g:4225:1: rule__ComparisonExpression__Group_1__1 : rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ; 16550 // InternalSolverLanguageParser.g:5309:1: rule__ComparisonExpression__Group_1__1 : rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ;
13306 public final void rule__ComparisonExpression__Group_1__1() throws RecognitionException { 16551 public final void rule__ComparisonExpression__Group_1__1() throws RecognitionException {
13307 16552
13308 int stackSize = keepStackSize(); 16553 int stackSize = keepStackSize();
13309 16554
13310 try { 16555 try {
13311 // InternalSolverLanguageParser.g:4229:1: ( rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ) 16556 // InternalSolverLanguageParser.g:5313:1: ( rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 )
13312 // InternalSolverLanguageParser.g:4230:2: rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 16557 // InternalSolverLanguageParser.g:5314:2: rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2
13313 { 16558 {
13314 pushFollow(FOLLOW_7); 16559 pushFollow(FOLLOW_7);
13315 rule__ComparisonExpression__Group_1__1__Impl(); 16560 rule__ComparisonExpression__Group_1__1__Impl();
@@ -13340,21 +16585,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13340 16585
13341 16586
13342 // $ANTLR start "rule__ComparisonExpression__Group_1__1__Impl" 16587 // $ANTLR start "rule__ComparisonExpression__Group_1__1__Impl"
13343 // InternalSolverLanguageParser.g:4237:1: rule__ComparisonExpression__Group_1__1__Impl : ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ; 16588 // InternalSolverLanguageParser.g:5321:1: rule__ComparisonExpression__Group_1__1__Impl : ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ;
13344 public final void rule__ComparisonExpression__Group_1__1__Impl() throws RecognitionException { 16589 public final void rule__ComparisonExpression__Group_1__1__Impl() throws RecognitionException {
13345 16590
13346 int stackSize = keepStackSize(); 16591 int stackSize = keepStackSize();
13347 16592
13348 try { 16593 try {
13349 // InternalSolverLanguageParser.g:4241:1: ( ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ) 16594 // InternalSolverLanguageParser.g:5325:1: ( ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) )
13350 // InternalSolverLanguageParser.g:4242:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) 16595 // InternalSolverLanguageParser.g:5326:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) )
13351 { 16596 {
13352 // InternalSolverLanguageParser.g:4242:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) 16597 // InternalSolverLanguageParser.g:5326:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) )
13353 // InternalSolverLanguageParser.g:4243:2: ( rule__ComparisonExpression__OpAssignment_1_1 ) 16598 // InternalSolverLanguageParser.g:5327:2: ( rule__ComparisonExpression__OpAssignment_1_1 )
13354 { 16599 {
13355 before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); 16600 before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1());
13356 // InternalSolverLanguageParser.g:4244:2: ( rule__ComparisonExpression__OpAssignment_1_1 ) 16601 // InternalSolverLanguageParser.g:5328:2: ( rule__ComparisonExpression__OpAssignment_1_1 )
13357 // InternalSolverLanguageParser.g:4244:3: rule__ComparisonExpression__OpAssignment_1_1 16602 // InternalSolverLanguageParser.g:5328:3: rule__ComparisonExpression__OpAssignment_1_1
13358 { 16603 {
13359 pushFollow(FOLLOW_2); 16604 pushFollow(FOLLOW_2);
13360 rule__ComparisonExpression__OpAssignment_1_1(); 16605 rule__ComparisonExpression__OpAssignment_1_1();
@@ -13387,14 +16632,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13387 16632
13388 16633
13389 // $ANTLR start "rule__ComparisonExpression__Group_1__2" 16634 // $ANTLR start "rule__ComparisonExpression__Group_1__2"
13390 // InternalSolverLanguageParser.g:4252:1: rule__ComparisonExpression__Group_1__2 : rule__ComparisonExpression__Group_1__2__Impl ; 16635 // InternalSolverLanguageParser.g:5336:1: rule__ComparisonExpression__Group_1__2 : rule__ComparisonExpression__Group_1__2__Impl ;
13391 public final void rule__ComparisonExpression__Group_1__2() throws RecognitionException { 16636 public final void rule__ComparisonExpression__Group_1__2() throws RecognitionException {
13392 16637
13393 int stackSize = keepStackSize(); 16638 int stackSize = keepStackSize();
13394 16639
13395 try { 16640 try {
13396 // InternalSolverLanguageParser.g:4256:1: ( rule__ComparisonExpression__Group_1__2__Impl ) 16641 // InternalSolverLanguageParser.g:5340:1: ( rule__ComparisonExpression__Group_1__2__Impl )
13397 // InternalSolverLanguageParser.g:4257:2: rule__ComparisonExpression__Group_1__2__Impl 16642 // InternalSolverLanguageParser.g:5341:2: rule__ComparisonExpression__Group_1__2__Impl
13398 { 16643 {
13399 pushFollow(FOLLOW_2); 16644 pushFollow(FOLLOW_2);
13400 rule__ComparisonExpression__Group_1__2__Impl(); 16645 rule__ComparisonExpression__Group_1__2__Impl();
@@ -13420,21 +16665,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13420 16665
13421 16666
13422 // $ANTLR start "rule__ComparisonExpression__Group_1__2__Impl" 16667 // $ANTLR start "rule__ComparisonExpression__Group_1__2__Impl"
13423 // InternalSolverLanguageParser.g:4263:1: rule__ComparisonExpression__Group_1__2__Impl : ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ; 16668 // InternalSolverLanguageParser.g:5347:1: rule__ComparisonExpression__Group_1__2__Impl : ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ;
13424 public final void rule__ComparisonExpression__Group_1__2__Impl() throws RecognitionException { 16669 public final void rule__ComparisonExpression__Group_1__2__Impl() throws RecognitionException {
13425 16670
13426 int stackSize = keepStackSize(); 16671 int stackSize = keepStackSize();
13427 16672
13428 try { 16673 try {
13429 // InternalSolverLanguageParser.g:4267:1: ( ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ) 16674 // InternalSolverLanguageParser.g:5351:1: ( ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) )
13430 // InternalSolverLanguageParser.g:4268:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) 16675 // InternalSolverLanguageParser.g:5352:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) )
13431 { 16676 {
13432 // InternalSolverLanguageParser.g:4268:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) 16677 // InternalSolverLanguageParser.g:5352:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) )
13433 // InternalSolverLanguageParser.g:4269:2: ( rule__ComparisonExpression__RightAssignment_1_2 ) 16678 // InternalSolverLanguageParser.g:5353:2: ( rule__ComparisonExpression__RightAssignment_1_2 )
13434 { 16679 {
13435 before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); 16680 before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2());
13436 // InternalSolverLanguageParser.g:4270:2: ( rule__ComparisonExpression__RightAssignment_1_2 ) 16681 // InternalSolverLanguageParser.g:5354:2: ( rule__ComparisonExpression__RightAssignment_1_2 )
13437 // InternalSolverLanguageParser.g:4270:3: rule__ComparisonExpression__RightAssignment_1_2 16682 // InternalSolverLanguageParser.g:5354:3: rule__ComparisonExpression__RightAssignment_1_2
13438 { 16683 {
13439 pushFollow(FOLLOW_2); 16684 pushFollow(FOLLOW_2);
13440 rule__ComparisonExpression__RightAssignment_1_2(); 16685 rule__ComparisonExpression__RightAssignment_1_2();
@@ -13467,16 +16712,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13467 16712
13468 16713
13469 // $ANTLR start "rule__AdditiveExpression__Group__0" 16714 // $ANTLR start "rule__AdditiveExpression__Group__0"
13470 // InternalSolverLanguageParser.g:4279:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; 16715 // InternalSolverLanguageParser.g:5363:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ;
13471 public final void rule__AdditiveExpression__Group__0() throws RecognitionException { 16716 public final void rule__AdditiveExpression__Group__0() throws RecognitionException {
13472 16717
13473 int stackSize = keepStackSize(); 16718 int stackSize = keepStackSize();
13474 16719
13475 try { 16720 try {
13476 // InternalSolverLanguageParser.g:4283:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) 16721 // InternalSolverLanguageParser.g:5367:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 )
13477 // InternalSolverLanguageParser.g:4284:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 16722 // InternalSolverLanguageParser.g:5368:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1
13478 { 16723 {
13479 pushFollow(FOLLOW_24); 16724 pushFollow(FOLLOW_31);
13480 rule__AdditiveExpression__Group__0__Impl(); 16725 rule__AdditiveExpression__Group__0__Impl();
13481 16726
13482 state._fsp--; 16727 state._fsp--;
@@ -13505,17 +16750,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13505 16750
13506 16751
13507 // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" 16752 // $ANTLR start "rule__AdditiveExpression__Group__0__Impl"
13508 // InternalSolverLanguageParser.g:4291:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; 16753 // InternalSolverLanguageParser.g:5375:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ;
13509 public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { 16754 public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException {
13510 16755
13511 int stackSize = keepStackSize(); 16756 int stackSize = keepStackSize();
13512 16757
13513 try { 16758 try {
13514 // InternalSolverLanguageParser.g:4295:1: ( ( ruleMultiplicativeExpression ) ) 16759 // InternalSolverLanguageParser.g:5379:1: ( ( ruleMultiplicativeExpression ) )
13515 // InternalSolverLanguageParser.g:4296:1: ( ruleMultiplicativeExpression ) 16760 // InternalSolverLanguageParser.g:5380:1: ( ruleMultiplicativeExpression )
13516 { 16761 {
13517 // InternalSolverLanguageParser.g:4296:1: ( ruleMultiplicativeExpression ) 16762 // InternalSolverLanguageParser.g:5380:1: ( ruleMultiplicativeExpression )
13518 // InternalSolverLanguageParser.g:4297:2: ruleMultiplicativeExpression 16763 // InternalSolverLanguageParser.g:5381:2: ruleMultiplicativeExpression
13519 { 16764 {
13520 before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 16765 before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
13521 pushFollow(FOLLOW_2); 16766 pushFollow(FOLLOW_2);
@@ -13546,14 +16791,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13546 16791
13547 16792
13548 // $ANTLR start "rule__AdditiveExpression__Group__1" 16793 // $ANTLR start "rule__AdditiveExpression__Group__1"
13549 // InternalSolverLanguageParser.g:4306:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; 16794 // InternalSolverLanguageParser.g:5390:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ;
13550 public final void rule__AdditiveExpression__Group__1() throws RecognitionException { 16795 public final void rule__AdditiveExpression__Group__1() throws RecognitionException {
13551 16796
13552 int stackSize = keepStackSize(); 16797 int stackSize = keepStackSize();
13553 16798
13554 try { 16799 try {
13555 // InternalSolverLanguageParser.g:4310:1: ( rule__AdditiveExpression__Group__1__Impl ) 16800 // InternalSolverLanguageParser.g:5394:1: ( rule__AdditiveExpression__Group__1__Impl )
13556 // InternalSolverLanguageParser.g:4311:2: rule__AdditiveExpression__Group__1__Impl 16801 // InternalSolverLanguageParser.g:5395:2: rule__AdditiveExpression__Group__1__Impl
13557 { 16802 {
13558 pushFollow(FOLLOW_2); 16803 pushFollow(FOLLOW_2);
13559 rule__AdditiveExpression__Group__1__Impl(); 16804 rule__AdditiveExpression__Group__1__Impl();
@@ -13579,35 +16824,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13579 16824
13580 16825
13581 // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" 16826 // $ANTLR start "rule__AdditiveExpression__Group__1__Impl"
13582 // InternalSolverLanguageParser.g:4317:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; 16827 // InternalSolverLanguageParser.g:5401:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ;
13583 public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { 16828 public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException {
13584 16829
13585 int stackSize = keepStackSize(); 16830 int stackSize = keepStackSize();
13586 16831
13587 try { 16832 try {
13588 // InternalSolverLanguageParser.g:4321:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) 16833 // InternalSolverLanguageParser.g:5405:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) )
13589 // InternalSolverLanguageParser.g:4322:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) 16834 // InternalSolverLanguageParser.g:5406:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
13590 { 16835 {
13591 // InternalSolverLanguageParser.g:4322:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) 16836 // InternalSolverLanguageParser.g:5406:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
13592 // InternalSolverLanguageParser.g:4323:2: ( rule__AdditiveExpression__Group_1__0 )* 16837 // InternalSolverLanguageParser.g:5407:2: ( rule__AdditiveExpression__Group_1__0 )*
13593 { 16838 {
13594 before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); 16839 before(grammarAccess.getAdditiveExpressionAccess().getGroup_1());
13595 // InternalSolverLanguageParser.g:4324:2: ( rule__AdditiveExpression__Group_1__0 )* 16840 // InternalSolverLanguageParser.g:5408:2: ( rule__AdditiveExpression__Group_1__0 )*
13596 loop36: 16841 loop39:
13597 do { 16842 do {
13598 int alt36=2; 16843 int alt39=2;
13599 int LA36_0 = input.LA(1); 16844 int LA39_0 = input.LA(1);
13600 16845
13601 if ( (LA36_0==PlusSign||LA36_0==HyphenMinus) ) { 16846 if ( (LA39_0==PlusSign||LA39_0==HyphenMinus) ) {
13602 alt36=1; 16847 alt39=1;
13603 } 16848 }
13604 16849
13605 16850
13606 switch (alt36) { 16851 switch (alt39) {
13607 case 1 : 16852 case 1 :
13608 // InternalSolverLanguageParser.g:4324:3: rule__AdditiveExpression__Group_1__0 16853 // InternalSolverLanguageParser.g:5408:3: rule__AdditiveExpression__Group_1__0
13609 { 16854 {
13610 pushFollow(FOLLOW_25); 16855 pushFollow(FOLLOW_32);
13611 rule__AdditiveExpression__Group_1__0(); 16856 rule__AdditiveExpression__Group_1__0();
13612 16857
13613 state._fsp--; 16858 state._fsp--;
@@ -13617,7 +16862,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13617 break; 16862 break;
13618 16863
13619 default : 16864 default :
13620 break loop36; 16865 break loop39;
13621 } 16866 }
13622 } while (true); 16867 } while (true);
13623 16868
@@ -13644,16 +16889,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13644 16889
13645 16890
13646 // $ANTLR start "rule__AdditiveExpression__Group_1__0" 16891 // $ANTLR start "rule__AdditiveExpression__Group_1__0"
13647 // InternalSolverLanguageParser.g:4333:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; 16892 // InternalSolverLanguageParser.g:5417:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ;
13648 public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { 16893 public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException {
13649 16894
13650 int stackSize = keepStackSize(); 16895 int stackSize = keepStackSize();
13651 16896
13652 try { 16897 try {
13653 // InternalSolverLanguageParser.g:4337:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) 16898 // InternalSolverLanguageParser.g:5421:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 )
13654 // InternalSolverLanguageParser.g:4338:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 16899 // InternalSolverLanguageParser.g:5422:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1
13655 { 16900 {
13656 pushFollow(FOLLOW_24); 16901 pushFollow(FOLLOW_31);
13657 rule__AdditiveExpression__Group_1__0__Impl(); 16902 rule__AdditiveExpression__Group_1__0__Impl();
13658 16903
13659 state._fsp--; 16904 state._fsp--;
@@ -13682,21 +16927,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13682 16927
13683 16928
13684 // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" 16929 // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl"
13685 // InternalSolverLanguageParser.g:4345:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; 16930 // InternalSolverLanguageParser.g:5429:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ;
13686 public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { 16931 public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException {
13687 16932
13688 int stackSize = keepStackSize(); 16933 int stackSize = keepStackSize();
13689 16934
13690 try { 16935 try {
13691 // InternalSolverLanguageParser.g:4349:1: ( ( () ) ) 16936 // InternalSolverLanguageParser.g:5433:1: ( ( () ) )
13692 // InternalSolverLanguageParser.g:4350:1: ( () ) 16937 // InternalSolverLanguageParser.g:5434:1: ( () )
13693 { 16938 {
13694 // InternalSolverLanguageParser.g:4350:1: ( () ) 16939 // InternalSolverLanguageParser.g:5434:1: ( () )
13695 // InternalSolverLanguageParser.g:4351:2: () 16940 // InternalSolverLanguageParser.g:5435:2: ()
13696 { 16941 {
13697 before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); 16942 before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0());
13698 // InternalSolverLanguageParser.g:4352:2: () 16943 // InternalSolverLanguageParser.g:5436:2: ()
13699 // InternalSolverLanguageParser.g:4352:3: 16944 // InternalSolverLanguageParser.g:5436:3:
13700 { 16945 {
13701 } 16946 }
13702 16947
@@ -13719,14 +16964,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13719 16964
13720 16965
13721 // $ANTLR start "rule__AdditiveExpression__Group_1__1" 16966 // $ANTLR start "rule__AdditiveExpression__Group_1__1"
13722 // InternalSolverLanguageParser.g:4360:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; 16967 // InternalSolverLanguageParser.g:5444:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ;
13723 public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { 16968 public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException {
13724 16969
13725 int stackSize = keepStackSize(); 16970 int stackSize = keepStackSize();
13726 16971
13727 try { 16972 try {
13728 // InternalSolverLanguageParser.g:4364:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) 16973 // InternalSolverLanguageParser.g:5448:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 )
13729 // InternalSolverLanguageParser.g:4365:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 16974 // InternalSolverLanguageParser.g:5449:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2
13730 { 16975 {
13731 pushFollow(FOLLOW_7); 16976 pushFollow(FOLLOW_7);
13732 rule__AdditiveExpression__Group_1__1__Impl(); 16977 rule__AdditiveExpression__Group_1__1__Impl();
@@ -13757,21 +17002,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13757 17002
13758 17003
13759 // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" 17004 // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl"
13760 // InternalSolverLanguageParser.g:4372:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ; 17005 // InternalSolverLanguageParser.g:5456:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ;
13761 public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { 17006 public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException {
13762 17007
13763 int stackSize = keepStackSize(); 17008 int stackSize = keepStackSize();
13764 17009
13765 try { 17010 try {
13766 // InternalSolverLanguageParser.g:4376:1: ( ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ) 17011 // InternalSolverLanguageParser.g:5460:1: ( ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) )
13767 // InternalSolverLanguageParser.g:4377:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) 17012 // InternalSolverLanguageParser.g:5461:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) )
13768 { 17013 {
13769 // InternalSolverLanguageParser.g:4377:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) 17014 // InternalSolverLanguageParser.g:5461:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) )
13770 // InternalSolverLanguageParser.g:4378:2: ( rule__AdditiveExpression__OpAssignment_1_1 ) 17015 // InternalSolverLanguageParser.g:5462:2: ( rule__AdditiveExpression__OpAssignment_1_1 )
13771 { 17016 {
13772 before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); 17017 before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1());
13773 // InternalSolverLanguageParser.g:4379:2: ( rule__AdditiveExpression__OpAssignment_1_1 ) 17018 // InternalSolverLanguageParser.g:5463:2: ( rule__AdditiveExpression__OpAssignment_1_1 )
13774 // InternalSolverLanguageParser.g:4379:3: rule__AdditiveExpression__OpAssignment_1_1 17019 // InternalSolverLanguageParser.g:5463:3: rule__AdditiveExpression__OpAssignment_1_1
13775 { 17020 {
13776 pushFollow(FOLLOW_2); 17021 pushFollow(FOLLOW_2);
13777 rule__AdditiveExpression__OpAssignment_1_1(); 17022 rule__AdditiveExpression__OpAssignment_1_1();
@@ -13804,14 +17049,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13804 17049
13805 17050
13806 // $ANTLR start "rule__AdditiveExpression__Group_1__2" 17051 // $ANTLR start "rule__AdditiveExpression__Group_1__2"
13807 // InternalSolverLanguageParser.g:4387:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; 17052 // InternalSolverLanguageParser.g:5471:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ;
13808 public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { 17053 public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException {
13809 17054
13810 int stackSize = keepStackSize(); 17055 int stackSize = keepStackSize();
13811 17056
13812 try { 17057 try {
13813 // InternalSolverLanguageParser.g:4391:1: ( rule__AdditiveExpression__Group_1__2__Impl ) 17058 // InternalSolverLanguageParser.g:5475:1: ( rule__AdditiveExpression__Group_1__2__Impl )
13814 // InternalSolverLanguageParser.g:4392:2: rule__AdditiveExpression__Group_1__2__Impl 17059 // InternalSolverLanguageParser.g:5476:2: rule__AdditiveExpression__Group_1__2__Impl
13815 { 17060 {
13816 pushFollow(FOLLOW_2); 17061 pushFollow(FOLLOW_2);
13817 rule__AdditiveExpression__Group_1__2__Impl(); 17062 rule__AdditiveExpression__Group_1__2__Impl();
@@ -13837,21 +17082,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13837 17082
13838 17083
13839 // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" 17084 // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl"
13840 // InternalSolverLanguageParser.g:4398:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ; 17085 // InternalSolverLanguageParser.g:5482:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ;
13841 public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { 17086 public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException {
13842 17087
13843 int stackSize = keepStackSize(); 17088 int stackSize = keepStackSize();
13844 17089
13845 try { 17090 try {
13846 // InternalSolverLanguageParser.g:4402:1: ( ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ) 17091 // InternalSolverLanguageParser.g:5486:1: ( ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) )
13847 // InternalSolverLanguageParser.g:4403:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) 17092 // InternalSolverLanguageParser.g:5487:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) )
13848 { 17093 {
13849 // InternalSolverLanguageParser.g:4403:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) 17094 // InternalSolverLanguageParser.g:5487:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) )
13850 // InternalSolverLanguageParser.g:4404:2: ( rule__AdditiveExpression__RightAssignment_1_2 ) 17095 // InternalSolverLanguageParser.g:5488:2: ( rule__AdditiveExpression__RightAssignment_1_2 )
13851 { 17096 {
13852 before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); 17097 before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2());
13853 // InternalSolverLanguageParser.g:4405:2: ( rule__AdditiveExpression__RightAssignment_1_2 ) 17098 // InternalSolverLanguageParser.g:5489:2: ( rule__AdditiveExpression__RightAssignment_1_2 )
13854 // InternalSolverLanguageParser.g:4405:3: rule__AdditiveExpression__RightAssignment_1_2 17099 // InternalSolverLanguageParser.g:5489:3: rule__AdditiveExpression__RightAssignment_1_2
13855 { 17100 {
13856 pushFollow(FOLLOW_2); 17101 pushFollow(FOLLOW_2);
13857 rule__AdditiveExpression__RightAssignment_1_2(); 17102 rule__AdditiveExpression__RightAssignment_1_2();
@@ -13884,16 +17129,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13884 17129
13885 17130
13886 // $ANTLR start "rule__MultiplicativeExpression__Group__0" 17131 // $ANTLR start "rule__MultiplicativeExpression__Group__0"
13887 // InternalSolverLanguageParser.g:4414:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; 17132 // InternalSolverLanguageParser.g:5498:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ;
13888 public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { 17133 public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException {
13889 17134
13890 int stackSize = keepStackSize(); 17135 int stackSize = keepStackSize();
13891 17136
13892 try { 17137 try {
13893 // InternalSolverLanguageParser.g:4418:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) 17138 // InternalSolverLanguageParser.g:5502:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 )
13894 // InternalSolverLanguageParser.g:4419:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 17139 // InternalSolverLanguageParser.g:5503:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1
13895 { 17140 {
13896 pushFollow(FOLLOW_26); 17141 pushFollow(FOLLOW_33);
13897 rule__MultiplicativeExpression__Group__0__Impl(); 17142 rule__MultiplicativeExpression__Group__0__Impl();
13898 17143
13899 state._fsp--; 17144 state._fsp--;
@@ -13922,17 +17167,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13922 17167
13923 17168
13924 // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" 17169 // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl"
13925 // InternalSolverLanguageParser.g:4426:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleExponentialExpression ) ; 17170 // InternalSolverLanguageParser.g:5510:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleExponentialExpression ) ;
13926 public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { 17171 public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException {
13927 17172
13928 int stackSize = keepStackSize(); 17173 int stackSize = keepStackSize();
13929 17174
13930 try { 17175 try {
13931 // InternalSolverLanguageParser.g:4430:1: ( ( ruleExponentialExpression ) ) 17176 // InternalSolverLanguageParser.g:5514:1: ( ( ruleExponentialExpression ) )
13932 // InternalSolverLanguageParser.g:4431:1: ( ruleExponentialExpression ) 17177 // InternalSolverLanguageParser.g:5515:1: ( ruleExponentialExpression )
13933 { 17178 {
13934 // InternalSolverLanguageParser.g:4431:1: ( ruleExponentialExpression ) 17179 // InternalSolverLanguageParser.g:5515:1: ( ruleExponentialExpression )
13935 // InternalSolverLanguageParser.g:4432:2: ruleExponentialExpression 17180 // InternalSolverLanguageParser.g:5516:2: ruleExponentialExpression
13936 { 17181 {
13937 before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); 17182 before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
13938 pushFollow(FOLLOW_2); 17183 pushFollow(FOLLOW_2);
@@ -13963,14 +17208,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13963 17208
13964 17209
13965 // $ANTLR start "rule__MultiplicativeExpression__Group__1" 17210 // $ANTLR start "rule__MultiplicativeExpression__Group__1"
13966 // InternalSolverLanguageParser.g:4441:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; 17211 // InternalSolverLanguageParser.g:5525:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ;
13967 public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { 17212 public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException {
13968 17213
13969 int stackSize = keepStackSize(); 17214 int stackSize = keepStackSize();
13970 17215
13971 try { 17216 try {
13972 // InternalSolverLanguageParser.g:4445:1: ( rule__MultiplicativeExpression__Group__1__Impl ) 17217 // InternalSolverLanguageParser.g:5529:1: ( rule__MultiplicativeExpression__Group__1__Impl )
13973 // InternalSolverLanguageParser.g:4446:2: rule__MultiplicativeExpression__Group__1__Impl 17218 // InternalSolverLanguageParser.g:5530:2: rule__MultiplicativeExpression__Group__1__Impl
13974 { 17219 {
13975 pushFollow(FOLLOW_2); 17220 pushFollow(FOLLOW_2);
13976 rule__MultiplicativeExpression__Group__1__Impl(); 17221 rule__MultiplicativeExpression__Group__1__Impl();
@@ -13996,35 +17241,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13996 17241
13997 17242
13998 // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" 17243 // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl"
13999 // InternalSolverLanguageParser.g:4452:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; 17244 // InternalSolverLanguageParser.g:5536:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ;
14000 public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { 17245 public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException {
14001 17246
14002 int stackSize = keepStackSize(); 17247 int stackSize = keepStackSize();
14003 17248
14004 try { 17249 try {
14005 // InternalSolverLanguageParser.g:4456:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) 17250 // InternalSolverLanguageParser.g:5540:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) )
14006 // InternalSolverLanguageParser.g:4457:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) 17251 // InternalSolverLanguageParser.g:5541:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
14007 { 17252 {
14008 // InternalSolverLanguageParser.g:4457:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) 17253 // InternalSolverLanguageParser.g:5541:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
14009 // InternalSolverLanguageParser.g:4458:2: ( rule__MultiplicativeExpression__Group_1__0 )* 17254 // InternalSolverLanguageParser.g:5542:2: ( rule__MultiplicativeExpression__Group_1__0 )*
14010 { 17255 {
14011 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); 17256 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1());
14012 // InternalSolverLanguageParser.g:4459:2: ( rule__MultiplicativeExpression__Group_1__0 )* 17257 // InternalSolverLanguageParser.g:5543:2: ( rule__MultiplicativeExpression__Group_1__0 )*
14013 loop37: 17258 loop40:
14014 do { 17259 do {
14015 int alt37=2; 17260 int alt40=2;
14016 int LA37_0 = input.LA(1); 17261 int LA40_0 = input.LA(1);
14017 17262
14018 if ( (LA37_0==Asterisk||LA37_0==Solidus) ) { 17263 if ( (LA40_0==Asterisk||LA40_0==Solidus) ) {
14019 alt37=1; 17264 alt40=1;
14020 } 17265 }
14021 17266
14022 17267
14023 switch (alt37) { 17268 switch (alt40) {
14024 case 1 : 17269 case 1 :
14025 // InternalSolverLanguageParser.g:4459:3: rule__MultiplicativeExpression__Group_1__0 17270 // InternalSolverLanguageParser.g:5543:3: rule__MultiplicativeExpression__Group_1__0
14026 { 17271 {
14027 pushFollow(FOLLOW_27); 17272 pushFollow(FOLLOW_34);
14028 rule__MultiplicativeExpression__Group_1__0(); 17273 rule__MultiplicativeExpression__Group_1__0();
14029 17274
14030 state._fsp--; 17275 state._fsp--;
@@ -14034,7 +17279,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14034 break; 17279 break;
14035 17280
14036 default : 17281 default :
14037 break loop37; 17282 break loop40;
14038 } 17283 }
14039 } while (true); 17284 } while (true);
14040 17285
@@ -14061,16 +17306,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14061 17306
14062 17307
14063 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" 17308 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0"
14064 // InternalSolverLanguageParser.g:4468:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; 17309 // InternalSolverLanguageParser.g:5552:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ;
14065 public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { 17310 public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException {
14066 17311
14067 int stackSize = keepStackSize(); 17312 int stackSize = keepStackSize();
14068 17313
14069 try { 17314 try {
14070 // InternalSolverLanguageParser.g:4472:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) 17315 // InternalSolverLanguageParser.g:5556:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 )
14071 // InternalSolverLanguageParser.g:4473:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 17316 // InternalSolverLanguageParser.g:5557:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1
14072 { 17317 {
14073 pushFollow(FOLLOW_26); 17318 pushFollow(FOLLOW_33);
14074 rule__MultiplicativeExpression__Group_1__0__Impl(); 17319 rule__MultiplicativeExpression__Group_1__0__Impl();
14075 17320
14076 state._fsp--; 17321 state._fsp--;
@@ -14099,21 +17344,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14099 17344
14100 17345
14101 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" 17346 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl"
14102 // InternalSolverLanguageParser.g:4480:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; 17347 // InternalSolverLanguageParser.g:5564:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ;
14103 public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { 17348 public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException {
14104 17349
14105 int stackSize = keepStackSize(); 17350 int stackSize = keepStackSize();
14106 17351
14107 try { 17352 try {
14108 // InternalSolverLanguageParser.g:4484:1: ( ( () ) ) 17353 // InternalSolverLanguageParser.g:5568:1: ( ( () ) )
14109 // InternalSolverLanguageParser.g:4485:1: ( () ) 17354 // InternalSolverLanguageParser.g:5569:1: ( () )
14110 { 17355 {
14111 // InternalSolverLanguageParser.g:4485:1: ( () ) 17356 // InternalSolverLanguageParser.g:5569:1: ( () )
14112 // InternalSolverLanguageParser.g:4486:2: () 17357 // InternalSolverLanguageParser.g:5570:2: ()
14113 { 17358 {
14114 before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); 17359 before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0());
14115 // InternalSolverLanguageParser.g:4487:2: () 17360 // InternalSolverLanguageParser.g:5571:2: ()
14116 // InternalSolverLanguageParser.g:4487:3: 17361 // InternalSolverLanguageParser.g:5571:3:
14117 { 17362 {
14118 } 17363 }
14119 17364
@@ -14136,14 +17381,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14136 17381
14137 17382
14138 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" 17383 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1"
14139 // InternalSolverLanguageParser.g:4495:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; 17384 // InternalSolverLanguageParser.g:5579:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ;
14140 public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { 17385 public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException {
14141 17386
14142 int stackSize = keepStackSize(); 17387 int stackSize = keepStackSize();
14143 17388
14144 try { 17389 try {
14145 // InternalSolverLanguageParser.g:4499:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) 17390 // InternalSolverLanguageParser.g:5583:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 )
14146 // InternalSolverLanguageParser.g:4500:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 17391 // InternalSolverLanguageParser.g:5584:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2
14147 { 17392 {
14148 pushFollow(FOLLOW_7); 17393 pushFollow(FOLLOW_7);
14149 rule__MultiplicativeExpression__Group_1__1__Impl(); 17394 rule__MultiplicativeExpression__Group_1__1__Impl();
@@ -14174,21 +17419,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14174 17419
14175 17420
14176 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" 17421 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl"
14177 // InternalSolverLanguageParser.g:4507:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ; 17422 // InternalSolverLanguageParser.g:5591:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ;
14178 public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { 17423 public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException {
14179 17424
14180 int stackSize = keepStackSize(); 17425 int stackSize = keepStackSize();
14181 17426
14182 try { 17427 try {
14183 // InternalSolverLanguageParser.g:4511:1: ( ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ) 17428 // InternalSolverLanguageParser.g:5595:1: ( ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) )
14184 // InternalSolverLanguageParser.g:4512:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) 17429 // InternalSolverLanguageParser.g:5596:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) )
14185 { 17430 {
14186 // InternalSolverLanguageParser.g:4512:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) 17431 // InternalSolverLanguageParser.g:5596:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) )
14187 // InternalSolverLanguageParser.g:4513:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 ) 17432 // InternalSolverLanguageParser.g:5597:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 )
14188 { 17433 {
14189 before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); 17434 before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1());
14190 // InternalSolverLanguageParser.g:4514:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 ) 17435 // InternalSolverLanguageParser.g:5598:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 )
14191 // InternalSolverLanguageParser.g:4514:3: rule__MultiplicativeExpression__OpAssignment_1_1 17436 // InternalSolverLanguageParser.g:5598:3: rule__MultiplicativeExpression__OpAssignment_1_1
14192 { 17437 {
14193 pushFollow(FOLLOW_2); 17438 pushFollow(FOLLOW_2);
14194 rule__MultiplicativeExpression__OpAssignment_1_1(); 17439 rule__MultiplicativeExpression__OpAssignment_1_1();
@@ -14221,14 +17466,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14221 17466
14222 17467
14223 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" 17468 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2"
14224 // InternalSolverLanguageParser.g:4522:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; 17469 // InternalSolverLanguageParser.g:5606:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ;
14225 public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { 17470 public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException {
14226 17471
14227 int stackSize = keepStackSize(); 17472 int stackSize = keepStackSize();
14228 17473
14229 try { 17474 try {
14230 // InternalSolverLanguageParser.g:4526:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) 17475 // InternalSolverLanguageParser.g:5610:1: ( rule__MultiplicativeExpression__Group_1__2__Impl )
14231 // InternalSolverLanguageParser.g:4527:2: rule__MultiplicativeExpression__Group_1__2__Impl 17476 // InternalSolverLanguageParser.g:5611:2: rule__MultiplicativeExpression__Group_1__2__Impl
14232 { 17477 {
14233 pushFollow(FOLLOW_2); 17478 pushFollow(FOLLOW_2);
14234 rule__MultiplicativeExpression__Group_1__2__Impl(); 17479 rule__MultiplicativeExpression__Group_1__2__Impl();
@@ -14254,21 +17499,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14254 17499
14255 17500
14256 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" 17501 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl"
14257 // InternalSolverLanguageParser.g:4533:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ; 17502 // InternalSolverLanguageParser.g:5617:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ;
14258 public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { 17503 public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException {
14259 17504
14260 int stackSize = keepStackSize(); 17505 int stackSize = keepStackSize();
14261 17506
14262 try { 17507 try {
14263 // InternalSolverLanguageParser.g:4537:1: ( ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ) 17508 // InternalSolverLanguageParser.g:5621:1: ( ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) )
14264 // InternalSolverLanguageParser.g:4538:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) 17509 // InternalSolverLanguageParser.g:5622:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) )
14265 { 17510 {
14266 // InternalSolverLanguageParser.g:4538:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) 17511 // InternalSolverLanguageParser.g:5622:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) )
14267 // InternalSolverLanguageParser.g:4539:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 ) 17512 // InternalSolverLanguageParser.g:5623:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 )
14268 { 17513 {
14269 before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); 17514 before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2());
14270 // InternalSolverLanguageParser.g:4540:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 ) 17515 // InternalSolverLanguageParser.g:5624:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 )
14271 // InternalSolverLanguageParser.g:4540:3: rule__MultiplicativeExpression__RightAssignment_1_2 17516 // InternalSolverLanguageParser.g:5624:3: rule__MultiplicativeExpression__RightAssignment_1_2
14272 { 17517 {
14273 pushFollow(FOLLOW_2); 17518 pushFollow(FOLLOW_2);
14274 rule__MultiplicativeExpression__RightAssignment_1_2(); 17519 rule__MultiplicativeExpression__RightAssignment_1_2();
@@ -14301,16 +17546,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14301 17546
14302 17547
14303 // $ANTLR start "rule__ExponentialExpression__Group__0" 17548 // $ANTLR start "rule__ExponentialExpression__Group__0"
14304 // InternalSolverLanguageParser.g:4549:1: rule__ExponentialExpression__Group__0 : rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ; 17549 // InternalSolverLanguageParser.g:5633:1: rule__ExponentialExpression__Group__0 : rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ;
14305 public final void rule__ExponentialExpression__Group__0() throws RecognitionException { 17550 public final void rule__ExponentialExpression__Group__0() throws RecognitionException {
14306 17551
14307 int stackSize = keepStackSize(); 17552 int stackSize = keepStackSize();
14308 17553
14309 try { 17554 try {
14310 // InternalSolverLanguageParser.g:4553:1: ( rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ) 17555 // InternalSolverLanguageParser.g:5637:1: ( rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 )
14311 // InternalSolverLanguageParser.g:4554:2: rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 17556 // InternalSolverLanguageParser.g:5638:2: rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1
14312 { 17557 {
14313 pushFollow(FOLLOW_28); 17558 pushFollow(FOLLOW_35);
14314 rule__ExponentialExpression__Group__0__Impl(); 17559 rule__ExponentialExpression__Group__0__Impl();
14315 17560
14316 state._fsp--; 17561 state._fsp--;
@@ -14339,25 +17584,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14339 17584
14340 17585
14341 // $ANTLR start "rule__ExponentialExpression__Group__0__Impl" 17586 // $ANTLR start "rule__ExponentialExpression__Group__0__Impl"
14342 // InternalSolverLanguageParser.g:4561:1: rule__ExponentialExpression__Group__0__Impl : ( ruleUnaryExpression ) ; 17587 // InternalSolverLanguageParser.g:5645:1: rule__ExponentialExpression__Group__0__Impl : ( ruleCastExpression ) ;
14343 public final void rule__ExponentialExpression__Group__0__Impl() throws RecognitionException { 17588 public final void rule__ExponentialExpression__Group__0__Impl() throws RecognitionException {
14344 17589
14345 int stackSize = keepStackSize(); 17590 int stackSize = keepStackSize();
14346 17591
14347 try { 17592 try {
14348 // InternalSolverLanguageParser.g:4565:1: ( ( ruleUnaryExpression ) ) 17593 // InternalSolverLanguageParser.g:5649:1: ( ( ruleCastExpression ) )
14349 // InternalSolverLanguageParser.g:4566:1: ( ruleUnaryExpression ) 17594 // InternalSolverLanguageParser.g:5650:1: ( ruleCastExpression )
14350 { 17595 {
14351 // InternalSolverLanguageParser.g:4566:1: ( ruleUnaryExpression ) 17596 // InternalSolverLanguageParser.g:5650:1: ( ruleCastExpression )
14352 // InternalSolverLanguageParser.g:4567:2: ruleUnaryExpression 17597 // InternalSolverLanguageParser.g:5651:2: ruleCastExpression
14353 { 17598 {
14354 before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 17599 before(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
14355 pushFollow(FOLLOW_2); 17600 pushFollow(FOLLOW_2);
14356 ruleUnaryExpression(); 17601 ruleCastExpression();
14357 17602
14358 state._fsp--; 17603 state._fsp--;
14359 17604
14360 after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 17605 after(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
14361 17606
14362 } 17607 }
14363 17608
@@ -14380,14 +17625,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14380 17625
14381 17626
14382 // $ANTLR start "rule__ExponentialExpression__Group__1" 17627 // $ANTLR start "rule__ExponentialExpression__Group__1"
14383 // InternalSolverLanguageParser.g:4576:1: rule__ExponentialExpression__Group__1 : rule__ExponentialExpression__Group__1__Impl ; 17628 // InternalSolverLanguageParser.g:5660:1: rule__ExponentialExpression__Group__1 : rule__ExponentialExpression__Group__1__Impl ;
14384 public final void rule__ExponentialExpression__Group__1() throws RecognitionException { 17629 public final void rule__ExponentialExpression__Group__1() throws RecognitionException {
14385 17630
14386 int stackSize = keepStackSize(); 17631 int stackSize = keepStackSize();
14387 17632
14388 try { 17633 try {
14389 // InternalSolverLanguageParser.g:4580:1: ( rule__ExponentialExpression__Group__1__Impl ) 17634 // InternalSolverLanguageParser.g:5664:1: ( rule__ExponentialExpression__Group__1__Impl )
14390 // InternalSolverLanguageParser.g:4581:2: rule__ExponentialExpression__Group__1__Impl 17635 // InternalSolverLanguageParser.g:5665:2: rule__ExponentialExpression__Group__1__Impl
14391 { 17636 {
14392 pushFollow(FOLLOW_2); 17637 pushFollow(FOLLOW_2);
14393 rule__ExponentialExpression__Group__1__Impl(); 17638 rule__ExponentialExpression__Group__1__Impl();
@@ -14413,29 +17658,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14413 17658
14414 17659
14415 // $ANTLR start "rule__ExponentialExpression__Group__1__Impl" 17660 // $ANTLR start "rule__ExponentialExpression__Group__1__Impl"
14416 // InternalSolverLanguageParser.g:4587:1: rule__ExponentialExpression__Group__1__Impl : ( ( rule__ExponentialExpression__Group_1__0 )? ) ; 17661 // InternalSolverLanguageParser.g:5671:1: rule__ExponentialExpression__Group__1__Impl : ( ( rule__ExponentialExpression__Group_1__0 )? ) ;
14417 public final void rule__ExponentialExpression__Group__1__Impl() throws RecognitionException { 17662 public final void rule__ExponentialExpression__Group__1__Impl() throws RecognitionException {
14418 17663
14419 int stackSize = keepStackSize(); 17664 int stackSize = keepStackSize();
14420 17665
14421 try { 17666 try {
14422 // InternalSolverLanguageParser.g:4591:1: ( ( ( rule__ExponentialExpression__Group_1__0 )? ) ) 17667 // InternalSolverLanguageParser.g:5675:1: ( ( ( rule__ExponentialExpression__Group_1__0 )? ) )
14423 // InternalSolverLanguageParser.g:4592:1: ( ( rule__ExponentialExpression__Group_1__0 )? ) 17668 // InternalSolverLanguageParser.g:5676:1: ( ( rule__ExponentialExpression__Group_1__0 )? )
14424 { 17669 {
14425 // InternalSolverLanguageParser.g:4592:1: ( ( rule__ExponentialExpression__Group_1__0 )? ) 17670 // InternalSolverLanguageParser.g:5676:1: ( ( rule__ExponentialExpression__Group_1__0 )? )
14426 // InternalSolverLanguageParser.g:4593:2: ( rule__ExponentialExpression__Group_1__0 )? 17671 // InternalSolverLanguageParser.g:5677:2: ( rule__ExponentialExpression__Group_1__0 )?
14427 { 17672 {
14428 before(grammarAccess.getExponentialExpressionAccess().getGroup_1()); 17673 before(grammarAccess.getExponentialExpressionAccess().getGroup_1());
14429 // InternalSolverLanguageParser.g:4594:2: ( rule__ExponentialExpression__Group_1__0 )? 17674 // InternalSolverLanguageParser.g:5678:2: ( rule__ExponentialExpression__Group_1__0 )?
14430 int alt38=2; 17675 int alt41=2;
14431 int LA38_0 = input.LA(1); 17676 int LA41_0 = input.LA(1);
14432 17677
14433 if ( (LA38_0==CircumflexAccent) ) { 17678 if ( (LA41_0==CircumflexAccent) ) {
14434 alt38=1; 17679 alt41=1;
14435 } 17680 }
14436 switch (alt38) { 17681 switch (alt41) {
14437 case 1 : 17682 case 1 :
14438 // InternalSolverLanguageParser.g:4594:3: rule__ExponentialExpression__Group_1__0 17683 // InternalSolverLanguageParser.g:5678:3: rule__ExponentialExpression__Group_1__0
14439 { 17684 {
14440 pushFollow(FOLLOW_2); 17685 pushFollow(FOLLOW_2);
14441 rule__ExponentialExpression__Group_1__0(); 17686 rule__ExponentialExpression__Group_1__0();
@@ -14471,16 +17716,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14471 17716
14472 17717
14473 // $ANTLR start "rule__ExponentialExpression__Group_1__0" 17718 // $ANTLR start "rule__ExponentialExpression__Group_1__0"
14474 // InternalSolverLanguageParser.g:4603:1: rule__ExponentialExpression__Group_1__0 : rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ; 17719 // InternalSolverLanguageParser.g:5687:1: rule__ExponentialExpression__Group_1__0 : rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ;
14475 public final void rule__ExponentialExpression__Group_1__0() throws RecognitionException { 17720 public final void rule__ExponentialExpression__Group_1__0() throws RecognitionException {
14476 17721
14477 int stackSize = keepStackSize(); 17722 int stackSize = keepStackSize();
14478 17723
14479 try { 17724 try {
14480 // InternalSolverLanguageParser.g:4607:1: ( rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ) 17725 // InternalSolverLanguageParser.g:5691:1: ( rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 )
14481 // InternalSolverLanguageParser.g:4608:2: rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 17726 // InternalSolverLanguageParser.g:5692:2: rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1
14482 { 17727 {
14483 pushFollow(FOLLOW_28); 17728 pushFollow(FOLLOW_35);
14484 rule__ExponentialExpression__Group_1__0__Impl(); 17729 rule__ExponentialExpression__Group_1__0__Impl();
14485 17730
14486 state._fsp--; 17731 state._fsp--;
@@ -14509,21 +17754,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14509 17754
14510 17755
14511 // $ANTLR start "rule__ExponentialExpression__Group_1__0__Impl" 17756 // $ANTLR start "rule__ExponentialExpression__Group_1__0__Impl"
14512 // InternalSolverLanguageParser.g:4615:1: rule__ExponentialExpression__Group_1__0__Impl : ( () ) ; 17757 // InternalSolverLanguageParser.g:5699:1: rule__ExponentialExpression__Group_1__0__Impl : ( () ) ;
14513 public final void rule__ExponentialExpression__Group_1__0__Impl() throws RecognitionException { 17758 public final void rule__ExponentialExpression__Group_1__0__Impl() throws RecognitionException {
14514 17759
14515 int stackSize = keepStackSize(); 17760 int stackSize = keepStackSize();
14516 17761
14517 try { 17762 try {
14518 // InternalSolverLanguageParser.g:4619:1: ( ( () ) ) 17763 // InternalSolverLanguageParser.g:5703:1: ( ( () ) )
14519 // InternalSolverLanguageParser.g:4620:1: ( () ) 17764 // InternalSolverLanguageParser.g:5704:1: ( () )
14520 { 17765 {
14521 // InternalSolverLanguageParser.g:4620:1: ( () ) 17766 // InternalSolverLanguageParser.g:5704:1: ( () )
14522 // InternalSolverLanguageParser.g:4621:2: () 17767 // InternalSolverLanguageParser.g:5705:2: ()
14523 { 17768 {
14524 before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); 17769 before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0());
14525 // InternalSolverLanguageParser.g:4622:2: () 17770 // InternalSolverLanguageParser.g:5706:2: ()
14526 // InternalSolverLanguageParser.g:4622:3: 17771 // InternalSolverLanguageParser.g:5706:3:
14527 { 17772 {
14528 } 17773 }
14529 17774
@@ -14546,14 +17791,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14546 17791
14547 17792
14548 // $ANTLR start "rule__ExponentialExpression__Group_1__1" 17793 // $ANTLR start "rule__ExponentialExpression__Group_1__1"
14549 // InternalSolverLanguageParser.g:4630:1: rule__ExponentialExpression__Group_1__1 : rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ; 17794 // InternalSolverLanguageParser.g:5714:1: rule__ExponentialExpression__Group_1__1 : rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ;
14550 public final void rule__ExponentialExpression__Group_1__1() throws RecognitionException { 17795 public final void rule__ExponentialExpression__Group_1__1() throws RecognitionException {
14551 17796
14552 int stackSize = keepStackSize(); 17797 int stackSize = keepStackSize();
14553 17798
14554 try { 17799 try {
14555 // InternalSolverLanguageParser.g:4634:1: ( rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ) 17800 // InternalSolverLanguageParser.g:5718:1: ( rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 )
14556 // InternalSolverLanguageParser.g:4635:2: rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 17801 // InternalSolverLanguageParser.g:5719:2: rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2
14557 { 17802 {
14558 pushFollow(FOLLOW_7); 17803 pushFollow(FOLLOW_7);
14559 rule__ExponentialExpression__Group_1__1__Impl(); 17804 rule__ExponentialExpression__Group_1__1__Impl();
@@ -14584,21 +17829,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14584 17829
14585 17830
14586 // $ANTLR start "rule__ExponentialExpression__Group_1__1__Impl" 17831 // $ANTLR start "rule__ExponentialExpression__Group_1__1__Impl"
14587 // InternalSolverLanguageParser.g:4642:1: rule__ExponentialExpression__Group_1__1__Impl : ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ; 17832 // InternalSolverLanguageParser.g:5726:1: rule__ExponentialExpression__Group_1__1__Impl : ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ;
14588 public final void rule__ExponentialExpression__Group_1__1__Impl() throws RecognitionException { 17833 public final void rule__ExponentialExpression__Group_1__1__Impl() throws RecognitionException {
14589 17834
14590 int stackSize = keepStackSize(); 17835 int stackSize = keepStackSize();
14591 17836
14592 try { 17837 try {
14593 // InternalSolverLanguageParser.g:4646:1: ( ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ) 17838 // InternalSolverLanguageParser.g:5730:1: ( ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) )
14594 // InternalSolverLanguageParser.g:4647:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) 17839 // InternalSolverLanguageParser.g:5731:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) )
14595 { 17840 {
14596 // InternalSolverLanguageParser.g:4647:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) 17841 // InternalSolverLanguageParser.g:5731:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) )
14597 // InternalSolverLanguageParser.g:4648:2: ( rule__ExponentialExpression__OpAssignment_1_1 ) 17842 // InternalSolverLanguageParser.g:5732:2: ( rule__ExponentialExpression__OpAssignment_1_1 )
14598 { 17843 {
14599 before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); 17844 before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1());
14600 // InternalSolverLanguageParser.g:4649:2: ( rule__ExponentialExpression__OpAssignment_1_1 ) 17845 // InternalSolverLanguageParser.g:5733:2: ( rule__ExponentialExpression__OpAssignment_1_1 )
14601 // InternalSolverLanguageParser.g:4649:3: rule__ExponentialExpression__OpAssignment_1_1 17846 // InternalSolverLanguageParser.g:5733:3: rule__ExponentialExpression__OpAssignment_1_1
14602 { 17847 {
14603 pushFollow(FOLLOW_2); 17848 pushFollow(FOLLOW_2);
14604 rule__ExponentialExpression__OpAssignment_1_1(); 17849 rule__ExponentialExpression__OpAssignment_1_1();
@@ -14631,14 +17876,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14631 17876
14632 17877
14633 // $ANTLR start "rule__ExponentialExpression__Group_1__2" 17878 // $ANTLR start "rule__ExponentialExpression__Group_1__2"
14634 // InternalSolverLanguageParser.g:4657:1: rule__ExponentialExpression__Group_1__2 : rule__ExponentialExpression__Group_1__2__Impl ; 17879 // InternalSolverLanguageParser.g:5741:1: rule__ExponentialExpression__Group_1__2 : rule__ExponentialExpression__Group_1__2__Impl ;
14635 public final void rule__ExponentialExpression__Group_1__2() throws RecognitionException { 17880 public final void rule__ExponentialExpression__Group_1__2() throws RecognitionException {
14636 17881
14637 int stackSize = keepStackSize(); 17882 int stackSize = keepStackSize();
14638 17883
14639 try { 17884 try {
14640 // InternalSolverLanguageParser.g:4661:1: ( rule__ExponentialExpression__Group_1__2__Impl ) 17885 // InternalSolverLanguageParser.g:5745:1: ( rule__ExponentialExpression__Group_1__2__Impl )
14641 // InternalSolverLanguageParser.g:4662:2: rule__ExponentialExpression__Group_1__2__Impl 17886 // InternalSolverLanguageParser.g:5746:2: rule__ExponentialExpression__Group_1__2__Impl
14642 { 17887 {
14643 pushFollow(FOLLOW_2); 17888 pushFollow(FOLLOW_2);
14644 rule__ExponentialExpression__Group_1__2__Impl(); 17889 rule__ExponentialExpression__Group_1__2__Impl();
@@ -14664,21 +17909,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14664 17909
14665 17910
14666 // $ANTLR start "rule__ExponentialExpression__Group_1__2__Impl" 17911 // $ANTLR start "rule__ExponentialExpression__Group_1__2__Impl"
14667 // InternalSolverLanguageParser.g:4668:1: rule__ExponentialExpression__Group_1__2__Impl : ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ; 17912 // InternalSolverLanguageParser.g:5752:1: rule__ExponentialExpression__Group_1__2__Impl : ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ;
14668 public final void rule__ExponentialExpression__Group_1__2__Impl() throws RecognitionException { 17913 public final void rule__ExponentialExpression__Group_1__2__Impl() throws RecognitionException {
14669 17914
14670 int stackSize = keepStackSize(); 17915 int stackSize = keepStackSize();
14671 17916
14672 try { 17917 try {
14673 // InternalSolverLanguageParser.g:4672:1: ( ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ) 17918 // InternalSolverLanguageParser.g:5756:1: ( ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) )
14674 // InternalSolverLanguageParser.g:4673:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) 17919 // InternalSolverLanguageParser.g:5757:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) )
14675 { 17920 {
14676 // InternalSolverLanguageParser.g:4673:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) 17921 // InternalSolverLanguageParser.g:5757:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) )
14677 // InternalSolverLanguageParser.g:4674:2: ( rule__ExponentialExpression__RightAssignment_1_2 ) 17922 // InternalSolverLanguageParser.g:5758:2: ( rule__ExponentialExpression__RightAssignment_1_2 )
14678 { 17923 {
14679 before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); 17924 before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2());
14680 // InternalSolverLanguageParser.g:4675:2: ( rule__ExponentialExpression__RightAssignment_1_2 ) 17925 // InternalSolverLanguageParser.g:5759:2: ( rule__ExponentialExpression__RightAssignment_1_2 )
14681 // InternalSolverLanguageParser.g:4675:3: rule__ExponentialExpression__RightAssignment_1_2 17926 // InternalSolverLanguageParser.g:5759:3: rule__ExponentialExpression__RightAssignment_1_2
14682 { 17927 {
14683 pushFollow(FOLLOW_2); 17928 pushFollow(FOLLOW_2);
14684 rule__ExponentialExpression__RightAssignment_1_2(); 17929 rule__ExponentialExpression__RightAssignment_1_2();
@@ -14710,15 +17955,415 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14710 // $ANTLR end "rule__ExponentialExpression__Group_1__2__Impl" 17955 // $ANTLR end "rule__ExponentialExpression__Group_1__2__Impl"
14711 17956
14712 17957
17958 // $ANTLR start "rule__CastExpression__Group__0"
17959 // InternalSolverLanguageParser.g:5768:1: rule__CastExpression__Group__0 : rule__CastExpression__Group__0__Impl rule__CastExpression__Group__1 ;
17960 public final void rule__CastExpression__Group__0() throws RecognitionException {
17961
17962 int stackSize = keepStackSize();
17963
17964 try {
17965 // InternalSolverLanguageParser.g:5772:1: ( rule__CastExpression__Group__0__Impl rule__CastExpression__Group__1 )
17966 // InternalSolverLanguageParser.g:5773:2: rule__CastExpression__Group__0__Impl rule__CastExpression__Group__1
17967 {
17968 pushFollow(FOLLOW_36);
17969 rule__CastExpression__Group__0__Impl();
17970
17971 state._fsp--;
17972
17973 pushFollow(FOLLOW_2);
17974 rule__CastExpression__Group__1();
17975
17976 state._fsp--;
17977
17978
17979 }
17980
17981 }
17982 catch (RecognitionException re) {
17983 reportError(re);
17984 recover(input,re);
17985 }
17986 finally {
17987
17988 restoreStackSize(stackSize);
17989
17990 }
17991 return ;
17992 }
17993 // $ANTLR end "rule__CastExpression__Group__0"
17994
17995
17996 // $ANTLR start "rule__CastExpression__Group__0__Impl"
17997 // InternalSolverLanguageParser.g:5780:1: rule__CastExpression__Group__0__Impl : ( ruleUnaryExpression ) ;
17998 public final void rule__CastExpression__Group__0__Impl() throws RecognitionException {
17999
18000 int stackSize = keepStackSize();
18001
18002 try {
18003 // InternalSolverLanguageParser.g:5784:1: ( ( ruleUnaryExpression ) )
18004 // InternalSolverLanguageParser.g:5785:1: ( ruleUnaryExpression )
18005 {
18006 // InternalSolverLanguageParser.g:5785:1: ( ruleUnaryExpression )
18007 // InternalSolverLanguageParser.g:5786:2: ruleUnaryExpression
18008 {
18009 before(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
18010 pushFollow(FOLLOW_2);
18011 ruleUnaryExpression();
18012
18013 state._fsp--;
18014
18015 after(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
18016
18017 }
18018
18019
18020 }
18021
18022 }
18023 catch (RecognitionException re) {
18024 reportError(re);
18025 recover(input,re);
18026 }
18027 finally {
18028
18029 restoreStackSize(stackSize);
18030
18031 }
18032 return ;
18033 }
18034 // $ANTLR end "rule__CastExpression__Group__0__Impl"
18035
18036
18037 // $ANTLR start "rule__CastExpression__Group__1"
18038 // InternalSolverLanguageParser.g:5795:1: rule__CastExpression__Group__1 : rule__CastExpression__Group__1__Impl ;
18039 public final void rule__CastExpression__Group__1() throws RecognitionException {
18040
18041 int stackSize = keepStackSize();
18042
18043 try {
18044 // InternalSolverLanguageParser.g:5799:1: ( rule__CastExpression__Group__1__Impl )
18045 // InternalSolverLanguageParser.g:5800:2: rule__CastExpression__Group__1__Impl
18046 {
18047 pushFollow(FOLLOW_2);
18048 rule__CastExpression__Group__1__Impl();
18049
18050 state._fsp--;
18051
18052
18053 }
18054
18055 }
18056 catch (RecognitionException re) {
18057 reportError(re);
18058 recover(input,re);
18059 }
18060 finally {
18061
18062 restoreStackSize(stackSize);
18063
18064 }
18065 return ;
18066 }
18067 // $ANTLR end "rule__CastExpression__Group__1"
18068
18069
18070 // $ANTLR start "rule__CastExpression__Group__1__Impl"
18071 // InternalSolverLanguageParser.g:5806:1: rule__CastExpression__Group__1__Impl : ( ( rule__CastExpression__Group_1__0 )? ) ;
18072 public final void rule__CastExpression__Group__1__Impl() throws RecognitionException {
18073
18074 int stackSize = keepStackSize();
18075
18076 try {
18077 // InternalSolverLanguageParser.g:5810:1: ( ( ( rule__CastExpression__Group_1__0 )? ) )
18078 // InternalSolverLanguageParser.g:5811:1: ( ( rule__CastExpression__Group_1__0 )? )
18079 {
18080 // InternalSolverLanguageParser.g:5811:1: ( ( rule__CastExpression__Group_1__0 )? )
18081 // InternalSolverLanguageParser.g:5812:2: ( rule__CastExpression__Group_1__0 )?
18082 {
18083 before(grammarAccess.getCastExpressionAccess().getGroup_1());
18084 // InternalSolverLanguageParser.g:5813:2: ( rule__CastExpression__Group_1__0 )?
18085 int alt42=2;
18086 int LA42_0 = input.LA(1);
18087
18088 if ( (LA42_0==As) ) {
18089 alt42=1;
18090 }
18091 switch (alt42) {
18092 case 1 :
18093 // InternalSolverLanguageParser.g:5813:3: rule__CastExpression__Group_1__0
18094 {
18095 pushFollow(FOLLOW_2);
18096 rule__CastExpression__Group_1__0();
18097
18098 state._fsp--;
18099
18100
18101 }
18102 break;
18103
18104 }
18105
18106 after(grammarAccess.getCastExpressionAccess().getGroup_1());
18107
18108 }
18109
18110
18111 }
18112
18113 }
18114 catch (RecognitionException re) {
18115 reportError(re);
18116 recover(input,re);
18117 }
18118 finally {
18119
18120 restoreStackSize(stackSize);
18121
18122 }
18123 return ;
18124 }
18125 // $ANTLR end "rule__CastExpression__Group__1__Impl"
18126
18127
18128 // $ANTLR start "rule__CastExpression__Group_1__0"
18129 // InternalSolverLanguageParser.g:5822:1: rule__CastExpression__Group_1__0 : rule__CastExpression__Group_1__0__Impl rule__CastExpression__Group_1__1 ;
18130 public final void rule__CastExpression__Group_1__0() throws RecognitionException {
18131
18132 int stackSize = keepStackSize();
18133
18134 try {
18135 // InternalSolverLanguageParser.g:5826:1: ( rule__CastExpression__Group_1__0__Impl rule__CastExpression__Group_1__1 )
18136 // InternalSolverLanguageParser.g:5827:2: rule__CastExpression__Group_1__0__Impl rule__CastExpression__Group_1__1
18137 {
18138 pushFollow(FOLLOW_36);
18139 rule__CastExpression__Group_1__0__Impl();
18140
18141 state._fsp--;
18142
18143 pushFollow(FOLLOW_2);
18144 rule__CastExpression__Group_1__1();
18145
18146 state._fsp--;
18147
18148
18149 }
18150
18151 }
18152 catch (RecognitionException re) {
18153 reportError(re);
18154 recover(input,re);
18155 }
18156 finally {
18157
18158 restoreStackSize(stackSize);
18159
18160 }
18161 return ;
18162 }
18163 // $ANTLR end "rule__CastExpression__Group_1__0"
18164
18165
18166 // $ANTLR start "rule__CastExpression__Group_1__0__Impl"
18167 // InternalSolverLanguageParser.g:5834:1: rule__CastExpression__Group_1__0__Impl : ( () ) ;
18168 public final void rule__CastExpression__Group_1__0__Impl() throws RecognitionException {
18169
18170 int stackSize = keepStackSize();
18171
18172 try {
18173 // InternalSolverLanguageParser.g:5838:1: ( ( () ) )
18174 // InternalSolverLanguageParser.g:5839:1: ( () )
18175 {
18176 // InternalSolverLanguageParser.g:5839:1: ( () )
18177 // InternalSolverLanguageParser.g:5840:2: ()
18178 {
18179 before(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0());
18180 // InternalSolverLanguageParser.g:5841:2: ()
18181 // InternalSolverLanguageParser.g:5841:3:
18182 {
18183 }
18184
18185 after(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0());
18186
18187 }
18188
18189
18190 }
18191
18192 }
18193 finally {
18194
18195 restoreStackSize(stackSize);
18196
18197 }
18198 return ;
18199 }
18200 // $ANTLR end "rule__CastExpression__Group_1__0__Impl"
18201
18202
18203 // $ANTLR start "rule__CastExpression__Group_1__1"
18204 // InternalSolverLanguageParser.g:5849:1: rule__CastExpression__Group_1__1 : rule__CastExpression__Group_1__1__Impl rule__CastExpression__Group_1__2 ;
18205 public final void rule__CastExpression__Group_1__1() throws RecognitionException {
18206
18207 int stackSize = keepStackSize();
18208
18209 try {
18210 // InternalSolverLanguageParser.g:5853:1: ( rule__CastExpression__Group_1__1__Impl rule__CastExpression__Group_1__2 )
18211 // InternalSolverLanguageParser.g:5854:2: rule__CastExpression__Group_1__1__Impl rule__CastExpression__Group_1__2
18212 {
18213 pushFollow(FOLLOW_9);
18214 rule__CastExpression__Group_1__1__Impl();
18215
18216 state._fsp--;
18217
18218 pushFollow(FOLLOW_2);
18219 rule__CastExpression__Group_1__2();
18220
18221 state._fsp--;
18222
18223
18224 }
18225
18226 }
18227 catch (RecognitionException re) {
18228 reportError(re);
18229 recover(input,re);
18230 }
18231 finally {
18232
18233 restoreStackSize(stackSize);
18234
18235 }
18236 return ;
18237 }
18238 // $ANTLR end "rule__CastExpression__Group_1__1"
18239
18240
18241 // $ANTLR start "rule__CastExpression__Group_1__1__Impl"
18242 // InternalSolverLanguageParser.g:5861:1: rule__CastExpression__Group_1__1__Impl : ( As ) ;
18243 public final void rule__CastExpression__Group_1__1__Impl() throws RecognitionException {
18244
18245 int stackSize = keepStackSize();
18246
18247 try {
18248 // InternalSolverLanguageParser.g:5865:1: ( ( As ) )
18249 // InternalSolverLanguageParser.g:5866:1: ( As )
18250 {
18251 // InternalSolverLanguageParser.g:5866:1: ( As )
18252 // InternalSolverLanguageParser.g:5867:2: As
18253 {
18254 before(grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
18255 match(input,As,FOLLOW_2);
18256 after(grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
18257
18258 }
18259
18260
18261 }
18262
18263 }
18264 catch (RecognitionException re) {
18265 reportError(re);
18266 recover(input,re);
18267 }
18268 finally {
18269
18270 restoreStackSize(stackSize);
18271
18272 }
18273 return ;
18274 }
18275 // $ANTLR end "rule__CastExpression__Group_1__1__Impl"
18276
18277
18278 // $ANTLR start "rule__CastExpression__Group_1__2"
18279 // InternalSolverLanguageParser.g:5876:1: rule__CastExpression__Group_1__2 : rule__CastExpression__Group_1__2__Impl ;
18280 public final void rule__CastExpression__Group_1__2() throws RecognitionException {
18281
18282 int stackSize = keepStackSize();
18283
18284 try {
18285 // InternalSolverLanguageParser.g:5880:1: ( rule__CastExpression__Group_1__2__Impl )
18286 // InternalSolverLanguageParser.g:5881:2: rule__CastExpression__Group_1__2__Impl
18287 {
18288 pushFollow(FOLLOW_2);
18289 rule__CastExpression__Group_1__2__Impl();
18290
18291 state._fsp--;
18292
18293
18294 }
18295
18296 }
18297 catch (RecognitionException re) {
18298 reportError(re);
18299 recover(input,re);
18300 }
18301 finally {
18302
18303 restoreStackSize(stackSize);
18304
18305 }
18306 return ;
18307 }
18308 // $ANTLR end "rule__CastExpression__Group_1__2"
18309
18310
18311 // $ANTLR start "rule__CastExpression__Group_1__2__Impl"
18312 // InternalSolverLanguageParser.g:5887:1: rule__CastExpression__Group_1__2__Impl : ( ( rule__CastExpression__TypeAssignment_1_2 ) ) ;
18313 public final void rule__CastExpression__Group_1__2__Impl() throws RecognitionException {
18314
18315 int stackSize = keepStackSize();
18316
18317 try {
18318 // InternalSolverLanguageParser.g:5891:1: ( ( ( rule__CastExpression__TypeAssignment_1_2 ) ) )
18319 // InternalSolverLanguageParser.g:5892:1: ( ( rule__CastExpression__TypeAssignment_1_2 ) )
18320 {
18321 // InternalSolverLanguageParser.g:5892:1: ( ( rule__CastExpression__TypeAssignment_1_2 ) )
18322 // InternalSolverLanguageParser.g:5893:2: ( rule__CastExpression__TypeAssignment_1_2 )
18323 {
18324 before(grammarAccess.getCastExpressionAccess().getTypeAssignment_1_2());
18325 // InternalSolverLanguageParser.g:5894:2: ( rule__CastExpression__TypeAssignment_1_2 )
18326 // InternalSolverLanguageParser.g:5894:3: rule__CastExpression__TypeAssignment_1_2
18327 {
18328 pushFollow(FOLLOW_2);
18329 rule__CastExpression__TypeAssignment_1_2();
18330
18331 state._fsp--;
18332
18333
18334 }
18335
18336 after(grammarAccess.getCastExpressionAccess().getTypeAssignment_1_2());
18337
18338 }
18339
18340
18341 }
18342
18343 }
18344 catch (RecognitionException re) {
18345 reportError(re);
18346 recover(input,re);
18347 }
18348 finally {
18349
18350 restoreStackSize(stackSize);
18351
18352 }
18353 return ;
18354 }
18355 // $ANTLR end "rule__CastExpression__Group_1__2__Impl"
18356
18357
14713 // $ANTLR start "rule__UnaryExpression__Group_1__0" 18358 // $ANTLR start "rule__UnaryExpression__Group_1__0"
14714 // InternalSolverLanguageParser.g:4684:1: rule__UnaryExpression__Group_1__0 : rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ; 18359 // InternalSolverLanguageParser.g:5903:1: rule__UnaryExpression__Group_1__0 : rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ;
14715 public final void rule__UnaryExpression__Group_1__0() throws RecognitionException { 18360 public final void rule__UnaryExpression__Group_1__0() throws RecognitionException {
14716 18361
14717 int stackSize = keepStackSize(); 18362 int stackSize = keepStackSize();
14718 18363
14719 try { 18364 try {
14720 // InternalSolverLanguageParser.g:4688:1: ( rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ) 18365 // InternalSolverLanguageParser.g:5907:1: ( rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 )
14721 // InternalSolverLanguageParser.g:4689:2: rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 18366 // InternalSolverLanguageParser.g:5908:2: rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1
14722 { 18367 {
14723 pushFollow(FOLLOW_7); 18368 pushFollow(FOLLOW_7);
14724 rule__UnaryExpression__Group_1__0__Impl(); 18369 rule__UnaryExpression__Group_1__0__Impl();
@@ -14749,21 +18394,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14749 18394
14750 18395
14751 // $ANTLR start "rule__UnaryExpression__Group_1__0__Impl" 18396 // $ANTLR start "rule__UnaryExpression__Group_1__0__Impl"
14752 // InternalSolverLanguageParser.g:4696:1: rule__UnaryExpression__Group_1__0__Impl : ( () ) ; 18397 // InternalSolverLanguageParser.g:5915:1: rule__UnaryExpression__Group_1__0__Impl : ( () ) ;
14753 public final void rule__UnaryExpression__Group_1__0__Impl() throws RecognitionException { 18398 public final void rule__UnaryExpression__Group_1__0__Impl() throws RecognitionException {
14754 18399
14755 int stackSize = keepStackSize(); 18400 int stackSize = keepStackSize();
14756 18401
14757 try { 18402 try {
14758 // InternalSolverLanguageParser.g:4700:1: ( ( () ) ) 18403 // InternalSolverLanguageParser.g:5919:1: ( ( () ) )
14759 // InternalSolverLanguageParser.g:4701:1: ( () ) 18404 // InternalSolverLanguageParser.g:5920:1: ( () )
14760 { 18405 {
14761 // InternalSolverLanguageParser.g:4701:1: ( () ) 18406 // InternalSolverLanguageParser.g:5920:1: ( () )
14762 // InternalSolverLanguageParser.g:4702:2: () 18407 // InternalSolverLanguageParser.g:5921:2: ()
14763 { 18408 {
14764 before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); 18409 before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0());
14765 // InternalSolverLanguageParser.g:4703:2: () 18410 // InternalSolverLanguageParser.g:5922:2: ()
14766 // InternalSolverLanguageParser.g:4703:3: 18411 // InternalSolverLanguageParser.g:5922:3:
14767 { 18412 {
14768 } 18413 }
14769 18414
@@ -14786,16 +18431,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14786 18431
14787 18432
14788 // $ANTLR start "rule__UnaryExpression__Group_1__1" 18433 // $ANTLR start "rule__UnaryExpression__Group_1__1"
14789 // InternalSolverLanguageParser.g:4711:1: rule__UnaryExpression__Group_1__1 : rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ; 18434 // InternalSolverLanguageParser.g:5930:1: rule__UnaryExpression__Group_1__1 : rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ;
14790 public final void rule__UnaryExpression__Group_1__1() throws RecognitionException { 18435 public final void rule__UnaryExpression__Group_1__1() throws RecognitionException {
14791 18436
14792 int stackSize = keepStackSize(); 18437 int stackSize = keepStackSize();
14793 18438
14794 try { 18439 try {
14795 // InternalSolverLanguageParser.g:4715:1: ( rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ) 18440 // InternalSolverLanguageParser.g:5934:1: ( rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 )
14796 // InternalSolverLanguageParser.g:4716:2: rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 18441 // InternalSolverLanguageParser.g:5935:2: rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2
14797 { 18442 {
14798 pushFollow(FOLLOW_29); 18443 pushFollow(FOLLOW_37);
14799 rule__UnaryExpression__Group_1__1__Impl(); 18444 rule__UnaryExpression__Group_1__1__Impl();
14800 18445
14801 state._fsp--; 18446 state._fsp--;
@@ -14824,21 +18469,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14824 18469
14825 18470
14826 // $ANTLR start "rule__UnaryExpression__Group_1__1__Impl" 18471 // $ANTLR start "rule__UnaryExpression__Group_1__1__Impl"
14827 // InternalSolverLanguageParser.g:4723:1: rule__UnaryExpression__Group_1__1__Impl : ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ; 18472 // InternalSolverLanguageParser.g:5942:1: rule__UnaryExpression__Group_1__1__Impl : ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ;
14828 public final void rule__UnaryExpression__Group_1__1__Impl() throws RecognitionException { 18473 public final void rule__UnaryExpression__Group_1__1__Impl() throws RecognitionException {
14829 18474
14830 int stackSize = keepStackSize(); 18475 int stackSize = keepStackSize();
14831 18476
14832 try { 18477 try {
14833 // InternalSolverLanguageParser.g:4727:1: ( ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ) 18478 // InternalSolverLanguageParser.g:5946:1: ( ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) )
14834 // InternalSolverLanguageParser.g:4728:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) 18479 // InternalSolverLanguageParser.g:5947:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) )
14835 { 18480 {
14836 // InternalSolverLanguageParser.g:4728:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) 18481 // InternalSolverLanguageParser.g:5947:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) )
14837 // InternalSolverLanguageParser.g:4729:2: ( rule__UnaryExpression__OpAssignment_1_1 ) 18482 // InternalSolverLanguageParser.g:5948:2: ( rule__UnaryExpression__OpAssignment_1_1 )
14838 { 18483 {
14839 before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); 18484 before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1());
14840 // InternalSolverLanguageParser.g:4730:2: ( rule__UnaryExpression__OpAssignment_1_1 ) 18485 // InternalSolverLanguageParser.g:5949:2: ( rule__UnaryExpression__OpAssignment_1_1 )
14841 // InternalSolverLanguageParser.g:4730:3: rule__UnaryExpression__OpAssignment_1_1 18486 // InternalSolverLanguageParser.g:5949:3: rule__UnaryExpression__OpAssignment_1_1
14842 { 18487 {
14843 pushFollow(FOLLOW_2); 18488 pushFollow(FOLLOW_2);
14844 rule__UnaryExpression__OpAssignment_1_1(); 18489 rule__UnaryExpression__OpAssignment_1_1();
@@ -14871,14 +18516,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14871 18516
14872 18517
14873 // $ANTLR start "rule__UnaryExpression__Group_1__2" 18518 // $ANTLR start "rule__UnaryExpression__Group_1__2"
14874 // InternalSolverLanguageParser.g:4738:1: rule__UnaryExpression__Group_1__2 : rule__UnaryExpression__Group_1__2__Impl ; 18519 // InternalSolverLanguageParser.g:5957:1: rule__UnaryExpression__Group_1__2 : rule__UnaryExpression__Group_1__2__Impl ;
14875 public final void rule__UnaryExpression__Group_1__2() throws RecognitionException { 18520 public final void rule__UnaryExpression__Group_1__2() throws RecognitionException {
14876 18521
14877 int stackSize = keepStackSize(); 18522 int stackSize = keepStackSize();
14878 18523
14879 try { 18524 try {
14880 // InternalSolverLanguageParser.g:4742:1: ( rule__UnaryExpression__Group_1__2__Impl ) 18525 // InternalSolverLanguageParser.g:5961:1: ( rule__UnaryExpression__Group_1__2__Impl )
14881 // InternalSolverLanguageParser.g:4743:2: rule__UnaryExpression__Group_1__2__Impl 18526 // InternalSolverLanguageParser.g:5962:2: rule__UnaryExpression__Group_1__2__Impl
14882 { 18527 {
14883 pushFollow(FOLLOW_2); 18528 pushFollow(FOLLOW_2);
14884 rule__UnaryExpression__Group_1__2__Impl(); 18529 rule__UnaryExpression__Group_1__2__Impl();
@@ -14904,21 +18549,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14904 18549
14905 18550
14906 // $ANTLR start "rule__UnaryExpression__Group_1__2__Impl" 18551 // $ANTLR start "rule__UnaryExpression__Group_1__2__Impl"
14907 // InternalSolverLanguageParser.g:4749:1: rule__UnaryExpression__Group_1__2__Impl : ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ; 18552 // InternalSolverLanguageParser.g:5968:1: rule__UnaryExpression__Group_1__2__Impl : ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ;
14908 public final void rule__UnaryExpression__Group_1__2__Impl() throws RecognitionException { 18553 public final void rule__UnaryExpression__Group_1__2__Impl() throws RecognitionException {
14909 18554
14910 int stackSize = keepStackSize(); 18555 int stackSize = keepStackSize();
14911 18556
14912 try { 18557 try {
14913 // InternalSolverLanguageParser.g:4753:1: ( ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ) 18558 // InternalSolverLanguageParser.g:5972:1: ( ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) )
14914 // InternalSolverLanguageParser.g:4754:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) 18559 // InternalSolverLanguageParser.g:5973:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) )
14915 { 18560 {
14916 // InternalSolverLanguageParser.g:4754:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) 18561 // InternalSolverLanguageParser.g:5973:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) )
14917 // InternalSolverLanguageParser.g:4755:2: ( rule__UnaryExpression__BodyAssignment_1_2 ) 18562 // InternalSolverLanguageParser.g:5974:2: ( rule__UnaryExpression__BodyAssignment_1_2 )
14918 { 18563 {
14919 before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); 18564 before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2());
14920 // InternalSolverLanguageParser.g:4756:2: ( rule__UnaryExpression__BodyAssignment_1_2 ) 18565 // InternalSolverLanguageParser.g:5975:2: ( rule__UnaryExpression__BodyAssignment_1_2 )
14921 // InternalSolverLanguageParser.g:4756:3: rule__UnaryExpression__BodyAssignment_1_2 18566 // InternalSolverLanguageParser.g:5975:3: rule__UnaryExpression__BodyAssignment_1_2
14922 { 18567 {
14923 pushFollow(FOLLOW_2); 18568 pushFollow(FOLLOW_2);
14924 rule__UnaryExpression__BodyAssignment_1_2(); 18569 rule__UnaryExpression__BodyAssignment_1_2();
@@ -14950,23 +18595,677 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14950 // $ANTLR end "rule__UnaryExpression__Group_1__2__Impl" 18595 // $ANTLR end "rule__UnaryExpression__Group_1__2__Impl"
14951 18596
14952 18597
14953 // $ANTLR start "rule__Count__Group__0" 18598 // $ANTLR start "rule__LocalVariables__Group__0"
14954 // InternalSolverLanguageParser.g:4765:1: rule__Count__Group__0 : rule__Count__Group__0__Impl rule__Count__Group__1 ; 18599 // InternalSolverLanguageParser.g:5984:1: rule__LocalVariables__Group__0 : rule__LocalVariables__Group__0__Impl rule__LocalVariables__Group__1 ;
14955 public final void rule__Count__Group__0() throws RecognitionException { 18600 public final void rule__LocalVariables__Group__0() throws RecognitionException {
14956 18601
14957 int stackSize = keepStackSize(); 18602 int stackSize = keepStackSize();
14958 18603
14959 try { 18604 try {
14960 // InternalSolverLanguageParser.g:4769:1: ( rule__Count__Group__0__Impl rule__Count__Group__1 ) 18605 // InternalSolverLanguageParser.g:5988:1: ( rule__LocalVariables__Group__0__Impl rule__LocalVariables__Group__1 )
14961 // InternalSolverLanguageParser.g:4770:2: rule__Count__Group__0__Impl rule__Count__Group__1 18606 // InternalSolverLanguageParser.g:5989:2: rule__LocalVariables__Group__0__Impl rule__LocalVariables__Group__1
14962 { 18607 {
14963 pushFollow(FOLLOW_30); 18608 pushFollow(FOLLOW_38);
14964 rule__Count__Group__0__Impl(); 18609 rule__LocalVariables__Group__0__Impl();
18610
18611 state._fsp--;
18612
18613 pushFollow(FOLLOW_2);
18614 rule__LocalVariables__Group__1();
18615
18616 state._fsp--;
18617
18618
18619 }
18620
18621 }
18622 catch (RecognitionException re) {
18623 reportError(re);
18624 recover(input,re);
18625 }
18626 finally {
18627
18628 restoreStackSize(stackSize);
18629
18630 }
18631 return ;
18632 }
18633 // $ANTLR end "rule__LocalVariables__Group__0"
18634
18635
18636 // $ANTLR start "rule__LocalVariables__Group__0__Impl"
18637 // InternalSolverLanguageParser.g:5996:1: rule__LocalVariables__Group__0__Impl : ( () ) ;
18638 public final void rule__LocalVariables__Group__0__Impl() throws RecognitionException {
18639
18640 int stackSize = keepStackSize();
18641
18642 try {
18643 // InternalSolverLanguageParser.g:6000:1: ( ( () ) )
18644 // InternalSolverLanguageParser.g:6001:1: ( () )
18645 {
18646 // InternalSolverLanguageParser.g:6001:1: ( () )
18647 // InternalSolverLanguageParser.g:6002:2: ()
18648 {
18649 before(grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0());
18650 // InternalSolverLanguageParser.g:6003:2: ()
18651 // InternalSolverLanguageParser.g:6003:3:
18652 {
18653 }
18654
18655 after(grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0());
18656
18657 }
18658
18659
18660 }
18661
18662 }
18663 finally {
18664
18665 restoreStackSize(stackSize);
18666
18667 }
18668 return ;
18669 }
18670 // $ANTLR end "rule__LocalVariables__Group__0__Impl"
18671
18672
18673 // $ANTLR start "rule__LocalVariables__Group__1"
18674 // InternalSolverLanguageParser.g:6011:1: rule__LocalVariables__Group__1 : rule__LocalVariables__Group__1__Impl rule__LocalVariables__Group__2 ;
18675 public final void rule__LocalVariables__Group__1() throws RecognitionException {
18676
18677 int stackSize = keepStackSize();
18678
18679 try {
18680 // InternalSolverLanguageParser.g:6015:1: ( rule__LocalVariables__Group__1__Impl rule__LocalVariables__Group__2 )
18681 // InternalSolverLanguageParser.g:6016:2: rule__LocalVariables__Group__1__Impl rule__LocalVariables__Group__2
18682 {
18683 pushFollow(FOLLOW_39);
18684 rule__LocalVariables__Group__1__Impl();
18685
18686 state._fsp--;
18687
18688 pushFollow(FOLLOW_2);
18689 rule__LocalVariables__Group__2();
18690
18691 state._fsp--;
18692
18693
18694 }
18695
18696 }
18697 catch (RecognitionException re) {
18698 reportError(re);
18699 recover(input,re);
18700 }
18701 finally {
18702
18703 restoreStackSize(stackSize);
18704
18705 }
18706 return ;
18707 }
18708 // $ANTLR end "rule__LocalVariables__Group__1"
18709
18710
18711 // $ANTLR start "rule__LocalVariables__Group__1__Impl"
18712 // InternalSolverLanguageParser.g:6023:1: rule__LocalVariables__Group__1__Impl : ( LeftSquareBracket ) ;
18713 public final void rule__LocalVariables__Group__1__Impl() throws RecognitionException {
18714
18715 int stackSize = keepStackSize();
18716
18717 try {
18718 // InternalSolverLanguageParser.g:6027:1: ( ( LeftSquareBracket ) )
18719 // InternalSolverLanguageParser.g:6028:1: ( LeftSquareBracket )
18720 {
18721 // InternalSolverLanguageParser.g:6028:1: ( LeftSquareBracket )
18722 // InternalSolverLanguageParser.g:6029:2: LeftSquareBracket
18723 {
18724 before(grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
18725 match(input,LeftSquareBracket,FOLLOW_2);
18726 after(grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
18727
18728 }
18729
18730
18731 }
18732
18733 }
18734 catch (RecognitionException re) {
18735 reportError(re);
18736 recover(input,re);
18737 }
18738 finally {
18739
18740 restoreStackSize(stackSize);
18741
18742 }
18743 return ;
18744 }
18745 // $ANTLR end "rule__LocalVariables__Group__1__Impl"
18746
18747
18748 // $ANTLR start "rule__LocalVariables__Group__2"
18749 // InternalSolverLanguageParser.g:6038:1: rule__LocalVariables__Group__2 : rule__LocalVariables__Group__2__Impl rule__LocalVariables__Group__3 ;
18750 public final void rule__LocalVariables__Group__2() throws RecognitionException {
18751
18752 int stackSize = keepStackSize();
18753
18754 try {
18755 // InternalSolverLanguageParser.g:6042:1: ( rule__LocalVariables__Group__2__Impl rule__LocalVariables__Group__3 )
18756 // InternalSolverLanguageParser.g:6043:2: rule__LocalVariables__Group__2__Impl rule__LocalVariables__Group__3
18757 {
18758 pushFollow(FOLLOW_39);
18759 rule__LocalVariables__Group__2__Impl();
18760
18761 state._fsp--;
18762
18763 pushFollow(FOLLOW_2);
18764 rule__LocalVariables__Group__3();
18765
18766 state._fsp--;
18767
18768
18769 }
18770
18771 }
18772 catch (RecognitionException re) {
18773 reportError(re);
18774 recover(input,re);
18775 }
18776 finally {
18777
18778 restoreStackSize(stackSize);
18779
18780 }
18781 return ;
18782 }
18783 // $ANTLR end "rule__LocalVariables__Group__2"
18784
18785
18786 // $ANTLR start "rule__LocalVariables__Group__2__Impl"
18787 // InternalSolverLanguageParser.g:6050:1: rule__LocalVariables__Group__2__Impl : ( ( rule__LocalVariables__Group_2__0 )? ) ;
18788 public final void rule__LocalVariables__Group__2__Impl() throws RecognitionException {
18789
18790 int stackSize = keepStackSize();
18791
18792 try {
18793 // InternalSolverLanguageParser.g:6054:1: ( ( ( rule__LocalVariables__Group_2__0 )? ) )
18794 // InternalSolverLanguageParser.g:6055:1: ( ( rule__LocalVariables__Group_2__0 )? )
18795 {
18796 // InternalSolverLanguageParser.g:6055:1: ( ( rule__LocalVariables__Group_2__0 )? )
18797 // InternalSolverLanguageParser.g:6056:2: ( rule__LocalVariables__Group_2__0 )?
18798 {
18799 before(grammarAccess.getLocalVariablesAccess().getGroup_2());
18800 // InternalSolverLanguageParser.g:6057:2: ( rule__LocalVariables__Group_2__0 )?
18801 int alt43=2;
18802 int LA43_0 = input.LA(1);
18803
18804 if ( (LA43_0==RULE_QUOTED_ID||LA43_0==RULE_ID) ) {
18805 alt43=1;
18806 }
18807 switch (alt43) {
18808 case 1 :
18809 // InternalSolverLanguageParser.g:6057:3: rule__LocalVariables__Group_2__0
18810 {
18811 pushFollow(FOLLOW_2);
18812 rule__LocalVariables__Group_2__0();
18813
18814 state._fsp--;
18815
18816
18817 }
18818 break;
18819
18820 }
18821
18822 after(grammarAccess.getLocalVariablesAccess().getGroup_2());
18823
18824 }
18825
18826
18827 }
18828
18829 }
18830 catch (RecognitionException re) {
18831 reportError(re);
18832 recover(input,re);
18833 }
18834 finally {
18835
18836 restoreStackSize(stackSize);
18837
18838 }
18839 return ;
18840 }
18841 // $ANTLR end "rule__LocalVariables__Group__2__Impl"
18842
18843
18844 // $ANTLR start "rule__LocalVariables__Group__3"
18845 // InternalSolverLanguageParser.g:6065:1: rule__LocalVariables__Group__3 : rule__LocalVariables__Group__3__Impl ;
18846 public final void rule__LocalVariables__Group__3() throws RecognitionException {
18847
18848 int stackSize = keepStackSize();
18849
18850 try {
18851 // InternalSolverLanguageParser.g:6069:1: ( rule__LocalVariables__Group__3__Impl )
18852 // InternalSolverLanguageParser.g:6070:2: rule__LocalVariables__Group__3__Impl
18853 {
18854 pushFollow(FOLLOW_2);
18855 rule__LocalVariables__Group__3__Impl();
18856
18857 state._fsp--;
18858
18859
18860 }
18861
18862 }
18863 catch (RecognitionException re) {
18864 reportError(re);
18865 recover(input,re);
18866 }
18867 finally {
18868
18869 restoreStackSize(stackSize);
18870
18871 }
18872 return ;
18873 }
18874 // $ANTLR end "rule__LocalVariables__Group__3"
18875
18876
18877 // $ANTLR start "rule__LocalVariables__Group__3__Impl"
18878 // InternalSolverLanguageParser.g:6076:1: rule__LocalVariables__Group__3__Impl : ( RightSquareBracket ) ;
18879 public final void rule__LocalVariables__Group__3__Impl() throws RecognitionException {
18880
18881 int stackSize = keepStackSize();
18882
18883 try {
18884 // InternalSolverLanguageParser.g:6080:1: ( ( RightSquareBracket ) )
18885 // InternalSolverLanguageParser.g:6081:1: ( RightSquareBracket )
18886 {
18887 // InternalSolverLanguageParser.g:6081:1: ( RightSquareBracket )
18888 // InternalSolverLanguageParser.g:6082:2: RightSquareBracket
18889 {
18890 before(grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
18891 match(input,RightSquareBracket,FOLLOW_2);
18892 after(grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
18893
18894 }
18895
18896
18897 }
18898
18899 }
18900 catch (RecognitionException re) {
18901 reportError(re);
18902 recover(input,re);
18903 }
18904 finally {
18905
18906 restoreStackSize(stackSize);
18907
18908 }
18909 return ;
18910 }
18911 // $ANTLR end "rule__LocalVariables__Group__3__Impl"
18912
18913
18914 // $ANTLR start "rule__LocalVariables__Group_2__0"
18915 // InternalSolverLanguageParser.g:6092:1: rule__LocalVariables__Group_2__0 : rule__LocalVariables__Group_2__0__Impl rule__LocalVariables__Group_2__1 ;
18916 public final void rule__LocalVariables__Group_2__0() throws RecognitionException {
18917
18918 int stackSize = keepStackSize();
18919
18920 try {
18921 // InternalSolverLanguageParser.g:6096:1: ( rule__LocalVariables__Group_2__0__Impl rule__LocalVariables__Group_2__1 )
18922 // InternalSolverLanguageParser.g:6097:2: rule__LocalVariables__Group_2__0__Impl rule__LocalVariables__Group_2__1
18923 {
18924 pushFollow(FOLLOW_19);
18925 rule__LocalVariables__Group_2__0__Impl();
18926
18927 state._fsp--;
18928
18929 pushFollow(FOLLOW_2);
18930 rule__LocalVariables__Group_2__1();
18931
18932 state._fsp--;
18933
18934
18935 }
18936
18937 }
18938 catch (RecognitionException re) {
18939 reportError(re);
18940 recover(input,re);
18941 }
18942 finally {
18943
18944 restoreStackSize(stackSize);
18945
18946 }
18947 return ;
18948 }
18949 // $ANTLR end "rule__LocalVariables__Group_2__0"
18950
18951
18952 // $ANTLR start "rule__LocalVariables__Group_2__0__Impl"
18953 // InternalSolverLanguageParser.g:6104:1: rule__LocalVariables__Group_2__0__Impl : ( ( rule__LocalVariables__VariablesAssignment_2_0 ) ) ;
18954 public final void rule__LocalVariables__Group_2__0__Impl() throws RecognitionException {
18955
18956 int stackSize = keepStackSize();
18957
18958 try {
18959 // InternalSolverLanguageParser.g:6108:1: ( ( ( rule__LocalVariables__VariablesAssignment_2_0 ) ) )
18960 // InternalSolverLanguageParser.g:6109:1: ( ( rule__LocalVariables__VariablesAssignment_2_0 ) )
18961 {
18962 // InternalSolverLanguageParser.g:6109:1: ( ( rule__LocalVariables__VariablesAssignment_2_0 ) )
18963 // InternalSolverLanguageParser.g:6110:2: ( rule__LocalVariables__VariablesAssignment_2_0 )
18964 {
18965 before(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_0());
18966 // InternalSolverLanguageParser.g:6111:2: ( rule__LocalVariables__VariablesAssignment_2_0 )
18967 // InternalSolverLanguageParser.g:6111:3: rule__LocalVariables__VariablesAssignment_2_0
18968 {
18969 pushFollow(FOLLOW_2);
18970 rule__LocalVariables__VariablesAssignment_2_0();
18971
18972 state._fsp--;
18973
18974
18975 }
18976
18977 after(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_0());
18978
18979 }
18980
18981
18982 }
18983
18984 }
18985 catch (RecognitionException re) {
18986 reportError(re);
18987 recover(input,re);
18988 }
18989 finally {
18990
18991 restoreStackSize(stackSize);
18992
18993 }
18994 return ;
18995 }
18996 // $ANTLR end "rule__LocalVariables__Group_2__0__Impl"
18997
18998
18999 // $ANTLR start "rule__LocalVariables__Group_2__1"
19000 // InternalSolverLanguageParser.g:6119:1: rule__LocalVariables__Group_2__1 : rule__LocalVariables__Group_2__1__Impl ;
19001 public final void rule__LocalVariables__Group_2__1() throws RecognitionException {
19002
19003 int stackSize = keepStackSize();
19004
19005 try {
19006 // InternalSolverLanguageParser.g:6123:1: ( rule__LocalVariables__Group_2__1__Impl )
19007 // InternalSolverLanguageParser.g:6124:2: rule__LocalVariables__Group_2__1__Impl
19008 {
19009 pushFollow(FOLLOW_2);
19010 rule__LocalVariables__Group_2__1__Impl();
19011
19012 state._fsp--;
19013
19014
19015 }
19016
19017 }
19018 catch (RecognitionException re) {
19019 reportError(re);
19020 recover(input,re);
19021 }
19022 finally {
19023
19024 restoreStackSize(stackSize);
19025
19026 }
19027 return ;
19028 }
19029 // $ANTLR end "rule__LocalVariables__Group_2__1"
19030
19031
19032 // $ANTLR start "rule__LocalVariables__Group_2__1__Impl"
19033 // InternalSolverLanguageParser.g:6130:1: rule__LocalVariables__Group_2__1__Impl : ( ( rule__LocalVariables__Group_2_1__0 )* ) ;
19034 public final void rule__LocalVariables__Group_2__1__Impl() throws RecognitionException {
19035
19036 int stackSize = keepStackSize();
19037
19038 try {
19039 // InternalSolverLanguageParser.g:6134:1: ( ( ( rule__LocalVariables__Group_2_1__0 )* ) )
19040 // InternalSolverLanguageParser.g:6135:1: ( ( rule__LocalVariables__Group_2_1__0 )* )
19041 {
19042 // InternalSolverLanguageParser.g:6135:1: ( ( rule__LocalVariables__Group_2_1__0 )* )
19043 // InternalSolverLanguageParser.g:6136:2: ( rule__LocalVariables__Group_2_1__0 )*
19044 {
19045 before(grammarAccess.getLocalVariablesAccess().getGroup_2_1());
19046 // InternalSolverLanguageParser.g:6137:2: ( rule__LocalVariables__Group_2_1__0 )*
19047 loop44:
19048 do {
19049 int alt44=2;
19050 int LA44_0 = input.LA(1);
19051
19052 if ( (LA44_0==Comma) ) {
19053 alt44=1;
19054 }
19055
19056
19057 switch (alt44) {
19058 case 1 :
19059 // InternalSolverLanguageParser.g:6137:3: rule__LocalVariables__Group_2_1__0
19060 {
19061 pushFollow(FOLLOW_20);
19062 rule__LocalVariables__Group_2_1__0();
19063
19064 state._fsp--;
19065
19066
19067 }
19068 break;
19069
19070 default :
19071 break loop44;
19072 }
19073 } while (true);
19074
19075 after(grammarAccess.getLocalVariablesAccess().getGroup_2_1());
19076
19077 }
19078
19079
19080 }
19081
19082 }
19083 catch (RecognitionException re) {
19084 reportError(re);
19085 recover(input,re);
19086 }
19087 finally {
19088
19089 restoreStackSize(stackSize);
19090
19091 }
19092 return ;
19093 }
19094 // $ANTLR end "rule__LocalVariables__Group_2__1__Impl"
19095
19096
19097 // $ANTLR start "rule__LocalVariables__Group_2_1__0"
19098 // InternalSolverLanguageParser.g:6146:1: rule__LocalVariables__Group_2_1__0 : rule__LocalVariables__Group_2_1__0__Impl rule__LocalVariables__Group_2_1__1 ;
19099 public final void rule__LocalVariables__Group_2_1__0() throws RecognitionException {
19100
19101 int stackSize = keepStackSize();
19102
19103 try {
19104 // InternalSolverLanguageParser.g:6150:1: ( rule__LocalVariables__Group_2_1__0__Impl rule__LocalVariables__Group_2_1__1 )
19105 // InternalSolverLanguageParser.g:6151:2: rule__LocalVariables__Group_2_1__0__Impl rule__LocalVariables__Group_2_1__1
19106 {
19107 pushFollow(FOLLOW_9);
19108 rule__LocalVariables__Group_2_1__0__Impl();
19109
19110 state._fsp--;
19111
19112 pushFollow(FOLLOW_2);
19113 rule__LocalVariables__Group_2_1__1();
19114
19115 state._fsp--;
19116
19117
19118 }
19119
19120 }
19121 catch (RecognitionException re) {
19122 reportError(re);
19123 recover(input,re);
19124 }
19125 finally {
19126
19127 restoreStackSize(stackSize);
19128
19129 }
19130 return ;
19131 }
19132 // $ANTLR end "rule__LocalVariables__Group_2_1__0"
19133
19134
19135 // $ANTLR start "rule__LocalVariables__Group_2_1__0__Impl"
19136 // InternalSolverLanguageParser.g:6158:1: rule__LocalVariables__Group_2_1__0__Impl : ( Comma ) ;
19137 public final void rule__LocalVariables__Group_2_1__0__Impl() throws RecognitionException {
19138
19139 int stackSize = keepStackSize();
19140
19141 try {
19142 // InternalSolverLanguageParser.g:6162:1: ( ( Comma ) )
19143 // InternalSolverLanguageParser.g:6163:1: ( Comma )
19144 {
19145 // InternalSolverLanguageParser.g:6163:1: ( Comma )
19146 // InternalSolverLanguageParser.g:6164:2: Comma
19147 {
19148 before(grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
19149 match(input,Comma,FOLLOW_2);
19150 after(grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
19151
19152 }
19153
19154
19155 }
19156
19157 }
19158 catch (RecognitionException re) {
19159 reportError(re);
19160 recover(input,re);
19161 }
19162 finally {
19163
19164 restoreStackSize(stackSize);
19165
19166 }
19167 return ;
19168 }
19169 // $ANTLR end "rule__LocalVariables__Group_2_1__0__Impl"
19170
19171
19172 // $ANTLR start "rule__LocalVariables__Group_2_1__1"
19173 // InternalSolverLanguageParser.g:6173:1: rule__LocalVariables__Group_2_1__1 : rule__LocalVariables__Group_2_1__1__Impl ;
19174 public final void rule__LocalVariables__Group_2_1__1() throws RecognitionException {
19175
19176 int stackSize = keepStackSize();
19177
19178 try {
19179 // InternalSolverLanguageParser.g:6177:1: ( rule__LocalVariables__Group_2_1__1__Impl )
19180 // InternalSolverLanguageParser.g:6178:2: rule__LocalVariables__Group_2_1__1__Impl
19181 {
19182 pushFollow(FOLLOW_2);
19183 rule__LocalVariables__Group_2_1__1__Impl();
19184
19185 state._fsp--;
19186
19187
19188 }
19189
19190 }
19191 catch (RecognitionException re) {
19192 reportError(re);
19193 recover(input,re);
19194 }
19195 finally {
19196
19197 restoreStackSize(stackSize);
19198
19199 }
19200 return ;
19201 }
19202 // $ANTLR end "rule__LocalVariables__Group_2_1__1"
19203
19204
19205 // $ANTLR start "rule__LocalVariables__Group_2_1__1__Impl"
19206 // InternalSolverLanguageParser.g:6184:1: rule__LocalVariables__Group_2_1__1__Impl : ( ( rule__LocalVariables__VariablesAssignment_2_1_1 ) ) ;
19207 public final void rule__LocalVariables__Group_2_1__1__Impl() throws RecognitionException {
19208
19209 int stackSize = keepStackSize();
19210
19211 try {
19212 // InternalSolverLanguageParser.g:6188:1: ( ( ( rule__LocalVariables__VariablesAssignment_2_1_1 ) ) )
19213 // InternalSolverLanguageParser.g:6189:1: ( ( rule__LocalVariables__VariablesAssignment_2_1_1 ) )
19214 {
19215 // InternalSolverLanguageParser.g:6189:1: ( ( rule__LocalVariables__VariablesAssignment_2_1_1 ) )
19216 // InternalSolverLanguageParser.g:6190:2: ( rule__LocalVariables__VariablesAssignment_2_1_1 )
19217 {
19218 before(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1());
19219 // InternalSolverLanguageParser.g:6191:2: ( rule__LocalVariables__VariablesAssignment_2_1_1 )
19220 // InternalSolverLanguageParser.g:6191:3: rule__LocalVariables__VariablesAssignment_2_1_1
19221 {
19222 pushFollow(FOLLOW_2);
19223 rule__LocalVariables__VariablesAssignment_2_1_1();
19224
19225 state._fsp--;
19226
19227
19228 }
19229
19230 after(grammarAccess.getLocalVariablesAccess().getVariablesAssignment_2_1_1());
19231
19232 }
19233
19234
19235 }
19236
19237 }
19238 catch (RecognitionException re) {
19239 reportError(re);
19240 recover(input,re);
19241 }
19242 finally {
19243
19244 restoreStackSize(stackSize);
19245
19246 }
19247 return ;
19248 }
19249 // $ANTLR end "rule__LocalVariables__Group_2_1__1__Impl"
19250
19251
19252 // $ANTLR start "rule__QuantifiedExpression__Group__0"
19253 // InternalSolverLanguageParser.g:6200:1: rule__QuantifiedExpression__Group__0 : rule__QuantifiedExpression__Group__0__Impl rule__QuantifiedExpression__Group__1 ;
19254 public final void rule__QuantifiedExpression__Group__0() throws RecognitionException {
19255
19256 int stackSize = keepStackSize();
19257
19258 try {
19259 // InternalSolverLanguageParser.g:6204:1: ( rule__QuantifiedExpression__Group__0__Impl rule__QuantifiedExpression__Group__1 )
19260 // InternalSolverLanguageParser.g:6205:2: rule__QuantifiedExpression__Group__0__Impl rule__QuantifiedExpression__Group__1
19261 {
19262 pushFollow(FOLLOW_40);
19263 rule__QuantifiedExpression__Group__0__Impl();
14965 19264
14966 state._fsp--; 19265 state._fsp--;
14967 19266
14968 pushFollow(FOLLOW_2); 19267 pushFollow(FOLLOW_2);
14969 rule__Count__Group__1(); 19268 rule__QuantifiedExpression__Group__1();
14970 19269
14971 state._fsp--; 19270 state._fsp--;
14972 19271
@@ -14985,25 +19284,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14985 } 19284 }
14986 return ; 19285 return ;
14987 } 19286 }
14988 // $ANTLR end "rule__Count__Group__0" 19287 // $ANTLR end "rule__QuantifiedExpression__Group__0"
14989 19288
14990 19289
14991 // $ANTLR start "rule__Count__Group__0__Impl" 19290 // $ANTLR start "rule__QuantifiedExpression__Group__0__Impl"
14992 // InternalSolverLanguageParser.g:4777:1: rule__Count__Group__0__Impl : ( Count ) ; 19291 // InternalSolverLanguageParser.g:6212:1: rule__QuantifiedExpression__Group__0__Impl : ( ( rule__QuantifiedExpression__QuantifierAssignment_0 ) ) ;
14993 public final void rule__Count__Group__0__Impl() throws RecognitionException { 19292 public final void rule__QuantifiedExpression__Group__0__Impl() throws RecognitionException {
14994 19293
14995 int stackSize = keepStackSize(); 19294 int stackSize = keepStackSize();
14996 19295
14997 try { 19296 try {
14998 // InternalSolverLanguageParser.g:4781:1: ( ( Count ) ) 19297 // InternalSolverLanguageParser.g:6216:1: ( ( ( rule__QuantifiedExpression__QuantifierAssignment_0 ) ) )
14999 // InternalSolverLanguageParser.g:4782:1: ( Count ) 19298 // InternalSolverLanguageParser.g:6217:1: ( ( rule__QuantifiedExpression__QuantifierAssignment_0 ) )
15000 { 19299 {
15001 // InternalSolverLanguageParser.g:4782:1: ( Count ) 19300 // InternalSolverLanguageParser.g:6217:1: ( ( rule__QuantifiedExpression__QuantifierAssignment_0 ) )
15002 // InternalSolverLanguageParser.g:4783:2: Count 19301 // InternalSolverLanguageParser.g:6218:2: ( rule__QuantifiedExpression__QuantifierAssignment_0 )
15003 { 19302 {
15004 before(grammarAccess.getCountAccess().getCountKeyword_0()); 19303 before(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0());
15005 match(input,Count,FOLLOW_2); 19304 // InternalSolverLanguageParser.g:6219:2: ( rule__QuantifiedExpression__QuantifierAssignment_0 )
15006 after(grammarAccess.getCountAccess().getCountKeyword_0()); 19305 // InternalSolverLanguageParser.g:6219:3: rule__QuantifiedExpression__QuantifierAssignment_0
19306 {
19307 pushFollow(FOLLOW_2);
19308 rule__QuantifiedExpression__QuantifierAssignment_0();
19309
19310 state._fsp--;
19311
19312
19313 }
19314
19315 after(grammarAccess.getQuantifiedExpressionAccess().getQuantifierAssignment_0());
15007 19316
15008 } 19317 }
15009 19318
@@ -15022,26 +19331,122 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15022 } 19331 }
15023 return ; 19332 return ;
15024 } 19333 }
15025 // $ANTLR end "rule__Count__Group__0__Impl" 19334 // $ANTLR end "rule__QuantifiedExpression__Group__0__Impl"
15026 19335
15027 19336
15028 // $ANTLR start "rule__Count__Group__1" 19337 // $ANTLR start "rule__QuantifiedExpression__Group__1"
15029 // InternalSolverLanguageParser.g:4792:1: rule__Count__Group__1 : rule__Count__Group__1__Impl rule__Count__Group__2 ; 19338 // InternalSolverLanguageParser.g:6227:1: rule__QuantifiedExpression__Group__1 : rule__QuantifiedExpression__Group__1__Impl rule__QuantifiedExpression__Group__2 ;
15030 public final void rule__Count__Group__1() throws RecognitionException { 19339 public final void rule__QuantifiedExpression__Group__1() throws RecognitionException {
15031 19340
15032 int stackSize = keepStackSize(); 19341 int stackSize = keepStackSize();
15033 19342
15034 try { 19343 try {
15035 // InternalSolverLanguageParser.g:4796:1: ( rule__Count__Group__1__Impl rule__Count__Group__2 ) 19344 // InternalSolverLanguageParser.g:6231:1: ( rule__QuantifiedExpression__Group__1__Impl rule__QuantifiedExpression__Group__2 )
15036 // InternalSolverLanguageParser.g:4797:2: rule__Count__Group__1__Impl rule__Count__Group__2 19345 // InternalSolverLanguageParser.g:6232:2: rule__QuantifiedExpression__Group__1__Impl rule__QuantifiedExpression__Group__2
19346 {
19347 pushFollow(FOLLOW_40);
19348 rule__QuantifiedExpression__Group__1__Impl();
19349
19350 state._fsp--;
19351
19352 pushFollow(FOLLOW_2);
19353 rule__QuantifiedExpression__Group__2();
19354
19355 state._fsp--;
19356
19357
19358 }
19359
19360 }
19361 catch (RecognitionException re) {
19362 reportError(re);
19363 recover(input,re);
19364 }
19365 finally {
19366
19367 restoreStackSize(stackSize);
19368
19369 }
19370 return ;
19371 }
19372 // $ANTLR end "rule__QuantifiedExpression__Group__1"
19373
19374
19375 // $ANTLR start "rule__QuantifiedExpression__Group__1__Impl"
19376 // InternalSolverLanguageParser.g:6239:1: rule__QuantifiedExpression__Group__1__Impl : ( ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )? ) ;
19377 public final void rule__QuantifiedExpression__Group__1__Impl() throws RecognitionException {
19378
19379 int stackSize = keepStackSize();
19380
19381 try {
19382 // InternalSolverLanguageParser.g:6243:1: ( ( ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )? ) )
19383 // InternalSolverLanguageParser.g:6244:1: ( ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )? )
19384 {
19385 // InternalSolverLanguageParser.g:6244:1: ( ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )? )
19386 // InternalSolverLanguageParser.g:6245:2: ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )?
19387 {
19388 before(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1());
19389 // InternalSolverLanguageParser.g:6246:2: ( rule__QuantifiedExpression__LocalVariablesAssignment_1 )?
19390 int alt45=2;
19391 int LA45_0 = input.LA(1);
19392
19393 if ( (LA45_0==LeftSquareBracket) ) {
19394 alt45=1;
19395 }
19396 switch (alt45) {
19397 case 1 :
19398 // InternalSolverLanguageParser.g:6246:3: rule__QuantifiedExpression__LocalVariablesAssignment_1
19399 {
19400 pushFollow(FOLLOW_2);
19401 rule__QuantifiedExpression__LocalVariablesAssignment_1();
19402
19403 state._fsp--;
19404
19405
19406 }
19407 break;
19408
19409 }
19410
19411 after(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesAssignment_1());
19412
19413 }
19414
19415
19416 }
19417
19418 }
19419 catch (RecognitionException re) {
19420 reportError(re);
19421 recover(input,re);
19422 }
19423 finally {
19424
19425 restoreStackSize(stackSize);
19426
19427 }
19428 return ;
19429 }
19430 // $ANTLR end "rule__QuantifiedExpression__Group__1__Impl"
19431
19432
19433 // $ANTLR start "rule__QuantifiedExpression__Group__2"
19434 // InternalSolverLanguageParser.g:6254:1: rule__QuantifiedExpression__Group__2 : rule__QuantifiedExpression__Group__2__Impl rule__QuantifiedExpression__Group__3 ;
19435 public final void rule__QuantifiedExpression__Group__2() throws RecognitionException {
19436
19437 int stackSize = keepStackSize();
19438
19439 try {
19440 // InternalSolverLanguageParser.g:6258:1: ( rule__QuantifiedExpression__Group__2__Impl rule__QuantifiedExpression__Group__3 )
19441 // InternalSolverLanguageParser.g:6259:2: rule__QuantifiedExpression__Group__2__Impl rule__QuantifiedExpression__Group__3
15037 { 19442 {
15038 pushFollow(FOLLOW_7); 19443 pushFollow(FOLLOW_7);
15039 rule__Count__Group__1__Impl(); 19444 rule__QuantifiedExpression__Group__2__Impl();
15040 19445
15041 state._fsp--; 19446 state._fsp--;
15042 19447
15043 pushFollow(FOLLOW_2); 19448 pushFollow(FOLLOW_2);
15044 rule__Count__Group__2(); 19449 rule__QuantifiedExpression__Group__3();
15045 19450
15046 state._fsp--; 19451 state._fsp--;
15047 19452
@@ -15060,25 +19465,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15060 } 19465 }
15061 return ; 19466 return ;
15062 } 19467 }
15063 // $ANTLR end "rule__Count__Group__1" 19468 // $ANTLR end "rule__QuantifiedExpression__Group__2"
15064 19469
15065 19470
15066 // $ANTLR start "rule__Count__Group__1__Impl" 19471 // $ANTLR start "rule__QuantifiedExpression__Group__2__Impl"
15067 // InternalSolverLanguageParser.g:4804:1: rule__Count__Group__1__Impl : ( LeftCurlyBracket ) ; 19472 // InternalSolverLanguageParser.g:6266:1: rule__QuantifiedExpression__Group__2__Impl : ( LeftCurlyBracket ) ;
15068 public final void rule__Count__Group__1__Impl() throws RecognitionException { 19473 public final void rule__QuantifiedExpression__Group__2__Impl() throws RecognitionException {
15069 19474
15070 int stackSize = keepStackSize(); 19475 int stackSize = keepStackSize();
15071 19476
15072 try { 19477 try {
15073 // InternalSolverLanguageParser.g:4808:1: ( ( LeftCurlyBracket ) ) 19478 // InternalSolverLanguageParser.g:6270:1: ( ( LeftCurlyBracket ) )
15074 // InternalSolverLanguageParser.g:4809:1: ( LeftCurlyBracket ) 19479 // InternalSolverLanguageParser.g:6271:1: ( LeftCurlyBracket )
15075 { 19480 {
15076 // InternalSolverLanguageParser.g:4809:1: ( LeftCurlyBracket ) 19481 // InternalSolverLanguageParser.g:6271:1: ( LeftCurlyBracket )
15077 // InternalSolverLanguageParser.g:4810:2: LeftCurlyBracket 19482 // InternalSolverLanguageParser.g:6272:2: LeftCurlyBracket
15078 { 19483 {
15079 before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 19484 before(grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
15080 match(input,LeftCurlyBracket,FOLLOW_2); 19485 match(input,LeftCurlyBracket,FOLLOW_2);
15081 after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 19486 after(grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
15082 19487
15083 } 19488 }
15084 19489
@@ -15097,26 +19502,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15097 } 19502 }
15098 return ; 19503 return ;
15099 } 19504 }
15100 // $ANTLR end "rule__Count__Group__1__Impl" 19505 // $ANTLR end "rule__QuantifiedExpression__Group__2__Impl"
15101 19506
15102 19507
15103 // $ANTLR start "rule__Count__Group__2" 19508 // $ANTLR start "rule__QuantifiedExpression__Group__3"
15104 // InternalSolverLanguageParser.g:4819:1: rule__Count__Group__2 : rule__Count__Group__2__Impl rule__Count__Group__3 ; 19509 // InternalSolverLanguageParser.g:6281:1: rule__QuantifiedExpression__Group__3 : rule__QuantifiedExpression__Group__3__Impl rule__QuantifiedExpression__Group__4 ;
15105 public final void rule__Count__Group__2() throws RecognitionException { 19510 public final void rule__QuantifiedExpression__Group__3() throws RecognitionException {
15106 19511
15107 int stackSize = keepStackSize(); 19512 int stackSize = keepStackSize();
15108 19513
15109 try { 19514 try {
15110 // InternalSolverLanguageParser.g:4823:1: ( rule__Count__Group__2__Impl rule__Count__Group__3 ) 19515 // InternalSolverLanguageParser.g:6285:1: ( rule__QuantifiedExpression__Group__3__Impl rule__QuantifiedExpression__Group__4 )
15111 // InternalSolverLanguageParser.g:4824:2: rule__Count__Group__2__Impl rule__Count__Group__3 19516 // InternalSolverLanguageParser.g:6286:2: rule__QuantifiedExpression__Group__3__Impl rule__QuantifiedExpression__Group__4
15112 { 19517 {
15113 pushFollow(FOLLOW_31); 19518 pushFollow(FOLLOW_16);
15114 rule__Count__Group__2__Impl(); 19519 rule__QuantifiedExpression__Group__3__Impl();
15115 19520
15116 state._fsp--; 19521 state._fsp--;
15117 19522
15118 pushFollow(FOLLOW_2); 19523 pushFollow(FOLLOW_2);
15119 rule__Count__Group__3(); 19524 rule__QuantifiedExpression__Group__4();
15120 19525
15121 state._fsp--; 19526 state._fsp--;
15122 19527
@@ -15135,35 +19540,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15135 } 19540 }
15136 return ; 19541 return ;
15137 } 19542 }
15138 // $ANTLR end "rule__Count__Group__2" 19543 // $ANTLR end "rule__QuantifiedExpression__Group__3"
15139 19544
15140 19545
15141 // $ANTLR start "rule__Count__Group__2__Impl" 19546 // $ANTLR start "rule__QuantifiedExpression__Group__3__Impl"
15142 // InternalSolverLanguageParser.g:4831:1: rule__Count__Group__2__Impl : ( ( rule__Count__BodyAssignment_2 ) ) ; 19547 // InternalSolverLanguageParser.g:6293:1: rule__QuantifiedExpression__Group__3__Impl : ( ( rule__QuantifiedExpression__BodyAssignment_3 ) ) ;
15143 public final void rule__Count__Group__2__Impl() throws RecognitionException { 19548 public final void rule__QuantifiedExpression__Group__3__Impl() throws RecognitionException {
15144 19549
15145 int stackSize = keepStackSize(); 19550 int stackSize = keepStackSize();
15146 19551
15147 try { 19552 try {
15148 // InternalSolverLanguageParser.g:4835:1: ( ( ( rule__Count__BodyAssignment_2 ) ) ) 19553 // InternalSolverLanguageParser.g:6297:1: ( ( ( rule__QuantifiedExpression__BodyAssignment_3 ) ) )
15149 // InternalSolverLanguageParser.g:4836:1: ( ( rule__Count__BodyAssignment_2 ) ) 19554 // InternalSolverLanguageParser.g:6298:1: ( ( rule__QuantifiedExpression__BodyAssignment_3 ) )
15150 { 19555 {
15151 // InternalSolverLanguageParser.g:4836:1: ( ( rule__Count__BodyAssignment_2 ) ) 19556 // InternalSolverLanguageParser.g:6298:1: ( ( rule__QuantifiedExpression__BodyAssignment_3 ) )
15152 // InternalSolverLanguageParser.g:4837:2: ( rule__Count__BodyAssignment_2 ) 19557 // InternalSolverLanguageParser.g:6299:2: ( rule__QuantifiedExpression__BodyAssignment_3 )
15153 { 19558 {
15154 before(grammarAccess.getCountAccess().getBodyAssignment_2()); 19559 before(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3());
15155 // InternalSolverLanguageParser.g:4838:2: ( rule__Count__BodyAssignment_2 ) 19560 // InternalSolverLanguageParser.g:6300:2: ( rule__QuantifiedExpression__BodyAssignment_3 )
15156 // InternalSolverLanguageParser.g:4838:3: rule__Count__BodyAssignment_2 19561 // InternalSolverLanguageParser.g:6300:3: rule__QuantifiedExpression__BodyAssignment_3
15157 { 19562 {
15158 pushFollow(FOLLOW_2); 19563 pushFollow(FOLLOW_2);
15159 rule__Count__BodyAssignment_2(); 19564 rule__QuantifiedExpression__BodyAssignment_3();
15160 19565
15161 state._fsp--; 19566 state._fsp--;
15162 19567
15163 19568
15164 } 19569 }
15165 19570
15166 after(grammarAccess.getCountAccess().getBodyAssignment_2()); 19571 after(grammarAccess.getQuantifiedExpressionAccess().getBodyAssignment_3());
15167 19572
15168 } 19573 }
15169 19574
@@ -15182,21 +19587,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15182 } 19587 }
15183 return ; 19588 return ;
15184 } 19589 }
15185 // $ANTLR end "rule__Count__Group__2__Impl" 19590 // $ANTLR end "rule__QuantifiedExpression__Group__3__Impl"
15186 19591
15187 19592
15188 // $ANTLR start "rule__Count__Group__3" 19593 // $ANTLR start "rule__QuantifiedExpression__Group__4"
15189 // InternalSolverLanguageParser.g:4846:1: rule__Count__Group__3 : rule__Count__Group__3__Impl ; 19594 // InternalSolverLanguageParser.g:6308:1: rule__QuantifiedExpression__Group__4 : rule__QuantifiedExpression__Group__4__Impl ;
15190 public final void rule__Count__Group__3() throws RecognitionException { 19595 public final void rule__QuantifiedExpression__Group__4() throws RecognitionException {
15191 19596
15192 int stackSize = keepStackSize(); 19597 int stackSize = keepStackSize();
15193 19598
15194 try { 19599 try {
15195 // InternalSolverLanguageParser.g:4850:1: ( rule__Count__Group__3__Impl ) 19600 // InternalSolverLanguageParser.g:6312:1: ( rule__QuantifiedExpression__Group__4__Impl )
15196 // InternalSolverLanguageParser.g:4851:2: rule__Count__Group__3__Impl 19601 // InternalSolverLanguageParser.g:6313:2: rule__QuantifiedExpression__Group__4__Impl
15197 { 19602 {
15198 pushFollow(FOLLOW_2); 19603 pushFollow(FOLLOW_2);
15199 rule__Count__Group__3__Impl(); 19604 rule__QuantifiedExpression__Group__4__Impl();
15200 19605
15201 state._fsp--; 19606 state._fsp--;
15202 19607
@@ -15215,25 +19620,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15215 } 19620 }
15216 return ; 19621 return ;
15217 } 19622 }
15218 // $ANTLR end "rule__Count__Group__3" 19623 // $ANTLR end "rule__QuantifiedExpression__Group__4"
15219 19624
15220 19625
15221 // $ANTLR start "rule__Count__Group__3__Impl" 19626 // $ANTLR start "rule__QuantifiedExpression__Group__4__Impl"
15222 // InternalSolverLanguageParser.g:4857:1: rule__Count__Group__3__Impl : ( RightCurlyBracket ) ; 19627 // InternalSolverLanguageParser.g:6319:1: rule__QuantifiedExpression__Group__4__Impl : ( RightCurlyBracket ) ;
15223 public final void rule__Count__Group__3__Impl() throws RecognitionException { 19628 public final void rule__QuantifiedExpression__Group__4__Impl() throws RecognitionException {
15224 19629
15225 int stackSize = keepStackSize(); 19630 int stackSize = keepStackSize();
15226 19631
15227 try { 19632 try {
15228 // InternalSolverLanguageParser.g:4861:1: ( ( RightCurlyBracket ) ) 19633 // InternalSolverLanguageParser.g:6323:1: ( ( RightCurlyBracket ) )
15229 // InternalSolverLanguageParser.g:4862:1: ( RightCurlyBracket ) 19634 // InternalSolverLanguageParser.g:6324:1: ( RightCurlyBracket )
15230 { 19635 {
15231 // InternalSolverLanguageParser.g:4862:1: ( RightCurlyBracket ) 19636 // InternalSolverLanguageParser.g:6324:1: ( RightCurlyBracket )
15232 // InternalSolverLanguageParser.g:4863:2: RightCurlyBracket 19637 // InternalSolverLanguageParser.g:6325:2: RightCurlyBracket
15233 { 19638 {
15234 before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 19639 before(grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
15235 match(input,RightCurlyBracket,FOLLOW_2); 19640 match(input,RightCurlyBracket,FOLLOW_2);
15236 after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 19641 after(grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
15237 19642
15238 } 19643 }
15239 19644
@@ -15252,20 +19657,20 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15252 } 19657 }
15253 return ; 19658 return ;
15254 } 19659 }
15255 // $ANTLR end "rule__Count__Group__3__Impl" 19660 // $ANTLR end "rule__QuantifiedExpression__Group__4__Impl"
15256 19661
15257 19662
15258 // $ANTLR start "rule__Aggregation__Group__0" 19663 // $ANTLR start "rule__Aggregation__Group__0"
15259 // InternalSolverLanguageParser.g:4873:1: rule__Aggregation__Group__0 : rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ; 19664 // InternalSolverLanguageParser.g:6335:1: rule__Aggregation__Group__0 : rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ;
15260 public final void rule__Aggregation__Group__0() throws RecognitionException { 19665 public final void rule__Aggregation__Group__0() throws RecognitionException {
15261 19666
15262 int stackSize = keepStackSize(); 19667 int stackSize = keepStackSize();
15263 19668
15264 try { 19669 try {
15265 // InternalSolverLanguageParser.g:4877:1: ( rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ) 19670 // InternalSolverLanguageParser.g:6339:1: ( rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 )
15266 // InternalSolverLanguageParser.g:4878:2: rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 19671 // InternalSolverLanguageParser.g:6340:2: rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1
15267 { 19672 {
15268 pushFollow(FOLLOW_30); 19673 pushFollow(FOLLOW_40);
15269 rule__Aggregation__Group__0__Impl(); 19674 rule__Aggregation__Group__0__Impl();
15270 19675
15271 state._fsp--; 19676 state._fsp--;
@@ -15294,21 +19699,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15294 19699
15295 19700
15296 // $ANTLR start "rule__Aggregation__Group__0__Impl" 19701 // $ANTLR start "rule__Aggregation__Group__0__Impl"
15297 // InternalSolverLanguageParser.g:4885:1: rule__Aggregation__Group__0__Impl : ( ( rule__Aggregation__OpAssignment_0 ) ) ; 19702 // InternalSolverLanguageParser.g:6347:1: rule__Aggregation__Group__0__Impl : ( ( rule__Aggregation__OpAssignment_0 ) ) ;
15298 public final void rule__Aggregation__Group__0__Impl() throws RecognitionException { 19703 public final void rule__Aggregation__Group__0__Impl() throws RecognitionException {
15299 19704
15300 int stackSize = keepStackSize(); 19705 int stackSize = keepStackSize();
15301 19706
15302 try { 19707 try {
15303 // InternalSolverLanguageParser.g:4889:1: ( ( ( rule__Aggregation__OpAssignment_0 ) ) ) 19708 // InternalSolverLanguageParser.g:6351:1: ( ( ( rule__Aggregation__OpAssignment_0 ) ) )
15304 // InternalSolverLanguageParser.g:4890:1: ( ( rule__Aggregation__OpAssignment_0 ) ) 19709 // InternalSolverLanguageParser.g:6352:1: ( ( rule__Aggregation__OpAssignment_0 ) )
15305 { 19710 {
15306 // InternalSolverLanguageParser.g:4890:1: ( ( rule__Aggregation__OpAssignment_0 ) ) 19711 // InternalSolverLanguageParser.g:6352:1: ( ( rule__Aggregation__OpAssignment_0 ) )
15307 // InternalSolverLanguageParser.g:4891:2: ( rule__Aggregation__OpAssignment_0 ) 19712 // InternalSolverLanguageParser.g:6353:2: ( rule__Aggregation__OpAssignment_0 )
15308 { 19713 {
15309 before(grammarAccess.getAggregationAccess().getOpAssignment_0()); 19714 before(grammarAccess.getAggregationAccess().getOpAssignment_0());
15310 // InternalSolverLanguageParser.g:4892:2: ( rule__Aggregation__OpAssignment_0 ) 19715 // InternalSolverLanguageParser.g:6354:2: ( rule__Aggregation__OpAssignment_0 )
15311 // InternalSolverLanguageParser.g:4892:3: rule__Aggregation__OpAssignment_0 19716 // InternalSolverLanguageParser.g:6354:3: rule__Aggregation__OpAssignment_0
15312 { 19717 {
15313 pushFollow(FOLLOW_2); 19718 pushFollow(FOLLOW_2);
15314 rule__Aggregation__OpAssignment_0(); 19719 rule__Aggregation__OpAssignment_0();
@@ -15341,16 +19746,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15341 19746
15342 19747
15343 // $ANTLR start "rule__Aggregation__Group__1" 19748 // $ANTLR start "rule__Aggregation__Group__1"
15344 // InternalSolverLanguageParser.g:4900:1: rule__Aggregation__Group__1 : rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ; 19749 // InternalSolverLanguageParser.g:6362:1: rule__Aggregation__Group__1 : rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ;
15345 public final void rule__Aggregation__Group__1() throws RecognitionException { 19750 public final void rule__Aggregation__Group__1() throws RecognitionException {
15346 19751
15347 int stackSize = keepStackSize(); 19752 int stackSize = keepStackSize();
15348 19753
15349 try { 19754 try {
15350 // InternalSolverLanguageParser.g:4904:1: ( rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ) 19755 // InternalSolverLanguageParser.g:6366:1: ( rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 )
15351 // InternalSolverLanguageParser.g:4905:2: rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 19756 // InternalSolverLanguageParser.g:6367:2: rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2
15352 { 19757 {
15353 pushFollow(FOLLOW_7); 19758 pushFollow(FOLLOW_40);
15354 rule__Aggregation__Group__1__Impl(); 19759 rule__Aggregation__Group__1__Impl();
15355 19760
15356 state._fsp--; 19761 state._fsp--;
@@ -15379,21 +19784,42 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15379 19784
15380 19785
15381 // $ANTLR start "rule__Aggregation__Group__1__Impl" 19786 // $ANTLR start "rule__Aggregation__Group__1__Impl"
15382 // InternalSolverLanguageParser.g:4912:1: rule__Aggregation__Group__1__Impl : ( LeftCurlyBracket ) ; 19787 // InternalSolverLanguageParser.g:6374:1: rule__Aggregation__Group__1__Impl : ( ( rule__Aggregation__LocalVariablesAssignment_1 )? ) ;
15383 public final void rule__Aggregation__Group__1__Impl() throws RecognitionException { 19788 public final void rule__Aggregation__Group__1__Impl() throws RecognitionException {
15384 19789
15385 int stackSize = keepStackSize(); 19790 int stackSize = keepStackSize();
15386 19791
15387 try { 19792 try {
15388 // InternalSolverLanguageParser.g:4916:1: ( ( LeftCurlyBracket ) ) 19793 // InternalSolverLanguageParser.g:6378:1: ( ( ( rule__Aggregation__LocalVariablesAssignment_1 )? ) )
15389 // InternalSolverLanguageParser.g:4917:1: ( LeftCurlyBracket ) 19794 // InternalSolverLanguageParser.g:6379:1: ( ( rule__Aggregation__LocalVariablesAssignment_1 )? )
15390 { 19795 {
15391 // InternalSolverLanguageParser.g:4917:1: ( LeftCurlyBracket ) 19796 // InternalSolverLanguageParser.g:6379:1: ( ( rule__Aggregation__LocalVariablesAssignment_1 )? )
15392 // InternalSolverLanguageParser.g:4918:2: LeftCurlyBracket 19797 // InternalSolverLanguageParser.g:6380:2: ( rule__Aggregation__LocalVariablesAssignment_1 )?
15393 { 19798 {
15394 before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); 19799 before(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1());
15395 match(input,LeftCurlyBracket,FOLLOW_2); 19800 // InternalSolverLanguageParser.g:6381:2: ( rule__Aggregation__LocalVariablesAssignment_1 )?
15396 after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); 19801 int alt46=2;
19802 int LA46_0 = input.LA(1);
19803
19804 if ( (LA46_0==LeftSquareBracket) ) {
19805 alt46=1;
19806 }
19807 switch (alt46) {
19808 case 1 :
19809 // InternalSolverLanguageParser.g:6381:3: rule__Aggregation__LocalVariablesAssignment_1
19810 {
19811 pushFollow(FOLLOW_2);
19812 rule__Aggregation__LocalVariablesAssignment_1();
19813
19814 state._fsp--;
19815
19816
19817 }
19818 break;
19819
19820 }
19821
19822 after(grammarAccess.getAggregationAccess().getLocalVariablesAssignment_1());
15397 19823
15398 } 19824 }
15399 19825
@@ -15416,16 +19842,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15416 19842
15417 19843
15418 // $ANTLR start "rule__Aggregation__Group__2" 19844 // $ANTLR start "rule__Aggregation__Group__2"
15419 // InternalSolverLanguageParser.g:4927:1: rule__Aggregation__Group__2 : rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ; 19845 // InternalSolverLanguageParser.g:6389:1: rule__Aggregation__Group__2 : rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ;
15420 public final void rule__Aggregation__Group__2() throws RecognitionException { 19846 public final void rule__Aggregation__Group__2() throws RecognitionException {
15421 19847
15422 int stackSize = keepStackSize(); 19848 int stackSize = keepStackSize();
15423 19849
15424 try { 19850 try {
15425 // InternalSolverLanguageParser.g:4931:1: ( rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ) 19851 // InternalSolverLanguageParser.g:6393:1: ( rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 )
15426 // InternalSolverLanguageParser.g:4932:2: rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 19852 // InternalSolverLanguageParser.g:6394:2: rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3
15427 { 19853 {
15428 pushFollow(FOLLOW_32); 19854 pushFollow(FOLLOW_7);
15429 rule__Aggregation__Group__2__Impl(); 19855 rule__Aggregation__Group__2__Impl();
15430 19856
15431 state._fsp--; 19857 state._fsp--;
@@ -15454,31 +19880,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15454 19880
15455 19881
15456 // $ANTLR start "rule__Aggregation__Group__2__Impl" 19882 // $ANTLR start "rule__Aggregation__Group__2__Impl"
15457 // InternalSolverLanguageParser.g:4939:1: rule__Aggregation__Group__2__Impl : ( ( rule__Aggregation__BodyAssignment_2 ) ) ; 19883 // InternalSolverLanguageParser.g:6401:1: rule__Aggregation__Group__2__Impl : ( LeftCurlyBracket ) ;
15458 public final void rule__Aggregation__Group__2__Impl() throws RecognitionException { 19884 public final void rule__Aggregation__Group__2__Impl() throws RecognitionException {
15459 19885
15460 int stackSize = keepStackSize(); 19886 int stackSize = keepStackSize();
15461 19887
15462 try { 19888 try {
15463 // InternalSolverLanguageParser.g:4943:1: ( ( ( rule__Aggregation__BodyAssignment_2 ) ) ) 19889 // InternalSolverLanguageParser.g:6405:1: ( ( LeftCurlyBracket ) )
15464 // InternalSolverLanguageParser.g:4944:1: ( ( rule__Aggregation__BodyAssignment_2 ) ) 19890 // InternalSolverLanguageParser.g:6406:1: ( LeftCurlyBracket )
15465 { 19891 {
15466 // InternalSolverLanguageParser.g:4944:1: ( ( rule__Aggregation__BodyAssignment_2 ) ) 19892 // InternalSolverLanguageParser.g:6406:1: ( LeftCurlyBracket )
15467 // InternalSolverLanguageParser.g:4945:2: ( rule__Aggregation__BodyAssignment_2 ) 19893 // InternalSolverLanguageParser.g:6407:2: LeftCurlyBracket
15468 { 19894 {
15469 before(grammarAccess.getAggregationAccess().getBodyAssignment_2()); 19895 before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
15470 // InternalSolverLanguageParser.g:4946:2: ( rule__Aggregation__BodyAssignment_2 ) 19896 match(input,LeftCurlyBracket,FOLLOW_2);
15471 // InternalSolverLanguageParser.g:4946:3: rule__Aggregation__BodyAssignment_2 19897 after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
15472 {
15473 pushFollow(FOLLOW_2);
15474 rule__Aggregation__BodyAssignment_2();
15475
15476 state._fsp--;
15477
15478
15479 }
15480
15481 after(grammarAccess.getAggregationAccess().getBodyAssignment_2());
15482 19898
15483 } 19899 }
15484 19900
@@ -15501,16 +19917,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15501 19917
15502 19918
15503 // $ANTLR start "rule__Aggregation__Group__3" 19919 // $ANTLR start "rule__Aggregation__Group__3"
15504 // InternalSolverLanguageParser.g:4954:1: rule__Aggregation__Group__3 : rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ; 19920 // InternalSolverLanguageParser.g:6416:1: rule__Aggregation__Group__3 : rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ;
15505 public final void rule__Aggregation__Group__3() throws RecognitionException { 19921 public final void rule__Aggregation__Group__3() throws RecognitionException {
15506 19922
15507 int stackSize = keepStackSize(); 19923 int stackSize = keepStackSize();
15508 19924
15509 try { 19925 try {
15510 // InternalSolverLanguageParser.g:4958:1: ( rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ) 19926 // InternalSolverLanguageParser.g:6420:1: ( rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 )
15511 // InternalSolverLanguageParser.g:4959:2: rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 19927 // InternalSolverLanguageParser.g:6421:2: rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4
15512 { 19928 {
15513 pushFollow(FOLLOW_7); 19929 pushFollow(FOLLOW_41);
15514 rule__Aggregation__Group__3__Impl(); 19930 rule__Aggregation__Group__3__Impl();
15515 19931
15516 state._fsp--; 19932 state._fsp--;
@@ -15539,21 +19955,31 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15539 19955
15540 19956
15541 // $ANTLR start "rule__Aggregation__Group__3__Impl" 19957 // $ANTLR start "rule__Aggregation__Group__3__Impl"
15542 // InternalSolverLanguageParser.g:4966:1: rule__Aggregation__Group__3__Impl : ( VerticalLine ) ; 19958 // InternalSolverLanguageParser.g:6428:1: rule__Aggregation__Group__3__Impl : ( ( rule__Aggregation__BodyAssignment_3 ) ) ;
15543 public final void rule__Aggregation__Group__3__Impl() throws RecognitionException { 19959 public final void rule__Aggregation__Group__3__Impl() throws RecognitionException {
15544 19960
15545 int stackSize = keepStackSize(); 19961 int stackSize = keepStackSize();
15546 19962
15547 try { 19963 try {
15548 // InternalSolverLanguageParser.g:4970:1: ( ( VerticalLine ) ) 19964 // InternalSolverLanguageParser.g:6432:1: ( ( ( rule__Aggregation__BodyAssignment_3 ) ) )
15549 // InternalSolverLanguageParser.g:4971:1: ( VerticalLine ) 19965 // InternalSolverLanguageParser.g:6433:1: ( ( rule__Aggregation__BodyAssignment_3 ) )
15550 { 19966 {
15551 // InternalSolverLanguageParser.g:4971:1: ( VerticalLine ) 19967 // InternalSolverLanguageParser.g:6433:1: ( ( rule__Aggregation__BodyAssignment_3 ) )
15552 // InternalSolverLanguageParser.g:4972:2: VerticalLine 19968 // InternalSolverLanguageParser.g:6434:2: ( rule__Aggregation__BodyAssignment_3 )
15553 { 19969 {
15554 before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 19970 before(grammarAccess.getAggregationAccess().getBodyAssignment_3());
15555 match(input,VerticalLine,FOLLOW_2); 19971 // InternalSolverLanguageParser.g:6435:2: ( rule__Aggregation__BodyAssignment_3 )
15556 after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 19972 // InternalSolverLanguageParser.g:6435:3: rule__Aggregation__BodyAssignment_3
19973 {
19974 pushFollow(FOLLOW_2);
19975 rule__Aggregation__BodyAssignment_3();
19976
19977 state._fsp--;
19978
19979
19980 }
19981
19982 after(grammarAccess.getAggregationAccess().getBodyAssignment_3());
15557 19983
15558 } 19984 }
15559 19985
@@ -15576,16 +20002,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15576 20002
15577 20003
15578 // $ANTLR start "rule__Aggregation__Group__4" 20004 // $ANTLR start "rule__Aggregation__Group__4"
15579 // InternalSolverLanguageParser.g:4981:1: rule__Aggregation__Group__4 : rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ; 20005 // InternalSolverLanguageParser.g:6443:1: rule__Aggregation__Group__4 : rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ;
15580 public final void rule__Aggregation__Group__4() throws RecognitionException { 20006 public final void rule__Aggregation__Group__4() throws RecognitionException {
15581 20007
15582 int stackSize = keepStackSize(); 20008 int stackSize = keepStackSize();
15583 20009
15584 try { 20010 try {
15585 // InternalSolverLanguageParser.g:4985:1: ( rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ) 20011 // InternalSolverLanguageParser.g:6447:1: ( rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 )
15586 // InternalSolverLanguageParser.g:4986:2: rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 20012 // InternalSolverLanguageParser.g:6448:2: rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5
15587 { 20013 {
15588 pushFollow(FOLLOW_31); 20014 pushFollow(FOLLOW_41);
15589 rule__Aggregation__Group__4__Impl(); 20015 rule__Aggregation__Group__4__Impl();
15590 20016
15591 state._fsp--; 20017 state._fsp--;
@@ -15614,31 +20040,42 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15614 20040
15615 20041
15616 // $ANTLR start "rule__Aggregation__Group__4__Impl" 20042 // $ANTLR start "rule__Aggregation__Group__4__Impl"
15617 // InternalSolverLanguageParser.g:4993:1: rule__Aggregation__Group__4__Impl : ( ( rule__Aggregation__ConditionAssignment_4 ) ) ; 20043 // InternalSolverLanguageParser.g:6455:1: rule__Aggregation__Group__4__Impl : ( ( rule__Aggregation__Group_4__0 )? ) ;
15618 public final void rule__Aggregation__Group__4__Impl() throws RecognitionException { 20044 public final void rule__Aggregation__Group__4__Impl() throws RecognitionException {
15619 20045
15620 int stackSize = keepStackSize(); 20046 int stackSize = keepStackSize();
15621 20047
15622 try { 20048 try {
15623 // InternalSolverLanguageParser.g:4997:1: ( ( ( rule__Aggregation__ConditionAssignment_4 ) ) ) 20049 // InternalSolverLanguageParser.g:6459:1: ( ( ( rule__Aggregation__Group_4__0 )? ) )
15624 // InternalSolverLanguageParser.g:4998:1: ( ( rule__Aggregation__ConditionAssignment_4 ) ) 20050 // InternalSolverLanguageParser.g:6460:1: ( ( rule__Aggregation__Group_4__0 )? )
15625 {
15626 // InternalSolverLanguageParser.g:4998:1: ( ( rule__Aggregation__ConditionAssignment_4 ) )
15627 // InternalSolverLanguageParser.g:4999:2: ( rule__Aggregation__ConditionAssignment_4 )
15628 { 20051 {
15629 before(grammarAccess.getAggregationAccess().getConditionAssignment_4()); 20052 // InternalSolverLanguageParser.g:6460:1: ( ( rule__Aggregation__Group_4__0 )? )
15630 // InternalSolverLanguageParser.g:5000:2: ( rule__Aggregation__ConditionAssignment_4 ) 20053 // InternalSolverLanguageParser.g:6461:2: ( rule__Aggregation__Group_4__0 )?
15631 // InternalSolverLanguageParser.g:5000:3: rule__Aggregation__ConditionAssignment_4
15632 { 20054 {
15633 pushFollow(FOLLOW_2); 20055 before(grammarAccess.getAggregationAccess().getGroup_4());
15634 rule__Aggregation__ConditionAssignment_4(); 20056 // InternalSolverLanguageParser.g:6462:2: ( rule__Aggregation__Group_4__0 )?
20057 int alt47=2;
20058 int LA47_0 = input.LA(1);
15635 20059
15636 state._fsp--; 20060 if ( (LA47_0==VerticalLine) ) {
20061 alt47=1;
20062 }
20063 switch (alt47) {
20064 case 1 :
20065 // InternalSolverLanguageParser.g:6462:3: rule__Aggregation__Group_4__0
20066 {
20067 pushFollow(FOLLOW_2);
20068 rule__Aggregation__Group_4__0();
20069
20070 state._fsp--;
15637 20071
15638 20072
20073 }
20074 break;
20075
15639 } 20076 }
15640 20077
15641 after(grammarAccess.getAggregationAccess().getConditionAssignment_4()); 20078 after(grammarAccess.getAggregationAccess().getGroup_4());
15642 20079
15643 } 20080 }
15644 20081
@@ -15661,14 +20098,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15661 20098
15662 20099
15663 // $ANTLR start "rule__Aggregation__Group__5" 20100 // $ANTLR start "rule__Aggregation__Group__5"
15664 // InternalSolverLanguageParser.g:5008:1: rule__Aggregation__Group__5 : rule__Aggregation__Group__5__Impl ; 20101 // InternalSolverLanguageParser.g:6470:1: rule__Aggregation__Group__5 : rule__Aggregation__Group__5__Impl ;
15665 public final void rule__Aggregation__Group__5() throws RecognitionException { 20102 public final void rule__Aggregation__Group__5() throws RecognitionException {
15666 20103
15667 int stackSize = keepStackSize(); 20104 int stackSize = keepStackSize();
15668 20105
15669 try { 20106 try {
15670 // InternalSolverLanguageParser.g:5012:1: ( rule__Aggregation__Group__5__Impl ) 20107 // InternalSolverLanguageParser.g:6474:1: ( rule__Aggregation__Group__5__Impl )
15671 // InternalSolverLanguageParser.g:5013:2: rule__Aggregation__Group__5__Impl 20108 // InternalSolverLanguageParser.g:6475:2: rule__Aggregation__Group__5__Impl
15672 { 20109 {
15673 pushFollow(FOLLOW_2); 20110 pushFollow(FOLLOW_2);
15674 rule__Aggregation__Group__5__Impl(); 20111 rule__Aggregation__Group__5__Impl();
@@ -15694,17 +20131,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15694 20131
15695 20132
15696 // $ANTLR start "rule__Aggregation__Group__5__Impl" 20133 // $ANTLR start "rule__Aggregation__Group__5__Impl"
15697 // InternalSolverLanguageParser.g:5019:1: rule__Aggregation__Group__5__Impl : ( RightCurlyBracket ) ; 20134 // InternalSolverLanguageParser.g:6481:1: rule__Aggregation__Group__5__Impl : ( RightCurlyBracket ) ;
15698 public final void rule__Aggregation__Group__5__Impl() throws RecognitionException { 20135 public final void rule__Aggregation__Group__5__Impl() throws RecognitionException {
15699 20136
15700 int stackSize = keepStackSize(); 20137 int stackSize = keepStackSize();
15701 20138
15702 try { 20139 try {
15703 // InternalSolverLanguageParser.g:5023:1: ( ( RightCurlyBracket ) ) 20140 // InternalSolverLanguageParser.g:6485:1: ( ( RightCurlyBracket ) )
15704 // InternalSolverLanguageParser.g:5024:1: ( RightCurlyBracket ) 20141 // InternalSolverLanguageParser.g:6486:1: ( RightCurlyBracket )
15705 { 20142 {
15706 // InternalSolverLanguageParser.g:5024:1: ( RightCurlyBracket ) 20143 // InternalSolverLanguageParser.g:6486:1: ( RightCurlyBracket )
15707 // InternalSolverLanguageParser.g:5025:2: RightCurlyBracket 20144 // InternalSolverLanguageParser.g:6487:2: RightCurlyBracket
15708 { 20145 {
15709 before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 20146 before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
15710 match(input,RightCurlyBracket,FOLLOW_2); 20147 match(input,RightCurlyBracket,FOLLOW_2);
@@ -15730,15 +20167,170 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15730 // $ANTLR end "rule__Aggregation__Group__5__Impl" 20167 // $ANTLR end "rule__Aggregation__Group__5__Impl"
15731 20168
15732 20169
20170 // $ANTLR start "rule__Aggregation__Group_4__0"
20171 // InternalSolverLanguageParser.g:6497:1: rule__Aggregation__Group_4__0 : rule__Aggregation__Group_4__0__Impl rule__Aggregation__Group_4__1 ;
20172 public final void rule__Aggregation__Group_4__0() throws RecognitionException {
20173
20174 int stackSize = keepStackSize();
20175
20176 try {
20177 // InternalSolverLanguageParser.g:6501:1: ( rule__Aggregation__Group_4__0__Impl rule__Aggregation__Group_4__1 )
20178 // InternalSolverLanguageParser.g:6502:2: rule__Aggregation__Group_4__0__Impl rule__Aggregation__Group_4__1
20179 {
20180 pushFollow(FOLLOW_7);
20181 rule__Aggregation__Group_4__0__Impl();
20182
20183 state._fsp--;
20184
20185 pushFollow(FOLLOW_2);
20186 rule__Aggregation__Group_4__1();
20187
20188 state._fsp--;
20189
20190
20191 }
20192
20193 }
20194 catch (RecognitionException re) {
20195 reportError(re);
20196 recover(input,re);
20197 }
20198 finally {
20199
20200 restoreStackSize(stackSize);
20201
20202 }
20203 return ;
20204 }
20205 // $ANTLR end "rule__Aggregation__Group_4__0"
20206
20207
20208 // $ANTLR start "rule__Aggregation__Group_4__0__Impl"
20209 // InternalSolverLanguageParser.g:6509:1: rule__Aggregation__Group_4__0__Impl : ( VerticalLine ) ;
20210 public final void rule__Aggregation__Group_4__0__Impl() throws RecognitionException {
20211
20212 int stackSize = keepStackSize();
20213
20214 try {
20215 // InternalSolverLanguageParser.g:6513:1: ( ( VerticalLine ) )
20216 // InternalSolverLanguageParser.g:6514:1: ( VerticalLine )
20217 {
20218 // InternalSolverLanguageParser.g:6514:1: ( VerticalLine )
20219 // InternalSolverLanguageParser.g:6515:2: VerticalLine
20220 {
20221 before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
20222 match(input,VerticalLine,FOLLOW_2);
20223 after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
20224
20225 }
20226
20227
20228 }
20229
20230 }
20231 catch (RecognitionException re) {
20232 reportError(re);
20233 recover(input,re);
20234 }
20235 finally {
20236
20237 restoreStackSize(stackSize);
20238
20239 }
20240 return ;
20241 }
20242 // $ANTLR end "rule__Aggregation__Group_4__0__Impl"
20243
20244
20245 // $ANTLR start "rule__Aggregation__Group_4__1"
20246 // InternalSolverLanguageParser.g:6524:1: rule__Aggregation__Group_4__1 : rule__Aggregation__Group_4__1__Impl ;
20247 public final void rule__Aggregation__Group_4__1() throws RecognitionException {
20248
20249 int stackSize = keepStackSize();
20250
20251 try {
20252 // InternalSolverLanguageParser.g:6528:1: ( rule__Aggregation__Group_4__1__Impl )
20253 // InternalSolverLanguageParser.g:6529:2: rule__Aggregation__Group_4__1__Impl
20254 {
20255 pushFollow(FOLLOW_2);
20256 rule__Aggregation__Group_4__1__Impl();
20257
20258 state._fsp--;
20259
20260
20261 }
20262
20263 }
20264 catch (RecognitionException re) {
20265 reportError(re);
20266 recover(input,re);
20267 }
20268 finally {
20269
20270 restoreStackSize(stackSize);
20271
20272 }
20273 return ;
20274 }
20275 // $ANTLR end "rule__Aggregation__Group_4__1"
20276
20277
20278 // $ANTLR start "rule__Aggregation__Group_4__1__Impl"
20279 // InternalSolverLanguageParser.g:6535:1: rule__Aggregation__Group_4__1__Impl : ( ( rule__Aggregation__ConditionAssignment_4_1 ) ) ;
20280 public final void rule__Aggregation__Group_4__1__Impl() throws RecognitionException {
20281
20282 int stackSize = keepStackSize();
20283
20284 try {
20285 // InternalSolverLanguageParser.g:6539:1: ( ( ( rule__Aggregation__ConditionAssignment_4_1 ) ) )
20286 // InternalSolverLanguageParser.g:6540:1: ( ( rule__Aggregation__ConditionAssignment_4_1 ) )
20287 {
20288 // InternalSolverLanguageParser.g:6540:1: ( ( rule__Aggregation__ConditionAssignment_4_1 ) )
20289 // InternalSolverLanguageParser.g:6541:2: ( rule__Aggregation__ConditionAssignment_4_1 )
20290 {
20291 before(grammarAccess.getAggregationAccess().getConditionAssignment_4_1());
20292 // InternalSolverLanguageParser.g:6542:2: ( rule__Aggregation__ConditionAssignment_4_1 )
20293 // InternalSolverLanguageParser.g:6542:3: rule__Aggregation__ConditionAssignment_4_1
20294 {
20295 pushFollow(FOLLOW_2);
20296 rule__Aggregation__ConditionAssignment_4_1();
20297
20298 state._fsp--;
20299
20300
20301 }
20302
20303 after(grammarAccess.getAggregationAccess().getConditionAssignment_4_1());
20304
20305 }
20306
20307
20308 }
20309
20310 }
20311 catch (RecognitionException re) {
20312 reportError(re);
20313 recover(input,re);
20314 }
20315 finally {
20316
20317 restoreStackSize(stackSize);
20318
20319 }
20320 return ;
20321 }
20322 // $ANTLR end "rule__Aggregation__Group_4__1__Impl"
20323
20324
15733 // $ANTLR start "rule__AtomicExpression__Group_4__0" 20325 // $ANTLR start "rule__AtomicExpression__Group_4__0"
15734 // InternalSolverLanguageParser.g:5035:1: rule__AtomicExpression__Group_4__0 : rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1 ; 20326 // InternalSolverLanguageParser.g:6551:1: rule__AtomicExpression__Group_4__0 : rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1 ;
15735 public final void rule__AtomicExpression__Group_4__0() throws RecognitionException { 20327 public final void rule__AtomicExpression__Group_4__0() throws RecognitionException {
15736 20328
15737 int stackSize = keepStackSize(); 20329 int stackSize = keepStackSize();
15738 20330
15739 try { 20331 try {
15740 // InternalSolverLanguageParser.g:5039:1: ( rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1 ) 20332 // InternalSolverLanguageParser.g:6555:1: ( rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1 )
15741 // InternalSolverLanguageParser.g:5040:2: rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1 20333 // InternalSolverLanguageParser.g:6556:2: rule__AtomicExpression__Group_4__0__Impl rule__AtomicExpression__Group_4__1
15742 { 20334 {
15743 pushFollow(FOLLOW_7); 20335 pushFollow(FOLLOW_7);
15744 rule__AtomicExpression__Group_4__0__Impl(); 20336 rule__AtomicExpression__Group_4__0__Impl();
@@ -15769,17 +20361,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15769 20361
15770 20362
15771 // $ANTLR start "rule__AtomicExpression__Group_4__0__Impl" 20363 // $ANTLR start "rule__AtomicExpression__Group_4__0__Impl"
15772 // InternalSolverLanguageParser.g:5047:1: rule__AtomicExpression__Group_4__0__Impl : ( LeftParenthesis ) ; 20364 // InternalSolverLanguageParser.g:6563:1: rule__AtomicExpression__Group_4__0__Impl : ( LeftParenthesis ) ;
15773 public final void rule__AtomicExpression__Group_4__0__Impl() throws RecognitionException { 20365 public final void rule__AtomicExpression__Group_4__0__Impl() throws RecognitionException {
15774 20366
15775 int stackSize = keepStackSize(); 20367 int stackSize = keepStackSize();
15776 20368
15777 try { 20369 try {
15778 // InternalSolverLanguageParser.g:5051:1: ( ( LeftParenthesis ) ) 20370 // InternalSolverLanguageParser.g:6567:1: ( ( LeftParenthesis ) )
15779 // InternalSolverLanguageParser.g:5052:1: ( LeftParenthesis ) 20371 // InternalSolverLanguageParser.g:6568:1: ( LeftParenthesis )
15780 { 20372 {
15781 // InternalSolverLanguageParser.g:5052:1: ( LeftParenthesis ) 20373 // InternalSolverLanguageParser.g:6568:1: ( LeftParenthesis )
15782 // InternalSolverLanguageParser.g:5053:2: LeftParenthesis 20374 // InternalSolverLanguageParser.g:6569:2: LeftParenthesis
15783 { 20375 {
15784 before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); 20376 before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0());
15785 match(input,LeftParenthesis,FOLLOW_2); 20377 match(input,LeftParenthesis,FOLLOW_2);
@@ -15806,16 +20398,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15806 20398
15807 20399
15808 // $ANTLR start "rule__AtomicExpression__Group_4__1" 20400 // $ANTLR start "rule__AtomicExpression__Group_4__1"
15809 // InternalSolverLanguageParser.g:5062:1: rule__AtomicExpression__Group_4__1 : rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2 ; 20401 // InternalSolverLanguageParser.g:6578:1: rule__AtomicExpression__Group_4__1 : rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2 ;
15810 public final void rule__AtomicExpression__Group_4__1() throws RecognitionException { 20402 public final void rule__AtomicExpression__Group_4__1() throws RecognitionException {
15811 20403
15812 int stackSize = keepStackSize(); 20404 int stackSize = keepStackSize();
15813 20405
15814 try { 20406 try {
15815 // InternalSolverLanguageParser.g:5066:1: ( rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2 ) 20407 // InternalSolverLanguageParser.g:6582:1: ( rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2 )
15816 // InternalSolverLanguageParser.g:5067:2: rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2 20408 // InternalSolverLanguageParser.g:6583:2: rule__AtomicExpression__Group_4__1__Impl rule__AtomicExpression__Group_4__2
15817 { 20409 {
15818 pushFollow(FOLLOW_33); 20410 pushFollow(FOLLOW_42);
15819 rule__AtomicExpression__Group_4__1__Impl(); 20411 rule__AtomicExpression__Group_4__1__Impl();
15820 20412
15821 state._fsp--; 20413 state._fsp--;
@@ -15844,17 +20436,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15844 20436
15845 20437
15846 // $ANTLR start "rule__AtomicExpression__Group_4__1__Impl" 20438 // $ANTLR start "rule__AtomicExpression__Group_4__1__Impl"
15847 // InternalSolverLanguageParser.g:5074:1: rule__AtomicExpression__Group_4__1__Impl : ( ruleExpression ) ; 20439 // InternalSolverLanguageParser.g:6590:1: rule__AtomicExpression__Group_4__1__Impl : ( ruleExpression ) ;
15848 public final void rule__AtomicExpression__Group_4__1__Impl() throws RecognitionException { 20440 public final void rule__AtomicExpression__Group_4__1__Impl() throws RecognitionException {
15849 20441
15850 int stackSize = keepStackSize(); 20442 int stackSize = keepStackSize();
15851 20443
15852 try { 20444 try {
15853 // InternalSolverLanguageParser.g:5078:1: ( ( ruleExpression ) ) 20445 // InternalSolverLanguageParser.g:6594:1: ( ( ruleExpression ) )
15854 // InternalSolverLanguageParser.g:5079:1: ( ruleExpression ) 20446 // InternalSolverLanguageParser.g:6595:1: ( ruleExpression )
15855 { 20447 {
15856 // InternalSolverLanguageParser.g:5079:1: ( ruleExpression ) 20448 // InternalSolverLanguageParser.g:6595:1: ( ruleExpression )
15857 // InternalSolverLanguageParser.g:5080:2: ruleExpression 20449 // InternalSolverLanguageParser.g:6596:2: ruleExpression
15858 { 20450 {
15859 before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); 20451 before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1());
15860 pushFollow(FOLLOW_2); 20452 pushFollow(FOLLOW_2);
@@ -15885,14 +20477,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15885 20477
15886 20478
15887 // $ANTLR start "rule__AtomicExpression__Group_4__2" 20479 // $ANTLR start "rule__AtomicExpression__Group_4__2"
15888 // InternalSolverLanguageParser.g:5089:1: rule__AtomicExpression__Group_4__2 : rule__AtomicExpression__Group_4__2__Impl ; 20480 // InternalSolverLanguageParser.g:6605:1: rule__AtomicExpression__Group_4__2 : rule__AtomicExpression__Group_4__2__Impl ;
15889 public final void rule__AtomicExpression__Group_4__2() throws RecognitionException { 20481 public final void rule__AtomicExpression__Group_4__2() throws RecognitionException {
15890 20482
15891 int stackSize = keepStackSize(); 20483 int stackSize = keepStackSize();
15892 20484
15893 try { 20485 try {
15894 // InternalSolverLanguageParser.g:5093:1: ( rule__AtomicExpression__Group_4__2__Impl ) 20486 // InternalSolverLanguageParser.g:6609:1: ( rule__AtomicExpression__Group_4__2__Impl )
15895 // InternalSolverLanguageParser.g:5094:2: rule__AtomicExpression__Group_4__2__Impl 20487 // InternalSolverLanguageParser.g:6610:2: rule__AtomicExpression__Group_4__2__Impl
15896 { 20488 {
15897 pushFollow(FOLLOW_2); 20489 pushFollow(FOLLOW_2);
15898 rule__AtomicExpression__Group_4__2__Impl(); 20490 rule__AtomicExpression__Group_4__2__Impl();
@@ -15918,17 +20510,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15918 20510
15919 20511
15920 // $ANTLR start "rule__AtomicExpression__Group_4__2__Impl" 20512 // $ANTLR start "rule__AtomicExpression__Group_4__2__Impl"
15921 // InternalSolverLanguageParser.g:5100:1: rule__AtomicExpression__Group_4__2__Impl : ( RightParenthesis ) ; 20513 // InternalSolverLanguageParser.g:6616:1: rule__AtomicExpression__Group_4__2__Impl : ( RightParenthesis ) ;
15922 public final void rule__AtomicExpression__Group_4__2__Impl() throws RecognitionException { 20514 public final void rule__AtomicExpression__Group_4__2__Impl() throws RecognitionException {
15923 20515
15924 int stackSize = keepStackSize(); 20516 int stackSize = keepStackSize();
15925 20517
15926 try { 20518 try {
15927 // InternalSolverLanguageParser.g:5104:1: ( ( RightParenthesis ) ) 20519 // InternalSolverLanguageParser.g:6620:1: ( ( RightParenthesis ) )
15928 // InternalSolverLanguageParser.g:5105:1: ( RightParenthesis ) 20520 // InternalSolverLanguageParser.g:6621:1: ( RightParenthesis )
15929 { 20521 {
15930 // InternalSolverLanguageParser.g:5105:1: ( RightParenthesis ) 20522 // InternalSolverLanguageParser.g:6621:1: ( RightParenthesis )
15931 // InternalSolverLanguageParser.g:5106:2: RightParenthesis 20523 // InternalSolverLanguageParser.g:6622:2: RightParenthesis
15932 { 20524 {
15933 before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_4_2()); 20525 before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_4_2());
15934 match(input,RightParenthesis,FOLLOW_2); 20526 match(input,RightParenthesis,FOLLOW_2);
@@ -15955,16 +20547,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15955 20547
15956 20548
15957 // $ANTLR start "rule__Call__Group__0" 20549 // $ANTLR start "rule__Call__Group__0"
15958 // InternalSolverLanguageParser.g:5116:1: rule__Call__Group__0 : rule__Call__Group__0__Impl rule__Call__Group__1 ; 20550 // InternalSolverLanguageParser.g:6632:1: rule__Call__Group__0 : rule__Call__Group__0__Impl rule__Call__Group__1 ;
15959 public final void rule__Call__Group__0() throws RecognitionException { 20551 public final void rule__Call__Group__0() throws RecognitionException {
15960 20552
15961 int stackSize = keepStackSize(); 20553 int stackSize = keepStackSize();
15962 20554
15963 try { 20555 try {
15964 // InternalSolverLanguageParser.g:5120:1: ( rule__Call__Group__0__Impl rule__Call__Group__1 ) 20556 // InternalSolverLanguageParser.g:6636:1: ( rule__Call__Group__0__Impl rule__Call__Group__1 )
15965 // InternalSolverLanguageParser.g:5121:2: rule__Call__Group__0__Impl rule__Call__Group__1 20557 // InternalSolverLanguageParser.g:6637:2: rule__Call__Group__0__Impl rule__Call__Group__1
15966 { 20558 {
15967 pushFollow(FOLLOW_34); 20559 pushFollow(FOLLOW_43);
15968 rule__Call__Group__0__Impl(); 20560 rule__Call__Group__0__Impl();
15969 20561
15970 state._fsp--; 20562 state._fsp--;
@@ -15993,21 +20585,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15993 20585
15994 20586
15995 // $ANTLR start "rule__Call__Group__0__Impl" 20587 // $ANTLR start "rule__Call__Group__0__Impl"
15996 // InternalSolverLanguageParser.g:5128:1: rule__Call__Group__0__Impl : ( ( rule__Call__FunctorAssignment_0 ) ) ; 20588 // InternalSolverLanguageParser.g:6644:1: rule__Call__Group__0__Impl : ( ( rule__Call__FunctorAssignment_0 ) ) ;
15997 public final void rule__Call__Group__0__Impl() throws RecognitionException { 20589 public final void rule__Call__Group__0__Impl() throws RecognitionException {
15998 20590
15999 int stackSize = keepStackSize(); 20591 int stackSize = keepStackSize();
16000 20592
16001 try { 20593 try {
16002 // InternalSolverLanguageParser.g:5132:1: ( ( ( rule__Call__FunctorAssignment_0 ) ) ) 20594 // InternalSolverLanguageParser.g:6648:1: ( ( ( rule__Call__FunctorAssignment_0 ) ) )
16003 // InternalSolverLanguageParser.g:5133:1: ( ( rule__Call__FunctorAssignment_0 ) ) 20595 // InternalSolverLanguageParser.g:6649:1: ( ( rule__Call__FunctorAssignment_0 ) )
16004 { 20596 {
16005 // InternalSolverLanguageParser.g:5133:1: ( ( rule__Call__FunctorAssignment_0 ) ) 20597 // InternalSolverLanguageParser.g:6649:1: ( ( rule__Call__FunctorAssignment_0 ) )
16006 // InternalSolverLanguageParser.g:5134:2: ( rule__Call__FunctorAssignment_0 ) 20598 // InternalSolverLanguageParser.g:6650:2: ( rule__Call__FunctorAssignment_0 )
16007 { 20599 {
16008 before(grammarAccess.getCallAccess().getFunctorAssignment_0()); 20600 before(grammarAccess.getCallAccess().getFunctorAssignment_0());
16009 // InternalSolverLanguageParser.g:5135:2: ( rule__Call__FunctorAssignment_0 ) 20601 // InternalSolverLanguageParser.g:6651:2: ( rule__Call__FunctorAssignment_0 )
16010 // InternalSolverLanguageParser.g:5135:3: rule__Call__FunctorAssignment_0 20602 // InternalSolverLanguageParser.g:6651:3: rule__Call__FunctorAssignment_0
16011 { 20603 {
16012 pushFollow(FOLLOW_2); 20604 pushFollow(FOLLOW_2);
16013 rule__Call__FunctorAssignment_0(); 20605 rule__Call__FunctorAssignment_0();
@@ -16040,16 +20632,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16040 20632
16041 20633
16042 // $ANTLR start "rule__Call__Group__1" 20634 // $ANTLR start "rule__Call__Group__1"
16043 // InternalSolverLanguageParser.g:5143:1: rule__Call__Group__1 : rule__Call__Group__1__Impl rule__Call__Group__2 ; 20635 // InternalSolverLanguageParser.g:6659:1: rule__Call__Group__1 : rule__Call__Group__1__Impl rule__Call__Group__2 ;
16044 public final void rule__Call__Group__1() throws RecognitionException { 20636 public final void rule__Call__Group__1() throws RecognitionException {
16045 20637
16046 int stackSize = keepStackSize(); 20638 int stackSize = keepStackSize();
16047 20639
16048 try { 20640 try {
16049 // InternalSolverLanguageParser.g:5147:1: ( rule__Call__Group__1__Impl rule__Call__Group__2 ) 20641 // InternalSolverLanguageParser.g:6663:1: ( rule__Call__Group__1__Impl rule__Call__Group__2 )
16050 // InternalSolverLanguageParser.g:5148:2: rule__Call__Group__1__Impl rule__Call__Group__2 20642 // InternalSolverLanguageParser.g:6664:2: rule__Call__Group__1__Impl rule__Call__Group__2
16051 { 20643 {
16052 pushFollow(FOLLOW_34); 20644 pushFollow(FOLLOW_43);
16053 rule__Call__Group__1__Impl(); 20645 rule__Call__Group__1__Impl();
16054 20646
16055 state._fsp--; 20647 state._fsp--;
@@ -16078,29 +20670,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16078 20670
16079 20671
16080 // $ANTLR start "rule__Call__Group__1__Impl" 20672 // $ANTLR start "rule__Call__Group__1__Impl"
16081 // InternalSolverLanguageParser.g:5155:1: rule__Call__Group__1__Impl : ( ( rule__Call__Alternatives_1 )? ) ; 20673 // InternalSolverLanguageParser.g:6671:1: rule__Call__Group__1__Impl : ( ( rule__Call__Alternatives_1 )? ) ;
16082 public final void rule__Call__Group__1__Impl() throws RecognitionException { 20674 public final void rule__Call__Group__1__Impl() throws RecognitionException {
16083 20675
16084 int stackSize = keepStackSize(); 20676 int stackSize = keepStackSize();
16085 20677
16086 try { 20678 try {
16087 // InternalSolverLanguageParser.g:5159:1: ( ( ( rule__Call__Alternatives_1 )? ) ) 20679 // InternalSolverLanguageParser.g:6675:1: ( ( ( rule__Call__Alternatives_1 )? ) )
16088 // InternalSolverLanguageParser.g:5160:1: ( ( rule__Call__Alternatives_1 )? ) 20680 // InternalSolverLanguageParser.g:6676:1: ( ( rule__Call__Alternatives_1 )? )
16089 { 20681 {
16090 // InternalSolverLanguageParser.g:5160:1: ( ( rule__Call__Alternatives_1 )? ) 20682 // InternalSolverLanguageParser.g:6676:1: ( ( rule__Call__Alternatives_1 )? )
16091 // InternalSolverLanguageParser.g:5161:2: ( rule__Call__Alternatives_1 )? 20683 // InternalSolverLanguageParser.g:6677:2: ( rule__Call__Alternatives_1 )?
16092 { 20684 {
16093 before(grammarAccess.getCallAccess().getAlternatives_1()); 20685 before(grammarAccess.getCallAccess().getAlternatives_1());
16094 // InternalSolverLanguageParser.g:5162:2: ( rule__Call__Alternatives_1 )? 20686 // InternalSolverLanguageParser.g:6678:2: ( rule__Call__Alternatives_1 )?
16095 int alt39=2; 20687 int alt48=2;
16096 int LA39_0 = input.LA(1); 20688 int LA48_0 = input.LA(1);
16097 20689
16098 if ( ((LA39_0>=RULE_TRANSITIVE_CLOSURE && LA39_0<=RULE_REFLEXIVE_TRANSITIVE_CLOSURE)) ) { 20690 if ( ((LA48_0>=RULE_TRANSITIVE_CLOSURE && LA48_0<=RULE_REFLEXIVE_TRANSITIVE_CLOSURE)) ) {
16099 alt39=1; 20691 alt48=1;
16100 } 20692 }
16101 switch (alt39) { 20693 switch (alt48) {
16102 case 1 : 20694 case 1 :
16103 // InternalSolverLanguageParser.g:5162:3: rule__Call__Alternatives_1 20695 // InternalSolverLanguageParser.g:6678:3: rule__Call__Alternatives_1
16104 { 20696 {
16105 pushFollow(FOLLOW_2); 20697 pushFollow(FOLLOW_2);
16106 rule__Call__Alternatives_1(); 20698 rule__Call__Alternatives_1();
@@ -16136,14 +20728,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16136 20728
16137 20729
16138 // $ANTLR start "rule__Call__Group__2" 20730 // $ANTLR start "rule__Call__Group__2"
16139 // InternalSolverLanguageParser.g:5170:1: rule__Call__Group__2 : rule__Call__Group__2__Impl ; 20731 // InternalSolverLanguageParser.g:6686:1: rule__Call__Group__2 : rule__Call__Group__2__Impl ;
16140 public final void rule__Call__Group__2() throws RecognitionException { 20732 public final void rule__Call__Group__2() throws RecognitionException {
16141 20733
16142 int stackSize = keepStackSize(); 20734 int stackSize = keepStackSize();
16143 20735
16144 try { 20736 try {
16145 // InternalSolverLanguageParser.g:5174:1: ( rule__Call__Group__2__Impl ) 20737 // InternalSolverLanguageParser.g:6690:1: ( rule__Call__Group__2__Impl )
16146 // InternalSolverLanguageParser.g:5175:2: rule__Call__Group__2__Impl 20738 // InternalSolverLanguageParser.g:6691:2: rule__Call__Group__2__Impl
16147 { 20739 {
16148 pushFollow(FOLLOW_2); 20740 pushFollow(FOLLOW_2);
16149 rule__Call__Group__2__Impl(); 20741 rule__Call__Group__2__Impl();
@@ -16169,21 +20761,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16169 20761
16170 20762
16171 // $ANTLR start "rule__Call__Group__2__Impl" 20763 // $ANTLR start "rule__Call__Group__2__Impl"
16172 // InternalSolverLanguageParser.g:5181:1: rule__Call__Group__2__Impl : ( ( rule__Call__ArgumentListAssignment_2 ) ) ; 20764 // InternalSolverLanguageParser.g:6697:1: rule__Call__Group__2__Impl : ( ( rule__Call__ArgumentListAssignment_2 ) ) ;
16173 public final void rule__Call__Group__2__Impl() throws RecognitionException { 20765 public final void rule__Call__Group__2__Impl() throws RecognitionException {
16174 20766
16175 int stackSize = keepStackSize(); 20767 int stackSize = keepStackSize();
16176 20768
16177 try { 20769 try {
16178 // InternalSolverLanguageParser.g:5185:1: ( ( ( rule__Call__ArgumentListAssignment_2 ) ) ) 20770 // InternalSolverLanguageParser.g:6701:1: ( ( ( rule__Call__ArgumentListAssignment_2 ) ) )
16179 // InternalSolverLanguageParser.g:5186:1: ( ( rule__Call__ArgumentListAssignment_2 ) ) 20771 // InternalSolverLanguageParser.g:6702:1: ( ( rule__Call__ArgumentListAssignment_2 ) )
16180 { 20772 {
16181 // InternalSolverLanguageParser.g:5186:1: ( ( rule__Call__ArgumentListAssignment_2 ) ) 20773 // InternalSolverLanguageParser.g:6702:1: ( ( rule__Call__ArgumentListAssignment_2 ) )
16182 // InternalSolverLanguageParser.g:5187:2: ( rule__Call__ArgumentListAssignment_2 ) 20774 // InternalSolverLanguageParser.g:6703:2: ( rule__Call__ArgumentListAssignment_2 )
16183 { 20775 {
16184 before(grammarAccess.getCallAccess().getArgumentListAssignment_2()); 20776 before(grammarAccess.getCallAccess().getArgumentListAssignment_2());
16185 // InternalSolverLanguageParser.g:5188:2: ( rule__Call__ArgumentListAssignment_2 ) 20777 // InternalSolverLanguageParser.g:6704:2: ( rule__Call__ArgumentListAssignment_2 )
16186 // InternalSolverLanguageParser.g:5188:3: rule__Call__ArgumentListAssignment_2 20778 // InternalSolverLanguageParser.g:6704:3: rule__Call__ArgumentListAssignment_2
16187 { 20779 {
16188 pushFollow(FOLLOW_2); 20780 pushFollow(FOLLOW_2);
16189 rule__Call__ArgumentListAssignment_2(); 20781 rule__Call__ArgumentListAssignment_2();
@@ -16216,14 +20808,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16216 20808
16217 20809
16218 // $ANTLR start "rule__ArgumentList__Group__0" 20810 // $ANTLR start "rule__ArgumentList__Group__0"
16219 // InternalSolverLanguageParser.g:5197:1: rule__ArgumentList__Group__0 : rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ; 20811 // InternalSolverLanguageParser.g:6713:1: rule__ArgumentList__Group__0 : rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ;
16220 public final void rule__ArgumentList__Group__0() throws RecognitionException { 20812 public final void rule__ArgumentList__Group__0() throws RecognitionException {
16221 20813
16222 int stackSize = keepStackSize(); 20814 int stackSize = keepStackSize();
16223 20815
16224 try { 20816 try {
16225 // InternalSolverLanguageParser.g:5201:1: ( rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ) 20817 // InternalSolverLanguageParser.g:6717:1: ( rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 )
16226 // InternalSolverLanguageParser.g:5202:2: rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 20818 // InternalSolverLanguageParser.g:6718:2: rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1
16227 { 20819 {
16228 pushFollow(FOLLOW_12); 20820 pushFollow(FOLLOW_12);
16229 rule__ArgumentList__Group__0__Impl(); 20821 rule__ArgumentList__Group__0__Impl();
@@ -16254,21 +20846,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16254 20846
16255 20847
16256 // $ANTLR start "rule__ArgumentList__Group__0__Impl" 20848 // $ANTLR start "rule__ArgumentList__Group__0__Impl"
16257 // InternalSolverLanguageParser.g:5209:1: rule__ArgumentList__Group__0__Impl : ( () ) ; 20849 // InternalSolverLanguageParser.g:6725:1: rule__ArgumentList__Group__0__Impl : ( () ) ;
16258 public final void rule__ArgumentList__Group__0__Impl() throws RecognitionException { 20850 public final void rule__ArgumentList__Group__0__Impl() throws RecognitionException {
16259 20851
16260 int stackSize = keepStackSize(); 20852 int stackSize = keepStackSize();
16261 20853
16262 try { 20854 try {
16263 // InternalSolverLanguageParser.g:5213:1: ( ( () ) ) 20855 // InternalSolverLanguageParser.g:6729:1: ( ( () ) )
16264 // InternalSolverLanguageParser.g:5214:1: ( () ) 20856 // InternalSolverLanguageParser.g:6730:1: ( () )
16265 { 20857 {
16266 // InternalSolverLanguageParser.g:5214:1: ( () ) 20858 // InternalSolverLanguageParser.g:6730:1: ( () )
16267 // InternalSolverLanguageParser.g:5215:2: () 20859 // InternalSolverLanguageParser.g:6731:2: ()
16268 { 20860 {
16269 before(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); 20861 before(grammarAccess.getArgumentListAccess().getArgumentListAction_0());
16270 // InternalSolverLanguageParser.g:5216:2: () 20862 // InternalSolverLanguageParser.g:6732:2: ()
16271 // InternalSolverLanguageParser.g:5216:3: 20863 // InternalSolverLanguageParser.g:6732:3:
16272 { 20864 {
16273 } 20865 }
16274 20866
@@ -16291,16 +20883,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16291 20883
16292 20884
16293 // $ANTLR start "rule__ArgumentList__Group__1" 20885 // $ANTLR start "rule__ArgumentList__Group__1"
16294 // InternalSolverLanguageParser.g:5224:1: rule__ArgumentList__Group__1 : rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ; 20886 // InternalSolverLanguageParser.g:6740:1: rule__ArgumentList__Group__1 : rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ;
16295 public final void rule__ArgumentList__Group__1() throws RecognitionException { 20887 public final void rule__ArgumentList__Group__1() throws RecognitionException {
16296 20888
16297 int stackSize = keepStackSize(); 20889 int stackSize = keepStackSize();
16298 20890
16299 try { 20891 try {
16300 // InternalSolverLanguageParser.g:5228:1: ( rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ) 20892 // InternalSolverLanguageParser.g:6744:1: ( rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 )
16301 // InternalSolverLanguageParser.g:5229:2: rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 20893 // InternalSolverLanguageParser.g:6745:2: rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2
16302 { 20894 {
16303 pushFollow(FOLLOW_35); 20895 pushFollow(FOLLOW_44);
16304 rule__ArgumentList__Group__1__Impl(); 20896 rule__ArgumentList__Group__1__Impl();
16305 20897
16306 state._fsp--; 20898 state._fsp--;
@@ -16329,17 +20921,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16329 20921
16330 20922
16331 // $ANTLR start "rule__ArgumentList__Group__1__Impl" 20923 // $ANTLR start "rule__ArgumentList__Group__1__Impl"
16332 // InternalSolverLanguageParser.g:5236:1: rule__ArgumentList__Group__1__Impl : ( LeftParenthesis ) ; 20924 // InternalSolverLanguageParser.g:6752:1: rule__ArgumentList__Group__1__Impl : ( LeftParenthesis ) ;
16333 public final void rule__ArgumentList__Group__1__Impl() throws RecognitionException { 20925 public final void rule__ArgumentList__Group__1__Impl() throws RecognitionException {
16334 20926
16335 int stackSize = keepStackSize(); 20927 int stackSize = keepStackSize();
16336 20928
16337 try { 20929 try {
16338 // InternalSolverLanguageParser.g:5240:1: ( ( LeftParenthesis ) ) 20930 // InternalSolverLanguageParser.g:6756:1: ( ( LeftParenthesis ) )
16339 // InternalSolverLanguageParser.g:5241:1: ( LeftParenthesis ) 20931 // InternalSolverLanguageParser.g:6757:1: ( LeftParenthesis )
16340 { 20932 {
16341 // InternalSolverLanguageParser.g:5241:1: ( LeftParenthesis ) 20933 // InternalSolverLanguageParser.g:6757:1: ( LeftParenthesis )
16342 // InternalSolverLanguageParser.g:5242:2: LeftParenthesis 20934 // InternalSolverLanguageParser.g:6758:2: LeftParenthesis
16343 { 20935 {
16344 before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); 20936 before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
16345 match(input,LeftParenthesis,FOLLOW_2); 20937 match(input,LeftParenthesis,FOLLOW_2);
@@ -16366,16 +20958,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16366 20958
16367 20959
16368 // $ANTLR start "rule__ArgumentList__Group__2" 20960 // $ANTLR start "rule__ArgumentList__Group__2"
16369 // InternalSolverLanguageParser.g:5251:1: rule__ArgumentList__Group__2 : rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ; 20961 // InternalSolverLanguageParser.g:6767:1: rule__ArgumentList__Group__2 : rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ;
16370 public final void rule__ArgumentList__Group__2() throws RecognitionException { 20962 public final void rule__ArgumentList__Group__2() throws RecognitionException {
16371 20963
16372 int stackSize = keepStackSize(); 20964 int stackSize = keepStackSize();
16373 20965
16374 try { 20966 try {
16375 // InternalSolverLanguageParser.g:5255:1: ( rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ) 20967 // InternalSolverLanguageParser.g:6771:1: ( rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 )
16376 // InternalSolverLanguageParser.g:5256:2: rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 20968 // InternalSolverLanguageParser.g:6772:2: rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3
16377 { 20969 {
16378 pushFollow(FOLLOW_35); 20970 pushFollow(FOLLOW_44);
16379 rule__ArgumentList__Group__2__Impl(); 20971 rule__ArgumentList__Group__2__Impl();
16380 20972
16381 state._fsp--; 20973 state._fsp--;
@@ -16404,29 +20996,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16404 20996
16405 20997
16406 // $ANTLR start "rule__ArgumentList__Group__2__Impl" 20998 // $ANTLR start "rule__ArgumentList__Group__2__Impl"
16407 // InternalSolverLanguageParser.g:5263:1: rule__ArgumentList__Group__2__Impl : ( ( rule__ArgumentList__Group_2__0 )? ) ; 20999 // InternalSolverLanguageParser.g:6779:1: rule__ArgumentList__Group__2__Impl : ( ( rule__ArgumentList__Group_2__0 )? ) ;
16408 public final void rule__ArgumentList__Group__2__Impl() throws RecognitionException { 21000 public final void rule__ArgumentList__Group__2__Impl() throws RecognitionException {
16409 21001
16410 int stackSize = keepStackSize(); 21002 int stackSize = keepStackSize();
16411 21003
16412 try { 21004 try {
16413 // InternalSolverLanguageParser.g:5267:1: ( ( ( rule__ArgumentList__Group_2__0 )? ) ) 21005 // InternalSolverLanguageParser.g:6783:1: ( ( ( rule__ArgumentList__Group_2__0 )? ) )
16414 // InternalSolverLanguageParser.g:5268:1: ( ( rule__ArgumentList__Group_2__0 )? ) 21006 // InternalSolverLanguageParser.g:6784:1: ( ( rule__ArgumentList__Group_2__0 )? )
16415 { 21007 {
16416 // InternalSolverLanguageParser.g:5268:1: ( ( rule__ArgumentList__Group_2__0 )? ) 21008 // InternalSolverLanguageParser.g:6784:1: ( ( rule__ArgumentList__Group_2__0 )? )
16417 // InternalSolverLanguageParser.g:5269:2: ( rule__ArgumentList__Group_2__0 )? 21009 // InternalSolverLanguageParser.g:6785:2: ( rule__ArgumentList__Group_2__0 )?
16418 { 21010 {
16419 before(grammarAccess.getArgumentListAccess().getGroup_2()); 21011 before(grammarAccess.getArgumentListAccess().getGroup_2());
16420 // InternalSolverLanguageParser.g:5270:2: ( rule__ArgumentList__Group_2__0 )? 21012 // InternalSolverLanguageParser.g:6786:2: ( rule__ArgumentList__Group_2__0 )?
16421 int alt40=2; 21013 int alt49=2;
16422 int LA40_0 = input.LA(1); 21014 int LA49_0 = input.LA(1);
16423 21015
16424 if ( (LA40_0==Current||LA40_0==Unknown||(LA40_0>=Count && LA40_0<=False)||(LA40_0>=Must && LA40_0<=Prod)||LA40_0==True||(LA40_0>=Avg && LA40_0<=Inf)||(LA40_0>=Max && LA40_0<=Sum)||(LA40_0>=ExclamationMark && LA40_0<=LeftParenthesis)||(LA40_0>=Asterisk && LA40_0<=PlusSign)||LA40_0==HyphenMinus||LA40_0==LeftSquareBracket||(LA40_0>=RULE_STRING && LA40_0<=RULE_QUOTED_ID)||(LA40_0>=RULE_ID && LA40_0<=RULE_INT)) ) { 21016 if ( (LA49_0==Current||(LA49_0>=Unknown && LA49_0<=Exists)||LA49_0==Forall||(LA49_0>=Count && LA49_0<=False)||LA49_0==Must||LA49_0==True||LA49_0==Inf||LA49_0==May||(LA49_0>=ExclamationMark && LA49_0<=LeftParenthesis)||(LA49_0>=Asterisk && LA49_0<=PlusSign)||LA49_0==HyphenMinus||LA49_0==LeftSquareBracket||(LA49_0>=RULE_STRING && LA49_0<=RULE_QUOTED_ID)||(LA49_0>=RULE_ID && LA49_0<=RULE_INT)) ) {
16425 alt40=1; 21017 alt49=1;
16426 } 21018 }
16427 switch (alt40) { 21019 switch (alt49) {
16428 case 1 : 21020 case 1 :
16429 // InternalSolverLanguageParser.g:5270:3: rule__ArgumentList__Group_2__0 21021 // InternalSolverLanguageParser.g:6786:3: rule__ArgumentList__Group_2__0
16430 { 21022 {
16431 pushFollow(FOLLOW_2); 21023 pushFollow(FOLLOW_2);
16432 rule__ArgumentList__Group_2__0(); 21024 rule__ArgumentList__Group_2__0();
@@ -16462,14 +21054,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16462 21054
16463 21055
16464 // $ANTLR start "rule__ArgumentList__Group__3" 21056 // $ANTLR start "rule__ArgumentList__Group__3"
16465 // InternalSolverLanguageParser.g:5278:1: rule__ArgumentList__Group__3 : rule__ArgumentList__Group__3__Impl ; 21057 // InternalSolverLanguageParser.g:6794:1: rule__ArgumentList__Group__3 : rule__ArgumentList__Group__3__Impl ;
16466 public final void rule__ArgumentList__Group__3() throws RecognitionException { 21058 public final void rule__ArgumentList__Group__3() throws RecognitionException {
16467 21059
16468 int stackSize = keepStackSize(); 21060 int stackSize = keepStackSize();
16469 21061
16470 try { 21062 try {
16471 // InternalSolverLanguageParser.g:5282:1: ( rule__ArgumentList__Group__3__Impl ) 21063 // InternalSolverLanguageParser.g:6798:1: ( rule__ArgumentList__Group__3__Impl )
16472 // InternalSolverLanguageParser.g:5283:2: rule__ArgumentList__Group__3__Impl 21064 // InternalSolverLanguageParser.g:6799:2: rule__ArgumentList__Group__3__Impl
16473 { 21065 {
16474 pushFollow(FOLLOW_2); 21066 pushFollow(FOLLOW_2);
16475 rule__ArgumentList__Group__3__Impl(); 21067 rule__ArgumentList__Group__3__Impl();
@@ -16495,17 +21087,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16495 21087
16496 21088
16497 // $ANTLR start "rule__ArgumentList__Group__3__Impl" 21089 // $ANTLR start "rule__ArgumentList__Group__3__Impl"
16498 // InternalSolverLanguageParser.g:5289:1: rule__ArgumentList__Group__3__Impl : ( RightParenthesis ) ; 21090 // InternalSolverLanguageParser.g:6805:1: rule__ArgumentList__Group__3__Impl : ( RightParenthesis ) ;
16499 public final void rule__ArgumentList__Group__3__Impl() throws RecognitionException { 21091 public final void rule__ArgumentList__Group__3__Impl() throws RecognitionException {
16500 21092
16501 int stackSize = keepStackSize(); 21093 int stackSize = keepStackSize();
16502 21094
16503 try { 21095 try {
16504 // InternalSolverLanguageParser.g:5293:1: ( ( RightParenthesis ) ) 21096 // InternalSolverLanguageParser.g:6809:1: ( ( RightParenthesis ) )
16505 // InternalSolverLanguageParser.g:5294:1: ( RightParenthesis ) 21097 // InternalSolverLanguageParser.g:6810:1: ( RightParenthesis )
16506 { 21098 {
16507 // InternalSolverLanguageParser.g:5294:1: ( RightParenthesis ) 21099 // InternalSolverLanguageParser.g:6810:1: ( RightParenthesis )
16508 // InternalSolverLanguageParser.g:5295:2: RightParenthesis 21100 // InternalSolverLanguageParser.g:6811:2: RightParenthesis
16509 { 21101 {
16510 before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); 21102 before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3());
16511 match(input,RightParenthesis,FOLLOW_2); 21103 match(input,RightParenthesis,FOLLOW_2);
@@ -16532,16 +21124,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16532 21124
16533 21125
16534 // $ANTLR start "rule__ArgumentList__Group_2__0" 21126 // $ANTLR start "rule__ArgumentList__Group_2__0"
16535 // InternalSolverLanguageParser.g:5305:1: rule__ArgumentList__Group_2__0 : rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ; 21127 // InternalSolverLanguageParser.g:6821:1: rule__ArgumentList__Group_2__0 : rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ;
16536 public final void rule__ArgumentList__Group_2__0() throws RecognitionException { 21128 public final void rule__ArgumentList__Group_2__0() throws RecognitionException {
16537 21129
16538 int stackSize = keepStackSize(); 21130 int stackSize = keepStackSize();
16539 21131
16540 try { 21132 try {
16541 // InternalSolverLanguageParser.g:5309:1: ( rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ) 21133 // InternalSolverLanguageParser.g:6825:1: ( rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 )
16542 // InternalSolverLanguageParser.g:5310:2: rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 21134 // InternalSolverLanguageParser.g:6826:2: rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1
16543 { 21135 {
16544 pushFollow(FOLLOW_21); 21136 pushFollow(FOLLOW_19);
16545 rule__ArgumentList__Group_2__0__Impl(); 21137 rule__ArgumentList__Group_2__0__Impl();
16546 21138
16547 state._fsp--; 21139 state._fsp--;
@@ -16570,21 +21162,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16570 21162
16571 21163
16572 // $ANTLR start "rule__ArgumentList__Group_2__0__Impl" 21164 // $ANTLR start "rule__ArgumentList__Group_2__0__Impl"
16573 // InternalSolverLanguageParser.g:5317:1: rule__ArgumentList__Group_2__0__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ; 21165 // InternalSolverLanguageParser.g:6833:1: rule__ArgumentList__Group_2__0__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ;
16574 public final void rule__ArgumentList__Group_2__0__Impl() throws RecognitionException { 21166 public final void rule__ArgumentList__Group_2__0__Impl() throws RecognitionException {
16575 21167
16576 int stackSize = keepStackSize(); 21168 int stackSize = keepStackSize();
16577 21169
16578 try { 21170 try {
16579 // InternalSolverLanguageParser.g:5321:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ) 21171 // InternalSolverLanguageParser.g:6837:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) )
16580 // InternalSolverLanguageParser.g:5322:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) 21172 // InternalSolverLanguageParser.g:6838:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) )
16581 { 21173 {
16582 // InternalSolverLanguageParser.g:5322:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) 21174 // InternalSolverLanguageParser.g:6838:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) )
16583 // InternalSolverLanguageParser.g:5323:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 ) 21175 // InternalSolverLanguageParser.g:6839:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 )
16584 { 21176 {
16585 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); 21177 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0());
16586 // InternalSolverLanguageParser.g:5324:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 ) 21178 // InternalSolverLanguageParser.g:6840:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 )
16587 // InternalSolverLanguageParser.g:5324:3: rule__ArgumentList__ArgumentsAssignment_2_0 21179 // InternalSolverLanguageParser.g:6840:3: rule__ArgumentList__ArgumentsAssignment_2_0
16588 { 21180 {
16589 pushFollow(FOLLOW_2); 21181 pushFollow(FOLLOW_2);
16590 rule__ArgumentList__ArgumentsAssignment_2_0(); 21182 rule__ArgumentList__ArgumentsAssignment_2_0();
@@ -16617,14 +21209,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16617 21209
16618 21210
16619 // $ANTLR start "rule__ArgumentList__Group_2__1" 21211 // $ANTLR start "rule__ArgumentList__Group_2__1"
16620 // InternalSolverLanguageParser.g:5332:1: rule__ArgumentList__Group_2__1 : rule__ArgumentList__Group_2__1__Impl ; 21212 // InternalSolverLanguageParser.g:6848:1: rule__ArgumentList__Group_2__1 : rule__ArgumentList__Group_2__1__Impl ;
16621 public final void rule__ArgumentList__Group_2__1() throws RecognitionException { 21213 public final void rule__ArgumentList__Group_2__1() throws RecognitionException {
16622 21214
16623 int stackSize = keepStackSize(); 21215 int stackSize = keepStackSize();
16624 21216
16625 try { 21217 try {
16626 // InternalSolverLanguageParser.g:5336:1: ( rule__ArgumentList__Group_2__1__Impl ) 21218 // InternalSolverLanguageParser.g:6852:1: ( rule__ArgumentList__Group_2__1__Impl )
16627 // InternalSolverLanguageParser.g:5337:2: rule__ArgumentList__Group_2__1__Impl 21219 // InternalSolverLanguageParser.g:6853:2: rule__ArgumentList__Group_2__1__Impl
16628 { 21220 {
16629 pushFollow(FOLLOW_2); 21221 pushFollow(FOLLOW_2);
16630 rule__ArgumentList__Group_2__1__Impl(); 21222 rule__ArgumentList__Group_2__1__Impl();
@@ -16650,35 +21242,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16650 21242
16651 21243
16652 // $ANTLR start "rule__ArgumentList__Group_2__1__Impl" 21244 // $ANTLR start "rule__ArgumentList__Group_2__1__Impl"
16653 // InternalSolverLanguageParser.g:5343:1: rule__ArgumentList__Group_2__1__Impl : ( ( rule__ArgumentList__Group_2_1__0 )* ) ; 21245 // InternalSolverLanguageParser.g:6859:1: rule__ArgumentList__Group_2__1__Impl : ( ( rule__ArgumentList__Group_2_1__0 )* ) ;
16654 public final void rule__ArgumentList__Group_2__1__Impl() throws RecognitionException { 21246 public final void rule__ArgumentList__Group_2__1__Impl() throws RecognitionException {
16655 21247
16656 int stackSize = keepStackSize(); 21248 int stackSize = keepStackSize();
16657 21249
16658 try { 21250 try {
16659 // InternalSolverLanguageParser.g:5347:1: ( ( ( rule__ArgumentList__Group_2_1__0 )* ) ) 21251 // InternalSolverLanguageParser.g:6863:1: ( ( ( rule__ArgumentList__Group_2_1__0 )* ) )
16660 // InternalSolverLanguageParser.g:5348:1: ( ( rule__ArgumentList__Group_2_1__0 )* ) 21252 // InternalSolverLanguageParser.g:6864:1: ( ( rule__ArgumentList__Group_2_1__0 )* )
16661 { 21253 {
16662 // InternalSolverLanguageParser.g:5348:1: ( ( rule__ArgumentList__Group_2_1__0 )* ) 21254 // InternalSolverLanguageParser.g:6864:1: ( ( rule__ArgumentList__Group_2_1__0 )* )
16663 // InternalSolverLanguageParser.g:5349:2: ( rule__ArgumentList__Group_2_1__0 )* 21255 // InternalSolverLanguageParser.g:6865:2: ( rule__ArgumentList__Group_2_1__0 )*
16664 { 21256 {
16665 before(grammarAccess.getArgumentListAccess().getGroup_2_1()); 21257 before(grammarAccess.getArgumentListAccess().getGroup_2_1());
16666 // InternalSolverLanguageParser.g:5350:2: ( rule__ArgumentList__Group_2_1__0 )* 21258 // InternalSolverLanguageParser.g:6866:2: ( rule__ArgumentList__Group_2_1__0 )*
16667 loop41: 21259 loop50:
16668 do { 21260 do {
16669 int alt41=2; 21261 int alt50=2;
16670 int LA41_0 = input.LA(1); 21262 int LA50_0 = input.LA(1);
16671 21263
16672 if ( (LA41_0==Comma) ) { 21264 if ( (LA50_0==Comma) ) {
16673 alt41=1; 21265 alt50=1;
16674 } 21266 }
16675 21267
16676 21268
16677 switch (alt41) { 21269 switch (alt50) {
16678 case 1 : 21270 case 1 :
16679 // InternalSolverLanguageParser.g:5350:3: rule__ArgumentList__Group_2_1__0 21271 // InternalSolverLanguageParser.g:6866:3: rule__ArgumentList__Group_2_1__0
16680 { 21272 {
16681 pushFollow(FOLLOW_22); 21273 pushFollow(FOLLOW_20);
16682 rule__ArgumentList__Group_2_1__0(); 21274 rule__ArgumentList__Group_2_1__0();
16683 21275
16684 state._fsp--; 21276 state._fsp--;
@@ -16688,7 +21280,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16688 break; 21280 break;
16689 21281
16690 default : 21282 default :
16691 break loop41; 21283 break loop50;
16692 } 21284 }
16693 } while (true); 21285 } while (true);
16694 21286
@@ -16715,16 +21307,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16715 21307
16716 21308
16717 // $ANTLR start "rule__ArgumentList__Group_2_1__0" 21309 // $ANTLR start "rule__ArgumentList__Group_2_1__0"
16718 // InternalSolverLanguageParser.g:5359:1: rule__ArgumentList__Group_2_1__0 : rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ; 21310 // InternalSolverLanguageParser.g:6875:1: rule__ArgumentList__Group_2_1__0 : rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ;
16719 public final void rule__ArgumentList__Group_2_1__0() throws RecognitionException { 21311 public final void rule__ArgumentList__Group_2_1__0() throws RecognitionException {
16720 21312
16721 int stackSize = keepStackSize(); 21313 int stackSize = keepStackSize();
16722 21314
16723 try { 21315 try {
16724 // InternalSolverLanguageParser.g:5363:1: ( rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ) 21316 // InternalSolverLanguageParser.g:6879:1: ( rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 )
16725 // InternalSolverLanguageParser.g:5364:2: rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 21317 // InternalSolverLanguageParser.g:6880:2: rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1
16726 { 21318 {
16727 pushFollow(FOLLOW_36); 21319 pushFollow(FOLLOW_45);
16728 rule__ArgumentList__Group_2_1__0__Impl(); 21320 rule__ArgumentList__Group_2_1__0__Impl();
16729 21321
16730 state._fsp--; 21322 state._fsp--;
@@ -16753,17 +21345,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16753 21345
16754 21346
16755 // $ANTLR start "rule__ArgumentList__Group_2_1__0__Impl" 21347 // $ANTLR start "rule__ArgumentList__Group_2_1__0__Impl"
16756 // InternalSolverLanguageParser.g:5371:1: rule__ArgumentList__Group_2_1__0__Impl : ( Comma ) ; 21348 // InternalSolverLanguageParser.g:6887:1: rule__ArgumentList__Group_2_1__0__Impl : ( Comma ) ;
16757 public final void rule__ArgumentList__Group_2_1__0__Impl() throws RecognitionException { 21349 public final void rule__ArgumentList__Group_2_1__0__Impl() throws RecognitionException {
16758 21350
16759 int stackSize = keepStackSize(); 21351 int stackSize = keepStackSize();
16760 21352
16761 try { 21353 try {
16762 // InternalSolverLanguageParser.g:5375:1: ( ( Comma ) ) 21354 // InternalSolverLanguageParser.g:6891:1: ( ( Comma ) )
16763 // InternalSolverLanguageParser.g:5376:1: ( Comma ) 21355 // InternalSolverLanguageParser.g:6892:1: ( Comma )
16764 { 21356 {
16765 // InternalSolverLanguageParser.g:5376:1: ( Comma ) 21357 // InternalSolverLanguageParser.g:6892:1: ( Comma )
16766 // InternalSolverLanguageParser.g:5377:2: Comma 21358 // InternalSolverLanguageParser.g:6893:2: Comma
16767 { 21359 {
16768 before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); 21360 before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
16769 match(input,Comma,FOLLOW_2); 21361 match(input,Comma,FOLLOW_2);
@@ -16790,14 +21382,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16790 21382
16791 21383
16792 // $ANTLR start "rule__ArgumentList__Group_2_1__1" 21384 // $ANTLR start "rule__ArgumentList__Group_2_1__1"
16793 // InternalSolverLanguageParser.g:5386:1: rule__ArgumentList__Group_2_1__1 : rule__ArgumentList__Group_2_1__1__Impl ; 21385 // InternalSolverLanguageParser.g:6902:1: rule__ArgumentList__Group_2_1__1 : rule__ArgumentList__Group_2_1__1__Impl ;
16794 public final void rule__ArgumentList__Group_2_1__1() throws RecognitionException { 21386 public final void rule__ArgumentList__Group_2_1__1() throws RecognitionException {
16795 21387
16796 int stackSize = keepStackSize(); 21388 int stackSize = keepStackSize();
16797 21389
16798 try { 21390 try {
16799 // InternalSolverLanguageParser.g:5390:1: ( rule__ArgumentList__Group_2_1__1__Impl ) 21391 // InternalSolverLanguageParser.g:6906:1: ( rule__ArgumentList__Group_2_1__1__Impl )
16800 // InternalSolverLanguageParser.g:5391:2: rule__ArgumentList__Group_2_1__1__Impl 21392 // InternalSolverLanguageParser.g:6907:2: rule__ArgumentList__Group_2_1__1__Impl
16801 { 21393 {
16802 pushFollow(FOLLOW_2); 21394 pushFollow(FOLLOW_2);
16803 rule__ArgumentList__Group_2_1__1__Impl(); 21395 rule__ArgumentList__Group_2_1__1__Impl();
@@ -16823,21 +21415,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16823 21415
16824 21416
16825 // $ANTLR start "rule__ArgumentList__Group_2_1__1__Impl" 21417 // $ANTLR start "rule__ArgumentList__Group_2_1__1__Impl"
16826 // InternalSolverLanguageParser.g:5397:1: rule__ArgumentList__Group_2_1__1__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ; 21418 // InternalSolverLanguageParser.g:6913:1: rule__ArgumentList__Group_2_1__1__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ;
16827 public final void rule__ArgumentList__Group_2_1__1__Impl() throws RecognitionException { 21419 public final void rule__ArgumentList__Group_2_1__1__Impl() throws RecognitionException {
16828 21420
16829 int stackSize = keepStackSize(); 21421 int stackSize = keepStackSize();
16830 21422
16831 try { 21423 try {
16832 // InternalSolverLanguageParser.g:5401:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ) 21424 // InternalSolverLanguageParser.g:6917:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) )
16833 // InternalSolverLanguageParser.g:5402:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) 21425 // InternalSolverLanguageParser.g:6918:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) )
16834 { 21426 {
16835 // InternalSolverLanguageParser.g:5402:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) 21427 // InternalSolverLanguageParser.g:6918:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) )
16836 // InternalSolverLanguageParser.g:5403:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) 21428 // InternalSolverLanguageParser.g:6919:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 )
16837 { 21429 {
16838 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); 21430 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1());
16839 // InternalSolverLanguageParser.g:5404:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) 21431 // InternalSolverLanguageParser.g:6920:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 )
16840 // InternalSolverLanguageParser.g:5404:3: rule__ArgumentList__ArgumentsAssignment_2_1_1 21432 // InternalSolverLanguageParser.g:6920:3: rule__ArgumentList__ArgumentsAssignment_2_1_1
16841 { 21433 {
16842 pushFollow(FOLLOW_2); 21434 pushFollow(FOLLOW_2);
16843 rule__ArgumentList__ArgumentsAssignment_2_1_1(); 21435 rule__ArgumentList__ArgumentsAssignment_2_1_1();
@@ -16870,16 +21462,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16870 21462
16871 21463
16872 // $ANTLR start "rule__StarArgument__Group__0" 21464 // $ANTLR start "rule__StarArgument__Group__0"
16873 // InternalSolverLanguageParser.g:5413:1: rule__StarArgument__Group__0 : rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ; 21465 // InternalSolverLanguageParser.g:6929:1: rule__StarArgument__Group__0 : rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ;
16874 public final void rule__StarArgument__Group__0() throws RecognitionException { 21466 public final void rule__StarArgument__Group__0() throws RecognitionException {
16875 21467
16876 int stackSize = keepStackSize(); 21468 int stackSize = keepStackSize();
16877 21469
16878 try { 21470 try {
16879 // InternalSolverLanguageParser.g:5417:1: ( rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ) 21471 // InternalSolverLanguageParser.g:6933:1: ( rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 )
16880 // InternalSolverLanguageParser.g:5418:2: rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 21472 // InternalSolverLanguageParser.g:6934:2: rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1
16881 { 21473 {
16882 pushFollow(FOLLOW_37); 21474 pushFollow(FOLLOW_46);
16883 rule__StarArgument__Group__0__Impl(); 21475 rule__StarArgument__Group__0__Impl();
16884 21476
16885 state._fsp--; 21477 state._fsp--;
@@ -16908,21 +21500,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16908 21500
16909 21501
16910 // $ANTLR start "rule__StarArgument__Group__0__Impl" 21502 // $ANTLR start "rule__StarArgument__Group__0__Impl"
16911 // InternalSolverLanguageParser.g:5425:1: rule__StarArgument__Group__0__Impl : ( () ) ; 21503 // InternalSolverLanguageParser.g:6941:1: rule__StarArgument__Group__0__Impl : ( () ) ;
16912 public final void rule__StarArgument__Group__0__Impl() throws RecognitionException { 21504 public final void rule__StarArgument__Group__0__Impl() throws RecognitionException {
16913 21505
16914 int stackSize = keepStackSize(); 21506 int stackSize = keepStackSize();
16915 21507
16916 try { 21508 try {
16917 // InternalSolverLanguageParser.g:5429:1: ( ( () ) ) 21509 // InternalSolverLanguageParser.g:6945:1: ( ( () ) )
16918 // InternalSolverLanguageParser.g:5430:1: ( () ) 21510 // InternalSolverLanguageParser.g:6946:1: ( () )
16919 { 21511 {
16920 // InternalSolverLanguageParser.g:5430:1: ( () ) 21512 // InternalSolverLanguageParser.g:6946:1: ( () )
16921 // InternalSolverLanguageParser.g:5431:2: () 21513 // InternalSolverLanguageParser.g:6947:2: ()
16922 { 21514 {
16923 before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); 21515 before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0());
16924 // InternalSolverLanguageParser.g:5432:2: () 21516 // InternalSolverLanguageParser.g:6948:2: ()
16925 // InternalSolverLanguageParser.g:5432:3: 21517 // InternalSolverLanguageParser.g:6948:3:
16926 { 21518 {
16927 } 21519 }
16928 21520
@@ -16945,14 +21537,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16945 21537
16946 21538
16947 // $ANTLR start "rule__StarArgument__Group__1" 21539 // $ANTLR start "rule__StarArgument__Group__1"
16948 // InternalSolverLanguageParser.g:5440:1: rule__StarArgument__Group__1 : rule__StarArgument__Group__1__Impl ; 21540 // InternalSolverLanguageParser.g:6956:1: rule__StarArgument__Group__1 : rule__StarArgument__Group__1__Impl ;
16949 public final void rule__StarArgument__Group__1() throws RecognitionException { 21541 public final void rule__StarArgument__Group__1() throws RecognitionException {
16950 21542
16951 int stackSize = keepStackSize(); 21543 int stackSize = keepStackSize();
16952 21544
16953 try { 21545 try {
16954 // InternalSolverLanguageParser.g:5444:1: ( rule__StarArgument__Group__1__Impl ) 21546 // InternalSolverLanguageParser.g:6960:1: ( rule__StarArgument__Group__1__Impl )
16955 // InternalSolverLanguageParser.g:5445:2: rule__StarArgument__Group__1__Impl 21547 // InternalSolverLanguageParser.g:6961:2: rule__StarArgument__Group__1__Impl
16956 { 21548 {
16957 pushFollow(FOLLOW_2); 21549 pushFollow(FOLLOW_2);
16958 rule__StarArgument__Group__1__Impl(); 21550 rule__StarArgument__Group__1__Impl();
@@ -16978,17 +21570,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16978 21570
16979 21571
16980 // $ANTLR start "rule__StarArgument__Group__1__Impl" 21572 // $ANTLR start "rule__StarArgument__Group__1__Impl"
16981 // InternalSolverLanguageParser.g:5451:1: rule__StarArgument__Group__1__Impl : ( Asterisk ) ; 21573 // InternalSolverLanguageParser.g:6967:1: rule__StarArgument__Group__1__Impl : ( Asterisk ) ;
16982 public final void rule__StarArgument__Group__1__Impl() throws RecognitionException { 21574 public final void rule__StarArgument__Group__1__Impl() throws RecognitionException {
16983 21575
16984 int stackSize = keepStackSize(); 21576 int stackSize = keepStackSize();
16985 21577
16986 try { 21578 try {
16987 // InternalSolverLanguageParser.g:5455:1: ( ( Asterisk ) ) 21579 // InternalSolverLanguageParser.g:6971:1: ( ( Asterisk ) )
16988 // InternalSolverLanguageParser.g:5456:1: ( Asterisk ) 21580 // InternalSolverLanguageParser.g:6972:1: ( Asterisk )
16989 { 21581 {
16990 // InternalSolverLanguageParser.g:5456:1: ( Asterisk ) 21582 // InternalSolverLanguageParser.g:6972:1: ( Asterisk )
16991 // InternalSolverLanguageParser.g:5457:2: Asterisk 21583 // InternalSolverLanguageParser.g:6973:2: Asterisk
16992 { 21584 {
16993 before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); 21585 before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1());
16994 match(input,Asterisk,FOLLOW_2); 21586 match(input,Asterisk,FOLLOW_2);
@@ -17015,14 +21607,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17015 21607
17016 21608
17017 // $ANTLR start "rule__TypedArgument__Group__0" 21609 // $ANTLR start "rule__TypedArgument__Group__0"
17018 // InternalSolverLanguageParser.g:5467:1: rule__TypedArgument__Group__0 : rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ; 21610 // InternalSolverLanguageParser.g:6983:1: rule__TypedArgument__Group__0 : rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ;
17019 public final void rule__TypedArgument__Group__0() throws RecognitionException { 21611 public final void rule__TypedArgument__Group__0() throws RecognitionException {
17020 21612
17021 int stackSize = keepStackSize(); 21613 int stackSize = keepStackSize();
17022 21614
17023 try { 21615 try {
17024 // InternalSolverLanguageParser.g:5471:1: ( rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ) 21616 // InternalSolverLanguageParser.g:6987:1: ( rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 )
17025 // InternalSolverLanguageParser.g:5472:2: rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 21617 // InternalSolverLanguageParser.g:6988:2: rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1
17026 { 21618 {
17027 pushFollow(FOLLOW_9); 21619 pushFollow(FOLLOW_9);
17028 rule__TypedArgument__Group__0__Impl(); 21620 rule__TypedArgument__Group__0__Impl();
@@ -17053,21 +21645,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17053 21645
17054 21646
17055 // $ANTLR start "rule__TypedArgument__Group__0__Impl" 21647 // $ANTLR start "rule__TypedArgument__Group__0__Impl"
17056 // InternalSolverLanguageParser.g:5479:1: rule__TypedArgument__Group__0__Impl : ( ( rule__TypedArgument__TypeAssignment_0 ) ) ; 21648 // InternalSolverLanguageParser.g:6995:1: rule__TypedArgument__Group__0__Impl : ( ( rule__TypedArgument__TypeAssignment_0 ) ) ;
17057 public final void rule__TypedArgument__Group__0__Impl() throws RecognitionException { 21649 public final void rule__TypedArgument__Group__0__Impl() throws RecognitionException {
17058 21650
17059 int stackSize = keepStackSize(); 21651 int stackSize = keepStackSize();
17060 21652
17061 try { 21653 try {
17062 // InternalSolverLanguageParser.g:5483:1: ( ( ( rule__TypedArgument__TypeAssignment_0 ) ) ) 21654 // InternalSolverLanguageParser.g:6999:1: ( ( ( rule__TypedArgument__TypeAssignment_0 ) ) )
17063 // InternalSolverLanguageParser.g:5484:1: ( ( rule__TypedArgument__TypeAssignment_0 ) ) 21655 // InternalSolverLanguageParser.g:7000:1: ( ( rule__TypedArgument__TypeAssignment_0 ) )
17064 { 21656 {
17065 // InternalSolverLanguageParser.g:5484:1: ( ( rule__TypedArgument__TypeAssignment_0 ) ) 21657 // InternalSolverLanguageParser.g:7000:1: ( ( rule__TypedArgument__TypeAssignment_0 ) )
17066 // InternalSolverLanguageParser.g:5485:2: ( rule__TypedArgument__TypeAssignment_0 ) 21658 // InternalSolverLanguageParser.g:7001:2: ( rule__TypedArgument__TypeAssignment_0 )
17067 { 21659 {
17068 before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); 21660 before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0());
17069 // InternalSolverLanguageParser.g:5486:2: ( rule__TypedArgument__TypeAssignment_0 ) 21661 // InternalSolverLanguageParser.g:7002:2: ( rule__TypedArgument__TypeAssignment_0 )
17070 // InternalSolverLanguageParser.g:5486:3: rule__TypedArgument__TypeAssignment_0 21662 // InternalSolverLanguageParser.g:7002:3: rule__TypedArgument__TypeAssignment_0
17071 { 21663 {
17072 pushFollow(FOLLOW_2); 21664 pushFollow(FOLLOW_2);
17073 rule__TypedArgument__TypeAssignment_0(); 21665 rule__TypedArgument__TypeAssignment_0();
@@ -17100,14 +21692,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17100 21692
17101 21693
17102 // $ANTLR start "rule__TypedArgument__Group__1" 21694 // $ANTLR start "rule__TypedArgument__Group__1"
17103 // InternalSolverLanguageParser.g:5494:1: rule__TypedArgument__Group__1 : rule__TypedArgument__Group__1__Impl ; 21695 // InternalSolverLanguageParser.g:7010:1: rule__TypedArgument__Group__1 : rule__TypedArgument__Group__1__Impl ;
17104 public final void rule__TypedArgument__Group__1() throws RecognitionException { 21696 public final void rule__TypedArgument__Group__1() throws RecognitionException {
17105 21697
17106 int stackSize = keepStackSize(); 21698 int stackSize = keepStackSize();
17107 21699
17108 try { 21700 try {
17109 // InternalSolverLanguageParser.g:5498:1: ( rule__TypedArgument__Group__1__Impl ) 21701 // InternalSolverLanguageParser.g:7014:1: ( rule__TypedArgument__Group__1__Impl )
17110 // InternalSolverLanguageParser.g:5499:2: rule__TypedArgument__Group__1__Impl 21702 // InternalSolverLanguageParser.g:7015:2: rule__TypedArgument__Group__1__Impl
17111 { 21703 {
17112 pushFollow(FOLLOW_2); 21704 pushFollow(FOLLOW_2);
17113 rule__TypedArgument__Group__1__Impl(); 21705 rule__TypedArgument__Group__1__Impl();
@@ -17133,21 +21725,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17133 21725
17134 21726
17135 // $ANTLR start "rule__TypedArgument__Group__1__Impl" 21727 // $ANTLR start "rule__TypedArgument__Group__1__Impl"
17136 // InternalSolverLanguageParser.g:5505:1: rule__TypedArgument__Group__1__Impl : ( ( rule__TypedArgument__VariableAssignment_1 ) ) ; 21728 // InternalSolverLanguageParser.g:7021:1: rule__TypedArgument__Group__1__Impl : ( ( rule__TypedArgument__VariableAssignment_1 ) ) ;
17137 public final void rule__TypedArgument__Group__1__Impl() throws RecognitionException { 21729 public final void rule__TypedArgument__Group__1__Impl() throws RecognitionException {
17138 21730
17139 int stackSize = keepStackSize(); 21731 int stackSize = keepStackSize();
17140 21732
17141 try { 21733 try {
17142 // InternalSolverLanguageParser.g:5509:1: ( ( ( rule__TypedArgument__VariableAssignment_1 ) ) ) 21734 // InternalSolverLanguageParser.g:7025:1: ( ( ( rule__TypedArgument__VariableAssignment_1 ) ) )
17143 // InternalSolverLanguageParser.g:5510:1: ( ( rule__TypedArgument__VariableAssignment_1 ) ) 21735 // InternalSolverLanguageParser.g:7026:1: ( ( rule__TypedArgument__VariableAssignment_1 ) )
17144 { 21736 {
17145 // InternalSolverLanguageParser.g:5510:1: ( ( rule__TypedArgument__VariableAssignment_1 ) ) 21737 // InternalSolverLanguageParser.g:7026:1: ( ( rule__TypedArgument__VariableAssignment_1 ) )
17146 // InternalSolverLanguageParser.g:5511:2: ( rule__TypedArgument__VariableAssignment_1 ) 21738 // InternalSolverLanguageParser.g:7027:2: ( rule__TypedArgument__VariableAssignment_1 )
17147 { 21739 {
17148 before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); 21740 before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1());
17149 // InternalSolverLanguageParser.g:5512:2: ( rule__TypedArgument__VariableAssignment_1 ) 21741 // InternalSolverLanguageParser.g:7028:2: ( rule__TypedArgument__VariableAssignment_1 )
17150 // InternalSolverLanguageParser.g:5512:3: rule__TypedArgument__VariableAssignment_1 21742 // InternalSolverLanguageParser.g:7028:3: rule__TypedArgument__VariableAssignment_1
17151 { 21743 {
17152 pushFollow(FOLLOW_2); 21744 pushFollow(FOLLOW_2);
17153 rule__TypedArgument__VariableAssignment_1(); 21745 rule__TypedArgument__VariableAssignment_1();
@@ -17180,16 +21772,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17180 21772
17181 21773
17182 // $ANTLR start "rule__TypedStarArgument__Group__0" 21774 // $ANTLR start "rule__TypedStarArgument__Group__0"
17183 // InternalSolverLanguageParser.g:5521:1: rule__TypedStarArgument__Group__0 : rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ; 21775 // InternalSolverLanguageParser.g:7037:1: rule__TypedStarArgument__Group__0 : rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ;
17184 public final void rule__TypedStarArgument__Group__0() throws RecognitionException { 21776 public final void rule__TypedStarArgument__Group__0() throws RecognitionException {
17185 21777
17186 int stackSize = keepStackSize(); 21778 int stackSize = keepStackSize();
17187 21779
17188 try { 21780 try {
17189 // InternalSolverLanguageParser.g:5525:1: ( rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ) 21781 // InternalSolverLanguageParser.g:7041:1: ( rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 )
17190 // InternalSolverLanguageParser.g:5526:2: rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 21782 // InternalSolverLanguageParser.g:7042:2: rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1
17191 { 21783 {
17192 pushFollow(FOLLOW_37); 21784 pushFollow(FOLLOW_46);
17193 rule__TypedStarArgument__Group__0__Impl(); 21785 rule__TypedStarArgument__Group__0__Impl();
17194 21786
17195 state._fsp--; 21787 state._fsp--;
@@ -17218,21 +21810,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17218 21810
17219 21811
17220 // $ANTLR start "rule__TypedStarArgument__Group__0__Impl" 21812 // $ANTLR start "rule__TypedStarArgument__Group__0__Impl"
17221 // InternalSolverLanguageParser.g:5533:1: rule__TypedStarArgument__Group__0__Impl : ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ; 21813 // InternalSolverLanguageParser.g:7049:1: rule__TypedStarArgument__Group__0__Impl : ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ;
17222 public final void rule__TypedStarArgument__Group__0__Impl() throws RecognitionException { 21814 public final void rule__TypedStarArgument__Group__0__Impl() throws RecognitionException {
17223 21815
17224 int stackSize = keepStackSize(); 21816 int stackSize = keepStackSize();
17225 21817
17226 try { 21818 try {
17227 // InternalSolverLanguageParser.g:5537:1: ( ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ) 21819 // InternalSolverLanguageParser.g:7053:1: ( ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) )
17228 // InternalSolverLanguageParser.g:5538:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) 21820 // InternalSolverLanguageParser.g:7054:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) )
17229 { 21821 {
17230 // InternalSolverLanguageParser.g:5538:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) 21822 // InternalSolverLanguageParser.g:7054:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) )
17231 // InternalSolverLanguageParser.g:5539:2: ( rule__TypedStarArgument__TypeAssignment_0 ) 21823 // InternalSolverLanguageParser.g:7055:2: ( rule__TypedStarArgument__TypeAssignment_0 )
17232 { 21824 {
17233 before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); 21825 before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0());
17234 // InternalSolverLanguageParser.g:5540:2: ( rule__TypedStarArgument__TypeAssignment_0 ) 21826 // InternalSolverLanguageParser.g:7056:2: ( rule__TypedStarArgument__TypeAssignment_0 )
17235 // InternalSolverLanguageParser.g:5540:3: rule__TypedStarArgument__TypeAssignment_0 21827 // InternalSolverLanguageParser.g:7056:3: rule__TypedStarArgument__TypeAssignment_0
17236 { 21828 {
17237 pushFollow(FOLLOW_2); 21829 pushFollow(FOLLOW_2);
17238 rule__TypedStarArgument__TypeAssignment_0(); 21830 rule__TypedStarArgument__TypeAssignment_0();
@@ -17265,14 +21857,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17265 21857
17266 21858
17267 // $ANTLR start "rule__TypedStarArgument__Group__1" 21859 // $ANTLR start "rule__TypedStarArgument__Group__1"
17268 // InternalSolverLanguageParser.g:5548:1: rule__TypedStarArgument__Group__1 : rule__TypedStarArgument__Group__1__Impl ; 21860 // InternalSolverLanguageParser.g:7064:1: rule__TypedStarArgument__Group__1 : rule__TypedStarArgument__Group__1__Impl ;
17269 public final void rule__TypedStarArgument__Group__1() throws RecognitionException { 21861 public final void rule__TypedStarArgument__Group__1() throws RecognitionException {
17270 21862
17271 int stackSize = keepStackSize(); 21863 int stackSize = keepStackSize();
17272 21864
17273 try { 21865 try {
17274 // InternalSolverLanguageParser.g:5552:1: ( rule__TypedStarArgument__Group__1__Impl ) 21866 // InternalSolverLanguageParser.g:7068:1: ( rule__TypedStarArgument__Group__1__Impl )
17275 // InternalSolverLanguageParser.g:5553:2: rule__TypedStarArgument__Group__1__Impl 21867 // InternalSolverLanguageParser.g:7069:2: rule__TypedStarArgument__Group__1__Impl
17276 { 21868 {
17277 pushFollow(FOLLOW_2); 21869 pushFollow(FOLLOW_2);
17278 rule__TypedStarArgument__Group__1__Impl(); 21870 rule__TypedStarArgument__Group__1__Impl();
@@ -17298,17 +21890,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17298 21890
17299 21891
17300 // $ANTLR start "rule__TypedStarArgument__Group__1__Impl" 21892 // $ANTLR start "rule__TypedStarArgument__Group__1__Impl"
17301 // InternalSolverLanguageParser.g:5559:1: rule__TypedStarArgument__Group__1__Impl : ( Asterisk ) ; 21893 // InternalSolverLanguageParser.g:7075:1: rule__TypedStarArgument__Group__1__Impl : ( Asterisk ) ;
17302 public final void rule__TypedStarArgument__Group__1__Impl() throws RecognitionException { 21894 public final void rule__TypedStarArgument__Group__1__Impl() throws RecognitionException {
17303 21895
17304 int stackSize = keepStackSize(); 21896 int stackSize = keepStackSize();
17305 21897
17306 try { 21898 try {
17307 // InternalSolverLanguageParser.g:5563:1: ( ( Asterisk ) ) 21899 // InternalSolverLanguageParser.g:7079:1: ( ( Asterisk ) )
17308 // InternalSolverLanguageParser.g:5564:1: ( Asterisk ) 21900 // InternalSolverLanguageParser.g:7080:1: ( Asterisk )
17309 { 21901 {
17310 // InternalSolverLanguageParser.g:5564:1: ( Asterisk ) 21902 // InternalSolverLanguageParser.g:7080:1: ( Asterisk )
17311 // InternalSolverLanguageParser.g:5565:2: Asterisk 21903 // InternalSolverLanguageParser.g:7081:2: Asterisk
17312 { 21904 {
17313 before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); 21905 before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1());
17314 match(input,Asterisk,FOLLOW_2); 21906 match(input,Asterisk,FOLLOW_2);
@@ -17335,14 +21927,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17335 21927
17336 21928
17337 // $ANTLR start "rule__Interval__Group__0" 21929 // $ANTLR start "rule__Interval__Group__0"
17338 // InternalSolverLanguageParser.g:5575:1: rule__Interval__Group__0 : rule__Interval__Group__0__Impl rule__Interval__Group__1 ; 21930 // InternalSolverLanguageParser.g:7091:1: rule__Interval__Group__0 : rule__Interval__Group__0__Impl rule__Interval__Group__1 ;
17339 public final void rule__Interval__Group__0() throws RecognitionException { 21931 public final void rule__Interval__Group__0() throws RecognitionException {
17340 21932
17341 int stackSize = keepStackSize(); 21933 int stackSize = keepStackSize();
17342 21934
17343 try { 21935 try {
17344 // InternalSolverLanguageParser.g:5579:1: ( rule__Interval__Group__0__Impl rule__Interval__Group__1 ) 21936 // InternalSolverLanguageParser.g:7095:1: ( rule__Interval__Group__0__Impl rule__Interval__Group__1 )
17345 // InternalSolverLanguageParser.g:5580:2: rule__Interval__Group__0__Impl rule__Interval__Group__1 21937 // InternalSolverLanguageParser.g:7096:2: rule__Interval__Group__0__Impl rule__Interval__Group__1
17346 { 21938 {
17347 pushFollow(FOLLOW_7); 21939 pushFollow(FOLLOW_7);
17348 rule__Interval__Group__0__Impl(); 21940 rule__Interval__Group__0__Impl();
@@ -17373,17 +21965,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17373 21965
17374 21966
17375 // $ANTLR start "rule__Interval__Group__0__Impl" 21967 // $ANTLR start "rule__Interval__Group__0__Impl"
17376 // InternalSolverLanguageParser.g:5587:1: rule__Interval__Group__0__Impl : ( LeftSquareBracket ) ; 21968 // InternalSolverLanguageParser.g:7103:1: rule__Interval__Group__0__Impl : ( LeftSquareBracket ) ;
17377 public final void rule__Interval__Group__0__Impl() throws RecognitionException { 21969 public final void rule__Interval__Group__0__Impl() throws RecognitionException {
17378 21970
17379 int stackSize = keepStackSize(); 21971 int stackSize = keepStackSize();
17380 21972
17381 try { 21973 try {
17382 // InternalSolverLanguageParser.g:5591:1: ( ( LeftSquareBracket ) ) 21974 // InternalSolverLanguageParser.g:7107:1: ( ( LeftSquareBracket ) )
17383 // InternalSolverLanguageParser.g:5592:1: ( LeftSquareBracket ) 21975 // InternalSolverLanguageParser.g:7108:1: ( LeftSquareBracket )
17384 { 21976 {
17385 // InternalSolverLanguageParser.g:5592:1: ( LeftSquareBracket ) 21977 // InternalSolverLanguageParser.g:7108:1: ( LeftSquareBracket )
17386 // InternalSolverLanguageParser.g:5593:2: LeftSquareBracket 21978 // InternalSolverLanguageParser.g:7109:2: LeftSquareBracket
17387 { 21979 {
17388 before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); 21980 before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
17389 match(input,LeftSquareBracket,FOLLOW_2); 21981 match(input,LeftSquareBracket,FOLLOW_2);
@@ -17410,16 +22002,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17410 22002
17411 22003
17412 // $ANTLR start "rule__Interval__Group__1" 22004 // $ANTLR start "rule__Interval__Group__1"
17413 // InternalSolverLanguageParser.g:5602:1: rule__Interval__Group__1 : rule__Interval__Group__1__Impl rule__Interval__Group__2 ; 22005 // InternalSolverLanguageParser.g:7118:1: rule__Interval__Group__1 : rule__Interval__Group__1__Impl rule__Interval__Group__2 ;
17414 public final void rule__Interval__Group__1() throws RecognitionException { 22006 public final void rule__Interval__Group__1() throws RecognitionException {
17415 22007
17416 int stackSize = keepStackSize(); 22008 int stackSize = keepStackSize();
17417 22009
17418 try { 22010 try {
17419 // InternalSolverLanguageParser.g:5606:1: ( rule__Interval__Group__1__Impl rule__Interval__Group__2 ) 22011 // InternalSolverLanguageParser.g:7122:1: ( rule__Interval__Group__1__Impl rule__Interval__Group__2 )
17420 // InternalSolverLanguageParser.g:5607:2: rule__Interval__Group__1__Impl rule__Interval__Group__2 22012 // InternalSolverLanguageParser.g:7123:2: rule__Interval__Group__1__Impl rule__Interval__Group__2
17421 { 22013 {
17422 pushFollow(FOLLOW_38); 22014 pushFollow(FOLLOW_47);
17423 rule__Interval__Group__1__Impl(); 22015 rule__Interval__Group__1__Impl();
17424 22016
17425 state._fsp--; 22017 state._fsp--;
@@ -17448,21 +22040,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17448 22040
17449 22041
17450 // $ANTLR start "rule__Interval__Group__1__Impl" 22042 // $ANTLR start "rule__Interval__Group__1__Impl"
17451 // InternalSolverLanguageParser.g:5614:1: rule__Interval__Group__1__Impl : ( ( rule__Interval__LowerBoundAssignment_1 ) ) ; 22043 // InternalSolverLanguageParser.g:7130:1: rule__Interval__Group__1__Impl : ( ( rule__Interval__LowerBoundAssignment_1 ) ) ;
17452 public final void rule__Interval__Group__1__Impl() throws RecognitionException { 22044 public final void rule__Interval__Group__1__Impl() throws RecognitionException {
17453 22045
17454 int stackSize = keepStackSize(); 22046 int stackSize = keepStackSize();
17455 22047
17456 try { 22048 try {
17457 // InternalSolverLanguageParser.g:5618:1: ( ( ( rule__Interval__LowerBoundAssignment_1 ) ) ) 22049 // InternalSolverLanguageParser.g:7134:1: ( ( ( rule__Interval__LowerBoundAssignment_1 ) ) )
17458 // InternalSolverLanguageParser.g:5619:1: ( ( rule__Interval__LowerBoundAssignment_1 ) ) 22050 // InternalSolverLanguageParser.g:7135:1: ( ( rule__Interval__LowerBoundAssignment_1 ) )
17459 { 22051 {
17460 // InternalSolverLanguageParser.g:5619:1: ( ( rule__Interval__LowerBoundAssignment_1 ) ) 22052 // InternalSolverLanguageParser.g:7135:1: ( ( rule__Interval__LowerBoundAssignment_1 ) )
17461 // InternalSolverLanguageParser.g:5620:2: ( rule__Interval__LowerBoundAssignment_1 ) 22053 // InternalSolverLanguageParser.g:7136:2: ( rule__Interval__LowerBoundAssignment_1 )
17462 { 22054 {
17463 before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); 22055 before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1());
17464 // InternalSolverLanguageParser.g:5621:2: ( rule__Interval__LowerBoundAssignment_1 ) 22056 // InternalSolverLanguageParser.g:7137:2: ( rule__Interval__LowerBoundAssignment_1 )
17465 // InternalSolverLanguageParser.g:5621:3: rule__Interval__LowerBoundAssignment_1 22057 // InternalSolverLanguageParser.g:7137:3: rule__Interval__LowerBoundAssignment_1
17466 { 22058 {
17467 pushFollow(FOLLOW_2); 22059 pushFollow(FOLLOW_2);
17468 rule__Interval__LowerBoundAssignment_1(); 22060 rule__Interval__LowerBoundAssignment_1();
@@ -17495,14 +22087,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17495 22087
17496 22088
17497 // $ANTLR start "rule__Interval__Group__2" 22089 // $ANTLR start "rule__Interval__Group__2"
17498 // InternalSolverLanguageParser.g:5629:1: rule__Interval__Group__2 : rule__Interval__Group__2__Impl rule__Interval__Group__3 ; 22090 // InternalSolverLanguageParser.g:7145:1: rule__Interval__Group__2 : rule__Interval__Group__2__Impl rule__Interval__Group__3 ;
17499 public final void rule__Interval__Group__2() throws RecognitionException { 22091 public final void rule__Interval__Group__2() throws RecognitionException {
17500 22092
17501 int stackSize = keepStackSize(); 22093 int stackSize = keepStackSize();
17502 22094
17503 try { 22095 try {
17504 // InternalSolverLanguageParser.g:5633:1: ( rule__Interval__Group__2__Impl rule__Interval__Group__3 ) 22096 // InternalSolverLanguageParser.g:7149:1: ( rule__Interval__Group__2__Impl rule__Interval__Group__3 )
17505 // InternalSolverLanguageParser.g:5634:2: rule__Interval__Group__2__Impl rule__Interval__Group__3 22097 // InternalSolverLanguageParser.g:7150:2: rule__Interval__Group__2__Impl rule__Interval__Group__3
17506 { 22098 {
17507 pushFollow(FOLLOW_7); 22099 pushFollow(FOLLOW_7);
17508 rule__Interval__Group__2__Impl(); 22100 rule__Interval__Group__2__Impl();
@@ -17533,17 +22125,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17533 22125
17534 22126
17535 // $ANTLR start "rule__Interval__Group__2__Impl" 22127 // $ANTLR start "rule__Interval__Group__2__Impl"
17536 // InternalSolverLanguageParser.g:5641:1: rule__Interval__Group__2__Impl : ( FullStopFullStop ) ; 22128 // InternalSolverLanguageParser.g:7157:1: rule__Interval__Group__2__Impl : ( FullStopFullStop ) ;
17537 public final void rule__Interval__Group__2__Impl() throws RecognitionException { 22129 public final void rule__Interval__Group__2__Impl() throws RecognitionException {
17538 22130
17539 int stackSize = keepStackSize(); 22131 int stackSize = keepStackSize();
17540 22132
17541 try { 22133 try {
17542 // InternalSolverLanguageParser.g:5645:1: ( ( FullStopFullStop ) ) 22134 // InternalSolverLanguageParser.g:7161:1: ( ( FullStopFullStop ) )
17543 // InternalSolverLanguageParser.g:5646:1: ( FullStopFullStop ) 22135 // InternalSolverLanguageParser.g:7162:1: ( FullStopFullStop )
17544 { 22136 {
17545 // InternalSolverLanguageParser.g:5646:1: ( FullStopFullStop ) 22137 // InternalSolverLanguageParser.g:7162:1: ( FullStopFullStop )
17546 // InternalSolverLanguageParser.g:5647:2: FullStopFullStop 22138 // InternalSolverLanguageParser.g:7163:2: FullStopFullStop
17547 { 22139 {
17548 before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 22140 before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
17549 match(input,FullStopFullStop,FOLLOW_2); 22141 match(input,FullStopFullStop,FOLLOW_2);
@@ -17570,16 +22162,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17570 22162
17571 22163
17572 // $ANTLR start "rule__Interval__Group__3" 22164 // $ANTLR start "rule__Interval__Group__3"
17573 // InternalSolverLanguageParser.g:5656:1: rule__Interval__Group__3 : rule__Interval__Group__3__Impl rule__Interval__Group__4 ; 22165 // InternalSolverLanguageParser.g:7172:1: rule__Interval__Group__3 : rule__Interval__Group__3__Impl rule__Interval__Group__4 ;
17574 public final void rule__Interval__Group__3() throws RecognitionException { 22166 public final void rule__Interval__Group__3() throws RecognitionException {
17575 22167
17576 int stackSize = keepStackSize(); 22168 int stackSize = keepStackSize();
17577 22169
17578 try { 22170 try {
17579 // InternalSolverLanguageParser.g:5660:1: ( rule__Interval__Group__3__Impl rule__Interval__Group__4 ) 22171 // InternalSolverLanguageParser.g:7176:1: ( rule__Interval__Group__3__Impl rule__Interval__Group__4 )
17580 // InternalSolverLanguageParser.g:5661:2: rule__Interval__Group__3__Impl rule__Interval__Group__4 22172 // InternalSolverLanguageParser.g:7177:2: rule__Interval__Group__3__Impl rule__Interval__Group__4
17581 { 22173 {
17582 pushFollow(FOLLOW_39); 22174 pushFollow(FOLLOW_48);
17583 rule__Interval__Group__3__Impl(); 22175 rule__Interval__Group__3__Impl();
17584 22176
17585 state._fsp--; 22177 state._fsp--;
@@ -17608,21 +22200,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17608 22200
17609 22201
17610 // $ANTLR start "rule__Interval__Group__3__Impl" 22202 // $ANTLR start "rule__Interval__Group__3__Impl"
17611 // InternalSolverLanguageParser.g:5668:1: rule__Interval__Group__3__Impl : ( ( rule__Interval__UpperBoundAssignment_3 ) ) ; 22203 // InternalSolverLanguageParser.g:7184:1: rule__Interval__Group__3__Impl : ( ( rule__Interval__UpperBoundAssignment_3 ) ) ;
17612 public final void rule__Interval__Group__3__Impl() throws RecognitionException { 22204 public final void rule__Interval__Group__3__Impl() throws RecognitionException {
17613 22205
17614 int stackSize = keepStackSize(); 22206 int stackSize = keepStackSize();
17615 22207
17616 try { 22208 try {
17617 // InternalSolverLanguageParser.g:5672:1: ( ( ( rule__Interval__UpperBoundAssignment_3 ) ) ) 22209 // InternalSolverLanguageParser.g:7188:1: ( ( ( rule__Interval__UpperBoundAssignment_3 ) ) )
17618 // InternalSolverLanguageParser.g:5673:1: ( ( rule__Interval__UpperBoundAssignment_3 ) ) 22210 // InternalSolverLanguageParser.g:7189:1: ( ( rule__Interval__UpperBoundAssignment_3 ) )
17619 { 22211 {
17620 // InternalSolverLanguageParser.g:5673:1: ( ( rule__Interval__UpperBoundAssignment_3 ) ) 22212 // InternalSolverLanguageParser.g:7189:1: ( ( rule__Interval__UpperBoundAssignment_3 ) )
17621 // InternalSolverLanguageParser.g:5674:2: ( rule__Interval__UpperBoundAssignment_3 ) 22213 // InternalSolverLanguageParser.g:7190:2: ( rule__Interval__UpperBoundAssignment_3 )
17622 { 22214 {
17623 before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); 22215 before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3());
17624 // InternalSolverLanguageParser.g:5675:2: ( rule__Interval__UpperBoundAssignment_3 ) 22216 // InternalSolverLanguageParser.g:7191:2: ( rule__Interval__UpperBoundAssignment_3 )
17625 // InternalSolverLanguageParser.g:5675:3: rule__Interval__UpperBoundAssignment_3 22217 // InternalSolverLanguageParser.g:7191:3: rule__Interval__UpperBoundAssignment_3
17626 { 22218 {
17627 pushFollow(FOLLOW_2); 22219 pushFollow(FOLLOW_2);
17628 rule__Interval__UpperBoundAssignment_3(); 22220 rule__Interval__UpperBoundAssignment_3();
@@ -17655,14 +22247,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17655 22247
17656 22248
17657 // $ANTLR start "rule__Interval__Group__4" 22249 // $ANTLR start "rule__Interval__Group__4"
17658 // InternalSolverLanguageParser.g:5683:1: rule__Interval__Group__4 : rule__Interval__Group__4__Impl ; 22250 // InternalSolverLanguageParser.g:7199:1: rule__Interval__Group__4 : rule__Interval__Group__4__Impl ;
17659 public final void rule__Interval__Group__4() throws RecognitionException { 22251 public final void rule__Interval__Group__4() throws RecognitionException {
17660 22252
17661 int stackSize = keepStackSize(); 22253 int stackSize = keepStackSize();
17662 22254
17663 try { 22255 try {
17664 // InternalSolverLanguageParser.g:5687:1: ( rule__Interval__Group__4__Impl ) 22256 // InternalSolverLanguageParser.g:7203:1: ( rule__Interval__Group__4__Impl )
17665 // InternalSolverLanguageParser.g:5688:2: rule__Interval__Group__4__Impl 22257 // InternalSolverLanguageParser.g:7204:2: rule__Interval__Group__4__Impl
17666 { 22258 {
17667 pushFollow(FOLLOW_2); 22259 pushFollow(FOLLOW_2);
17668 rule__Interval__Group__4__Impl(); 22260 rule__Interval__Group__4__Impl();
@@ -17688,17 +22280,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17688 22280
17689 22281
17690 // $ANTLR start "rule__Interval__Group__4__Impl" 22282 // $ANTLR start "rule__Interval__Group__4__Impl"
17691 // InternalSolverLanguageParser.g:5694:1: rule__Interval__Group__4__Impl : ( RightSquareBracket ) ; 22283 // InternalSolverLanguageParser.g:7210:1: rule__Interval__Group__4__Impl : ( RightSquareBracket ) ;
17692 public final void rule__Interval__Group__4__Impl() throws RecognitionException { 22284 public final void rule__Interval__Group__4__Impl() throws RecognitionException {
17693 22285
17694 int stackSize = keepStackSize(); 22286 int stackSize = keepStackSize();
17695 22287
17696 try { 22288 try {
17697 // InternalSolverLanguageParser.g:5698:1: ( ( RightSquareBracket ) ) 22289 // InternalSolverLanguageParser.g:7214:1: ( ( RightSquareBracket ) )
17698 // InternalSolverLanguageParser.g:5699:1: ( RightSquareBracket ) 22290 // InternalSolverLanguageParser.g:7215:1: ( RightSquareBracket )
17699 { 22291 {
17700 // InternalSolverLanguageParser.g:5699:1: ( RightSquareBracket ) 22292 // InternalSolverLanguageParser.g:7215:1: ( RightSquareBracket )
17701 // InternalSolverLanguageParser.g:5700:2: RightSquareBracket 22293 // InternalSolverLanguageParser.g:7216:2: RightSquareBracket
17702 { 22294 {
17703 before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); 22295 before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4());
17704 match(input,RightSquareBracket,FOLLOW_2); 22296 match(input,RightSquareBracket,FOLLOW_2);
@@ -17725,16 +22317,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17725 22317
17726 22318
17727 // $ANTLR start "rule__InfinityLiteral__Group__0" 22319 // $ANTLR start "rule__InfinityLiteral__Group__0"
17728 // InternalSolverLanguageParser.g:5710:1: rule__InfinityLiteral__Group__0 : rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ; 22320 // InternalSolverLanguageParser.g:7226:1: rule__InfinityLiteral__Group__0 : rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ;
17729 public final void rule__InfinityLiteral__Group__0() throws RecognitionException { 22321 public final void rule__InfinityLiteral__Group__0() throws RecognitionException {
17730 22322
17731 int stackSize = keepStackSize(); 22323 int stackSize = keepStackSize();
17732 22324
17733 try { 22325 try {
17734 // InternalSolverLanguageParser.g:5714:1: ( rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ) 22326 // InternalSolverLanguageParser.g:7230:1: ( rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 )
17735 // InternalSolverLanguageParser.g:5715:2: rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 22327 // InternalSolverLanguageParser.g:7231:2: rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1
17736 { 22328 {
17737 pushFollow(FOLLOW_40); 22329 pushFollow(FOLLOW_49);
17738 rule__InfinityLiteral__Group__0__Impl(); 22330 rule__InfinityLiteral__Group__0__Impl();
17739 22331
17740 state._fsp--; 22332 state._fsp--;
@@ -17763,21 +22355,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17763 22355
17764 22356
17765 // $ANTLR start "rule__InfinityLiteral__Group__0__Impl" 22357 // $ANTLR start "rule__InfinityLiteral__Group__0__Impl"
17766 // InternalSolverLanguageParser.g:5722:1: rule__InfinityLiteral__Group__0__Impl : ( () ) ; 22358 // InternalSolverLanguageParser.g:7238:1: rule__InfinityLiteral__Group__0__Impl : ( () ) ;
17767 public final void rule__InfinityLiteral__Group__0__Impl() throws RecognitionException { 22359 public final void rule__InfinityLiteral__Group__0__Impl() throws RecognitionException {
17768 22360
17769 int stackSize = keepStackSize(); 22361 int stackSize = keepStackSize();
17770 22362
17771 try { 22363 try {
17772 // InternalSolverLanguageParser.g:5726:1: ( ( () ) ) 22364 // InternalSolverLanguageParser.g:7242:1: ( ( () ) )
17773 // InternalSolverLanguageParser.g:5727:1: ( () ) 22365 // InternalSolverLanguageParser.g:7243:1: ( () )
17774 { 22366 {
17775 // InternalSolverLanguageParser.g:5727:1: ( () ) 22367 // InternalSolverLanguageParser.g:7243:1: ( () )
17776 // InternalSolverLanguageParser.g:5728:2: () 22368 // InternalSolverLanguageParser.g:7244:2: ()
17777 { 22369 {
17778 before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); 22370 before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0());
17779 // InternalSolverLanguageParser.g:5729:2: () 22371 // InternalSolverLanguageParser.g:7245:2: ()
17780 // InternalSolverLanguageParser.g:5729:3: 22372 // InternalSolverLanguageParser.g:7245:3:
17781 { 22373 {
17782 } 22374 }
17783 22375
@@ -17800,14 +22392,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17800 22392
17801 22393
17802 // $ANTLR start "rule__InfinityLiteral__Group__1" 22394 // $ANTLR start "rule__InfinityLiteral__Group__1"
17803 // InternalSolverLanguageParser.g:5737:1: rule__InfinityLiteral__Group__1 : rule__InfinityLiteral__Group__1__Impl ; 22395 // InternalSolverLanguageParser.g:7253:1: rule__InfinityLiteral__Group__1 : rule__InfinityLiteral__Group__1__Impl ;
17804 public final void rule__InfinityLiteral__Group__1() throws RecognitionException { 22396 public final void rule__InfinityLiteral__Group__1() throws RecognitionException {
17805 22397
17806 int stackSize = keepStackSize(); 22398 int stackSize = keepStackSize();
17807 22399
17808 try { 22400 try {
17809 // InternalSolverLanguageParser.g:5741:1: ( rule__InfinityLiteral__Group__1__Impl ) 22401 // InternalSolverLanguageParser.g:7257:1: ( rule__InfinityLiteral__Group__1__Impl )
17810 // InternalSolverLanguageParser.g:5742:2: rule__InfinityLiteral__Group__1__Impl 22402 // InternalSolverLanguageParser.g:7258:2: rule__InfinityLiteral__Group__1__Impl
17811 { 22403 {
17812 pushFollow(FOLLOW_2); 22404 pushFollow(FOLLOW_2);
17813 rule__InfinityLiteral__Group__1__Impl(); 22405 rule__InfinityLiteral__Group__1__Impl();
@@ -17833,17 +22425,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17833 22425
17834 22426
17835 // $ANTLR start "rule__InfinityLiteral__Group__1__Impl" 22427 // $ANTLR start "rule__InfinityLiteral__Group__1__Impl"
17836 // InternalSolverLanguageParser.g:5748:1: rule__InfinityLiteral__Group__1__Impl : ( Inf ) ; 22428 // InternalSolverLanguageParser.g:7264:1: rule__InfinityLiteral__Group__1__Impl : ( Inf ) ;
17837 public final void rule__InfinityLiteral__Group__1__Impl() throws RecognitionException { 22429 public final void rule__InfinityLiteral__Group__1__Impl() throws RecognitionException {
17838 22430
17839 int stackSize = keepStackSize(); 22431 int stackSize = keepStackSize();
17840 22432
17841 try { 22433 try {
17842 // InternalSolverLanguageParser.g:5752:1: ( ( Inf ) ) 22434 // InternalSolverLanguageParser.g:7268:1: ( ( Inf ) )
17843 // InternalSolverLanguageParser.g:5753:1: ( Inf ) 22435 // InternalSolverLanguageParser.g:7269:1: ( Inf )
17844 { 22436 {
17845 // InternalSolverLanguageParser.g:5753:1: ( Inf ) 22437 // InternalSolverLanguageParser.g:7269:1: ( Inf )
17846 // InternalSolverLanguageParser.g:5754:2: Inf 22438 // InternalSolverLanguageParser.g:7270:2: Inf
17847 { 22439 {
17848 before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); 22440 before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1());
17849 match(input,Inf,FOLLOW_2); 22441 match(input,Inf,FOLLOW_2);
@@ -17870,16 +22462,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17870 22462
17871 22463
17872 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0" 22464 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0"
17873 // InternalSolverLanguageParser.g:5764:1: rule__EmptyIntervalLiteral__Group__0 : rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ; 22465 // InternalSolverLanguageParser.g:7280:1: rule__EmptyIntervalLiteral__Group__0 : rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ;
17874 public final void rule__EmptyIntervalLiteral__Group__0() throws RecognitionException { 22466 public final void rule__EmptyIntervalLiteral__Group__0() throws RecognitionException {
17875 22467
17876 int stackSize = keepStackSize(); 22468 int stackSize = keepStackSize();
17877 22469
17878 try { 22470 try {
17879 // InternalSolverLanguageParser.g:5768:1: ( rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ) 22471 // InternalSolverLanguageParser.g:7284:1: ( rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 )
17880 // InternalSolverLanguageParser.g:5769:2: rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 22472 // InternalSolverLanguageParser.g:7285:2: rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1
17881 { 22473 {
17882 pushFollow(FOLLOW_41); 22474 pushFollow(FOLLOW_50);
17883 rule__EmptyIntervalLiteral__Group__0__Impl(); 22475 rule__EmptyIntervalLiteral__Group__0__Impl();
17884 22476
17885 state._fsp--; 22477 state._fsp--;
@@ -17908,21 +22500,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17908 22500
17909 22501
17910 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0__Impl" 22502 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0__Impl"
17911 // InternalSolverLanguageParser.g:5776:1: rule__EmptyIntervalLiteral__Group__0__Impl : ( () ) ; 22503 // InternalSolverLanguageParser.g:7292:1: rule__EmptyIntervalLiteral__Group__0__Impl : ( () ) ;
17912 public final void rule__EmptyIntervalLiteral__Group__0__Impl() throws RecognitionException { 22504 public final void rule__EmptyIntervalLiteral__Group__0__Impl() throws RecognitionException {
17913 22505
17914 int stackSize = keepStackSize(); 22506 int stackSize = keepStackSize();
17915 22507
17916 try { 22508 try {
17917 // InternalSolverLanguageParser.g:5780:1: ( ( () ) ) 22509 // InternalSolverLanguageParser.g:7296:1: ( ( () ) )
17918 // InternalSolverLanguageParser.g:5781:1: ( () ) 22510 // InternalSolverLanguageParser.g:7297:1: ( () )
17919 { 22511 {
17920 // InternalSolverLanguageParser.g:5781:1: ( () ) 22512 // InternalSolverLanguageParser.g:7297:1: ( () )
17921 // InternalSolverLanguageParser.g:5782:2: () 22513 // InternalSolverLanguageParser.g:7298:2: ()
17922 { 22514 {
17923 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); 22515 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0());
17924 // InternalSolverLanguageParser.g:5783:2: () 22516 // InternalSolverLanguageParser.g:7299:2: ()
17925 // InternalSolverLanguageParser.g:5783:3: 22517 // InternalSolverLanguageParser.g:7299:3:
17926 { 22518 {
17927 } 22519 }
17928 22520
@@ -17945,14 +22537,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17945 22537
17946 22538
17947 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1" 22539 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1"
17948 // InternalSolverLanguageParser.g:5791:1: rule__EmptyIntervalLiteral__Group__1 : rule__EmptyIntervalLiteral__Group__1__Impl ; 22540 // InternalSolverLanguageParser.g:7307:1: rule__EmptyIntervalLiteral__Group__1 : rule__EmptyIntervalLiteral__Group__1__Impl ;
17949 public final void rule__EmptyIntervalLiteral__Group__1() throws RecognitionException { 22541 public final void rule__EmptyIntervalLiteral__Group__1() throws RecognitionException {
17950 22542
17951 int stackSize = keepStackSize(); 22543 int stackSize = keepStackSize();
17952 22544
17953 try { 22545 try {
17954 // InternalSolverLanguageParser.g:5795:1: ( rule__EmptyIntervalLiteral__Group__1__Impl ) 22546 // InternalSolverLanguageParser.g:7311:1: ( rule__EmptyIntervalLiteral__Group__1__Impl )
17955 // InternalSolverLanguageParser.g:5796:2: rule__EmptyIntervalLiteral__Group__1__Impl 22547 // InternalSolverLanguageParser.g:7312:2: rule__EmptyIntervalLiteral__Group__1__Impl
17956 { 22548 {
17957 pushFollow(FOLLOW_2); 22549 pushFollow(FOLLOW_2);
17958 rule__EmptyIntervalLiteral__Group__1__Impl(); 22550 rule__EmptyIntervalLiteral__Group__1__Impl();
@@ -17978,17 +22570,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17978 22570
17979 22571
17980 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1__Impl" 22572 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1__Impl"
17981 // InternalSolverLanguageParser.g:5802:1: rule__EmptyIntervalLiteral__Group__1__Impl : ( Empty ) ; 22573 // InternalSolverLanguageParser.g:7318:1: rule__EmptyIntervalLiteral__Group__1__Impl : ( Empty ) ;
17982 public final void rule__EmptyIntervalLiteral__Group__1__Impl() throws RecognitionException { 22574 public final void rule__EmptyIntervalLiteral__Group__1__Impl() throws RecognitionException {
17983 22575
17984 int stackSize = keepStackSize(); 22576 int stackSize = keepStackSize();
17985 22577
17986 try { 22578 try {
17987 // InternalSolverLanguageParser.g:5806:1: ( ( Empty ) ) 22579 // InternalSolverLanguageParser.g:7322:1: ( ( Empty ) )
17988 // InternalSolverLanguageParser.g:5807:1: ( Empty ) 22580 // InternalSolverLanguageParser.g:7323:1: ( Empty )
17989 { 22581 {
17990 // InternalSolverLanguageParser.g:5807:1: ( Empty ) 22582 // InternalSolverLanguageParser.g:7323:1: ( Empty )
17991 // InternalSolverLanguageParser.g:5808:2: Empty 22583 // InternalSolverLanguageParser.g:7324:2: Empty
17992 { 22584 {
17993 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); 22585 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1());
17994 match(input,Empty,FOLLOW_2); 22586 match(input,Empty,FOLLOW_2);
@@ -18015,16 +22607,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18015 22607
18016 22608
18017 // $ANTLR start "rule__ClassDefinition__Group__0" 22609 // $ANTLR start "rule__ClassDefinition__Group__0"
18018 // InternalSolverLanguageParser.g:5818:1: rule__ClassDefinition__Group__0 : rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ; 22610 // InternalSolverLanguageParser.g:7334:1: rule__ClassDefinition__Group__0 : rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ;
18019 public final void rule__ClassDefinition__Group__0() throws RecognitionException { 22611 public final void rule__ClassDefinition__Group__0() throws RecognitionException {
18020 22612
18021 int stackSize = keepStackSize(); 22613 int stackSize = keepStackSize();
18022 22614
18023 try { 22615 try {
18024 // InternalSolverLanguageParser.g:5822:1: ( rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ) 22616 // InternalSolverLanguageParser.g:7338:1: ( rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 )
18025 // InternalSolverLanguageParser.g:5823:2: rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 22617 // InternalSolverLanguageParser.g:7339:2: rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1
18026 { 22618 {
18027 pushFollow(FOLLOW_42); 22619 pushFollow(FOLLOW_51);
18028 rule__ClassDefinition__Group__0__Impl(); 22620 rule__ClassDefinition__Group__0__Impl();
18029 22621
18030 state._fsp--; 22622 state._fsp--;
@@ -18053,29 +22645,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18053 22645
18054 22646
18055 // $ANTLR start "rule__ClassDefinition__Group__0__Impl" 22647 // $ANTLR start "rule__ClassDefinition__Group__0__Impl"
18056 // InternalSolverLanguageParser.g:5830:1: rule__ClassDefinition__Group__0__Impl : ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ; 22648 // InternalSolverLanguageParser.g:7346:1: rule__ClassDefinition__Group__0__Impl : ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ;
18057 public final void rule__ClassDefinition__Group__0__Impl() throws RecognitionException { 22649 public final void rule__ClassDefinition__Group__0__Impl() throws RecognitionException {
18058 22650
18059 int stackSize = keepStackSize(); 22651 int stackSize = keepStackSize();
18060 22652
18061 try { 22653 try {
18062 // InternalSolverLanguageParser.g:5834:1: ( ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ) 22654 // InternalSolverLanguageParser.g:7350:1: ( ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) )
18063 // InternalSolverLanguageParser.g:5835:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) 22655 // InternalSolverLanguageParser.g:7351:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? )
18064 { 22656 {
18065 // InternalSolverLanguageParser.g:5835:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) 22657 // InternalSolverLanguageParser.g:7351:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? )
18066 // InternalSolverLanguageParser.g:5836:2: ( rule__ClassDefinition__AbstractAssignment_0 )? 22658 // InternalSolverLanguageParser.g:7352:2: ( rule__ClassDefinition__AbstractAssignment_0 )?
18067 { 22659 {
18068 before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); 22660 before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0());
18069 // InternalSolverLanguageParser.g:5837:2: ( rule__ClassDefinition__AbstractAssignment_0 )? 22661 // InternalSolverLanguageParser.g:7353:2: ( rule__ClassDefinition__AbstractAssignment_0 )?
18070 int alt42=2; 22662 int alt51=2;
18071 int LA42_0 = input.LA(1); 22663 int LA51_0 = input.LA(1);
18072 22664
18073 if ( (LA42_0==Abstract) ) { 22665 if ( (LA51_0==Abstract) ) {
18074 alt42=1; 22666 alt51=1;
18075 } 22667 }
18076 switch (alt42) { 22668 switch (alt51) {
18077 case 1 : 22669 case 1 :
18078 // InternalSolverLanguageParser.g:5837:3: rule__ClassDefinition__AbstractAssignment_0 22670 // InternalSolverLanguageParser.g:7353:3: rule__ClassDefinition__AbstractAssignment_0
18079 { 22671 {
18080 pushFollow(FOLLOW_2); 22672 pushFollow(FOLLOW_2);
18081 rule__ClassDefinition__AbstractAssignment_0(); 22673 rule__ClassDefinition__AbstractAssignment_0();
@@ -18111,16 +22703,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18111 22703
18112 22704
18113 // $ANTLR start "rule__ClassDefinition__Group__1" 22705 // $ANTLR start "rule__ClassDefinition__Group__1"
18114 // InternalSolverLanguageParser.g:5845:1: rule__ClassDefinition__Group__1 : rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ; 22706 // InternalSolverLanguageParser.g:7361:1: rule__ClassDefinition__Group__1 : rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ;
18115 public final void rule__ClassDefinition__Group__1() throws RecognitionException { 22707 public final void rule__ClassDefinition__Group__1() throws RecognitionException {
18116 22708
18117 int stackSize = keepStackSize(); 22709 int stackSize = keepStackSize();
18118 22710
18119 try { 22711 try {
18120 // InternalSolverLanguageParser.g:5849:1: ( rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ) 22712 // InternalSolverLanguageParser.g:7365:1: ( rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 )
18121 // InternalSolverLanguageParser.g:5850:2: rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 22713 // InternalSolverLanguageParser.g:7366:2: rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2
18122 { 22714 {
18123 pushFollow(FOLLOW_43); 22715 pushFollow(FOLLOW_21);
18124 rule__ClassDefinition__Group__1__Impl(); 22716 rule__ClassDefinition__Group__1__Impl();
18125 22717
18126 state._fsp--; 22718 state._fsp--;
@@ -18149,17 +22741,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18149 22741
18150 22742
18151 // $ANTLR start "rule__ClassDefinition__Group__1__Impl" 22743 // $ANTLR start "rule__ClassDefinition__Group__1__Impl"
18152 // InternalSolverLanguageParser.g:5857:1: rule__ClassDefinition__Group__1__Impl : ( Class ) ; 22744 // InternalSolverLanguageParser.g:7373:1: rule__ClassDefinition__Group__1__Impl : ( Class ) ;
18153 public final void rule__ClassDefinition__Group__1__Impl() throws RecognitionException { 22745 public final void rule__ClassDefinition__Group__1__Impl() throws RecognitionException {
18154 22746
18155 int stackSize = keepStackSize(); 22747 int stackSize = keepStackSize();
18156 22748
18157 try { 22749 try {
18158 // InternalSolverLanguageParser.g:5861:1: ( ( Class ) ) 22750 // InternalSolverLanguageParser.g:7377:1: ( ( Class ) )
18159 // InternalSolverLanguageParser.g:5862:1: ( Class ) 22751 // InternalSolverLanguageParser.g:7378:1: ( Class )
18160 { 22752 {
18161 // InternalSolverLanguageParser.g:5862:1: ( Class ) 22753 // InternalSolverLanguageParser.g:7378:1: ( Class )
18162 // InternalSolverLanguageParser.g:5863:2: Class 22754 // InternalSolverLanguageParser.g:7379:2: Class
18163 { 22755 {
18164 before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 22756 before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
18165 match(input,Class,FOLLOW_2); 22757 match(input,Class,FOLLOW_2);
@@ -18186,16 +22778,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18186 22778
18187 22779
18188 // $ANTLR start "rule__ClassDefinition__Group__2" 22780 // $ANTLR start "rule__ClassDefinition__Group__2"
18189 // InternalSolverLanguageParser.g:5872:1: rule__ClassDefinition__Group__2 : rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ; 22781 // InternalSolverLanguageParser.g:7388:1: rule__ClassDefinition__Group__2 : rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ;
18190 public final void rule__ClassDefinition__Group__2() throws RecognitionException { 22782 public final void rule__ClassDefinition__Group__2() throws RecognitionException {
18191 22783
18192 int stackSize = keepStackSize(); 22784 int stackSize = keepStackSize();
18193 22785
18194 try { 22786 try {
18195 // InternalSolverLanguageParser.g:5876:1: ( rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ) 22787 // InternalSolverLanguageParser.g:7392:1: ( rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 )
18196 // InternalSolverLanguageParser.g:5877:2: rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 22788 // InternalSolverLanguageParser.g:7393:2: rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3
18197 { 22789 {
18198 pushFollow(FOLLOW_44); 22790 pushFollow(FOLLOW_52);
18199 rule__ClassDefinition__Group__2__Impl(); 22791 rule__ClassDefinition__Group__2__Impl();
18200 22792
18201 state._fsp--; 22793 state._fsp--;
@@ -18224,21 +22816,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18224 22816
18225 22817
18226 // $ANTLR start "rule__ClassDefinition__Group__2__Impl" 22818 // $ANTLR start "rule__ClassDefinition__Group__2__Impl"
18227 // InternalSolverLanguageParser.g:5884:1: rule__ClassDefinition__Group__2__Impl : ( ( rule__ClassDefinition__NameAssignment_2 ) ) ; 22819 // InternalSolverLanguageParser.g:7400:1: rule__ClassDefinition__Group__2__Impl : ( ( rule__ClassDefinition__NameAssignment_2 ) ) ;
18228 public final void rule__ClassDefinition__Group__2__Impl() throws RecognitionException { 22820 public final void rule__ClassDefinition__Group__2__Impl() throws RecognitionException {
18229 22821
18230 int stackSize = keepStackSize(); 22822 int stackSize = keepStackSize();
18231 22823
18232 try { 22824 try {
18233 // InternalSolverLanguageParser.g:5888:1: ( ( ( rule__ClassDefinition__NameAssignment_2 ) ) ) 22825 // InternalSolverLanguageParser.g:7404:1: ( ( ( rule__ClassDefinition__NameAssignment_2 ) ) )
18234 // InternalSolverLanguageParser.g:5889:1: ( ( rule__ClassDefinition__NameAssignment_2 ) ) 22826 // InternalSolverLanguageParser.g:7405:1: ( ( rule__ClassDefinition__NameAssignment_2 ) )
18235 { 22827 {
18236 // InternalSolverLanguageParser.g:5889:1: ( ( rule__ClassDefinition__NameAssignment_2 ) ) 22828 // InternalSolverLanguageParser.g:7405:1: ( ( rule__ClassDefinition__NameAssignment_2 ) )
18237 // InternalSolverLanguageParser.g:5890:2: ( rule__ClassDefinition__NameAssignment_2 ) 22829 // InternalSolverLanguageParser.g:7406:2: ( rule__ClassDefinition__NameAssignment_2 )
18238 { 22830 {
18239 before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); 22831 before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2());
18240 // InternalSolverLanguageParser.g:5891:2: ( rule__ClassDefinition__NameAssignment_2 ) 22832 // InternalSolverLanguageParser.g:7407:2: ( rule__ClassDefinition__NameAssignment_2 )
18241 // InternalSolverLanguageParser.g:5891:3: rule__ClassDefinition__NameAssignment_2 22833 // InternalSolverLanguageParser.g:7407:3: rule__ClassDefinition__NameAssignment_2
18242 { 22834 {
18243 pushFollow(FOLLOW_2); 22835 pushFollow(FOLLOW_2);
18244 rule__ClassDefinition__NameAssignment_2(); 22836 rule__ClassDefinition__NameAssignment_2();
@@ -18271,16 +22863,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18271 22863
18272 22864
18273 // $ANTLR start "rule__ClassDefinition__Group__3" 22865 // $ANTLR start "rule__ClassDefinition__Group__3"
18274 // InternalSolverLanguageParser.g:5899:1: rule__ClassDefinition__Group__3 : rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ; 22866 // InternalSolverLanguageParser.g:7415:1: rule__ClassDefinition__Group__3 : rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ;
18275 public final void rule__ClassDefinition__Group__3() throws RecognitionException { 22867 public final void rule__ClassDefinition__Group__3() throws RecognitionException {
18276 22868
18277 int stackSize = keepStackSize(); 22869 int stackSize = keepStackSize();
18278 22870
18279 try { 22871 try {
18280 // InternalSolverLanguageParser.g:5903:1: ( rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ) 22872 // InternalSolverLanguageParser.g:7419:1: ( rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 )
18281 // InternalSolverLanguageParser.g:5904:2: rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 22873 // InternalSolverLanguageParser.g:7420:2: rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4
18282 { 22874 {
18283 pushFollow(FOLLOW_44); 22875 pushFollow(FOLLOW_52);
18284 rule__ClassDefinition__Group__3__Impl(); 22876 rule__ClassDefinition__Group__3__Impl();
18285 22877
18286 state._fsp--; 22878 state._fsp--;
@@ -18309,29 +22901,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18309 22901
18310 22902
18311 // $ANTLR start "rule__ClassDefinition__Group__3__Impl" 22903 // $ANTLR start "rule__ClassDefinition__Group__3__Impl"
18312 // InternalSolverLanguageParser.g:5911:1: rule__ClassDefinition__Group__3__Impl : ( ( rule__ClassDefinition__Group_3__0 )? ) ; 22904 // InternalSolverLanguageParser.g:7427:1: rule__ClassDefinition__Group__3__Impl : ( ( rule__ClassDefinition__Group_3__0 )? ) ;
18313 public final void rule__ClassDefinition__Group__3__Impl() throws RecognitionException { 22905 public final void rule__ClassDefinition__Group__3__Impl() throws RecognitionException {
18314 22906
18315 int stackSize = keepStackSize(); 22907 int stackSize = keepStackSize();
18316 22908
18317 try { 22909 try {
18318 // InternalSolverLanguageParser.g:5915:1: ( ( ( rule__ClassDefinition__Group_3__0 )? ) ) 22910 // InternalSolverLanguageParser.g:7431:1: ( ( ( rule__ClassDefinition__Group_3__0 )? ) )
18319 // InternalSolverLanguageParser.g:5916:1: ( ( rule__ClassDefinition__Group_3__0 )? ) 22911 // InternalSolverLanguageParser.g:7432:1: ( ( rule__ClassDefinition__Group_3__0 )? )
18320 { 22912 {
18321 // InternalSolverLanguageParser.g:5916:1: ( ( rule__ClassDefinition__Group_3__0 )? ) 22913 // InternalSolverLanguageParser.g:7432:1: ( ( rule__ClassDefinition__Group_3__0 )? )
18322 // InternalSolverLanguageParser.g:5917:2: ( rule__ClassDefinition__Group_3__0 )? 22914 // InternalSolverLanguageParser.g:7433:2: ( rule__ClassDefinition__Group_3__0 )?
18323 { 22915 {
18324 before(grammarAccess.getClassDefinitionAccess().getGroup_3()); 22916 before(grammarAccess.getClassDefinitionAccess().getGroup_3());
18325 // InternalSolverLanguageParser.g:5918:2: ( rule__ClassDefinition__Group_3__0 )? 22917 // InternalSolverLanguageParser.g:7434:2: ( rule__ClassDefinition__Group_3__0 )?
18326 int alt43=2; 22918 int alt52=2;
18327 int LA43_0 = input.LA(1); 22919 int LA52_0 = input.LA(1);
18328 22920
18329 if ( (LA43_0==Extends) ) { 22921 if ( (LA52_0==Extends) ) {
18330 alt43=1; 22922 alt52=1;
18331 } 22923 }
18332 switch (alt43) { 22924 switch (alt52) {
18333 case 1 : 22925 case 1 :
18334 // InternalSolverLanguageParser.g:5918:3: rule__ClassDefinition__Group_3__0 22926 // InternalSolverLanguageParser.g:7434:3: rule__ClassDefinition__Group_3__0
18335 { 22927 {
18336 pushFollow(FOLLOW_2); 22928 pushFollow(FOLLOW_2);
18337 rule__ClassDefinition__Group_3__0(); 22929 rule__ClassDefinition__Group_3__0();
@@ -18367,16 +22959,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18367 22959
18368 22960
18369 // $ANTLR start "rule__ClassDefinition__Group__4" 22961 // $ANTLR start "rule__ClassDefinition__Group__4"
18370 // InternalSolverLanguageParser.g:5926:1: rule__ClassDefinition__Group__4 : rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ; 22962 // InternalSolverLanguageParser.g:7442:1: rule__ClassDefinition__Group__4 : rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ;
18371 public final void rule__ClassDefinition__Group__4() throws RecognitionException { 22963 public final void rule__ClassDefinition__Group__4() throws RecognitionException {
18372 22964
18373 int stackSize = keepStackSize(); 22965 int stackSize = keepStackSize();
18374 22966
18375 try { 22967 try {
18376 // InternalSolverLanguageParser.g:5930:1: ( rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ) 22968 // InternalSolverLanguageParser.g:7446:1: ( rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 )
18377 // InternalSolverLanguageParser.g:5931:2: rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 22969 // InternalSolverLanguageParser.g:7447:2: rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5
18378 { 22970 {
18379 pushFollow(FOLLOW_45); 22971 pushFollow(FOLLOW_53);
18380 rule__ClassDefinition__Group__4__Impl(); 22972 rule__ClassDefinition__Group__4__Impl();
18381 22973
18382 state._fsp--; 22974 state._fsp--;
@@ -18405,17 +22997,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18405 22997
18406 22998
18407 // $ANTLR start "rule__ClassDefinition__Group__4__Impl" 22999 // $ANTLR start "rule__ClassDefinition__Group__4__Impl"
18408 // InternalSolverLanguageParser.g:5938:1: rule__ClassDefinition__Group__4__Impl : ( LeftCurlyBracket ) ; 23000 // InternalSolverLanguageParser.g:7454:1: rule__ClassDefinition__Group__4__Impl : ( LeftCurlyBracket ) ;
18409 public final void rule__ClassDefinition__Group__4__Impl() throws RecognitionException { 23001 public final void rule__ClassDefinition__Group__4__Impl() throws RecognitionException {
18410 23002
18411 int stackSize = keepStackSize(); 23003 int stackSize = keepStackSize();
18412 23004
18413 try { 23005 try {
18414 // InternalSolverLanguageParser.g:5942:1: ( ( LeftCurlyBracket ) ) 23006 // InternalSolverLanguageParser.g:7458:1: ( ( LeftCurlyBracket ) )
18415 // InternalSolverLanguageParser.g:5943:1: ( LeftCurlyBracket ) 23007 // InternalSolverLanguageParser.g:7459:1: ( LeftCurlyBracket )
18416 { 23008 {
18417 // InternalSolverLanguageParser.g:5943:1: ( LeftCurlyBracket ) 23009 // InternalSolverLanguageParser.g:7459:1: ( LeftCurlyBracket )
18418 // InternalSolverLanguageParser.g:5944:2: LeftCurlyBracket 23010 // InternalSolverLanguageParser.g:7460:2: LeftCurlyBracket
18419 { 23011 {
18420 before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); 23012 before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
18421 match(input,LeftCurlyBracket,FOLLOW_2); 23013 match(input,LeftCurlyBracket,FOLLOW_2);
@@ -18442,16 +23034,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18442 23034
18443 23035
18444 // $ANTLR start "rule__ClassDefinition__Group__5" 23036 // $ANTLR start "rule__ClassDefinition__Group__5"
18445 // InternalSolverLanguageParser.g:5953:1: rule__ClassDefinition__Group__5 : rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ; 23037 // InternalSolverLanguageParser.g:7469:1: rule__ClassDefinition__Group__5 : rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ;
18446 public final void rule__ClassDefinition__Group__5() throws RecognitionException { 23038 public final void rule__ClassDefinition__Group__5() throws RecognitionException {
18447 23039
18448 int stackSize = keepStackSize(); 23040 int stackSize = keepStackSize();
18449 23041
18450 try { 23042 try {
18451 // InternalSolverLanguageParser.g:5957:1: ( rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ) 23043 // InternalSolverLanguageParser.g:7473:1: ( rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 )
18452 // InternalSolverLanguageParser.g:5958:2: rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 23044 // InternalSolverLanguageParser.g:7474:2: rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6
18453 { 23045 {
18454 pushFollow(FOLLOW_45); 23046 pushFollow(FOLLOW_53);
18455 rule__ClassDefinition__Group__5__Impl(); 23047 rule__ClassDefinition__Group__5__Impl();
18456 23048
18457 state._fsp--; 23049 state._fsp--;
@@ -18480,35 +23072,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18480 23072
18481 23073
18482 // $ANTLR start "rule__ClassDefinition__Group__5__Impl" 23074 // $ANTLR start "rule__ClassDefinition__Group__5__Impl"
18483 // InternalSolverLanguageParser.g:5965:1: rule__ClassDefinition__Group__5__Impl : ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ; 23075 // InternalSolverLanguageParser.g:7481:1: rule__ClassDefinition__Group__5__Impl : ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ;
18484 public final void rule__ClassDefinition__Group__5__Impl() throws RecognitionException { 23076 public final void rule__ClassDefinition__Group__5__Impl() throws RecognitionException {
18485 23077
18486 int stackSize = keepStackSize(); 23078 int stackSize = keepStackSize();
18487 23079
18488 try { 23080 try {
18489 // InternalSolverLanguageParser.g:5969:1: ( ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ) 23081 // InternalSolverLanguageParser.g:7485:1: ( ( ( rule__ClassDefinition__MembersAssignment_5 )* ) )
18490 // InternalSolverLanguageParser.g:5970:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* ) 23082 // InternalSolverLanguageParser.g:7486:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* )
18491 { 23083 {
18492 // InternalSolverLanguageParser.g:5970:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* ) 23084 // InternalSolverLanguageParser.g:7486:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* )
18493 // InternalSolverLanguageParser.g:5971:2: ( rule__ClassDefinition__MembersAssignment_5 )* 23085 // InternalSolverLanguageParser.g:7487:2: ( rule__ClassDefinition__MembersAssignment_5 )*
18494 { 23086 {
18495 before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); 23087 before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5());
18496 // InternalSolverLanguageParser.g:5972:2: ( rule__ClassDefinition__MembersAssignment_5 )* 23088 // InternalSolverLanguageParser.g:7488:2: ( rule__ClassDefinition__MembersAssignment_5 )*
18497 loop44: 23089 loop53:
18498 do { 23090 do {
18499 int alt44=2; 23091 int alt53=2;
18500 int LA44_0 = input.LA(1); 23092 int LA53_0 = input.LA(1);
18501 23093
18502 if ( (LA44_0==Contains||LA44_0==RULE_QUOTED_ID||LA44_0==RULE_ID) ) { 23094 if ( (LA53_0==Contains||LA53_0==RULE_QUOTED_ID||LA53_0==RULE_ID) ) {
18503 alt44=1; 23095 alt53=1;
18504 } 23096 }
18505 23097
18506 23098
18507 switch (alt44) { 23099 switch (alt53) {
18508 case 1 : 23100 case 1 :
18509 // InternalSolverLanguageParser.g:5972:3: rule__ClassDefinition__MembersAssignment_5 23101 // InternalSolverLanguageParser.g:7488:3: rule__ClassDefinition__MembersAssignment_5
18510 { 23102 {
18511 pushFollow(FOLLOW_46); 23103 pushFollow(FOLLOW_54);
18512 rule__ClassDefinition__MembersAssignment_5(); 23104 rule__ClassDefinition__MembersAssignment_5();
18513 23105
18514 state._fsp--; 23106 state._fsp--;
@@ -18518,7 +23110,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18518 break; 23110 break;
18519 23111
18520 default : 23112 default :
18521 break loop44; 23113 break loop53;
18522 } 23114 }
18523 } while (true); 23115 } while (true);
18524 23116
@@ -18545,14 +23137,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18545 23137
18546 23138
18547 // $ANTLR start "rule__ClassDefinition__Group__6" 23139 // $ANTLR start "rule__ClassDefinition__Group__6"
18548 // InternalSolverLanguageParser.g:5980:1: rule__ClassDefinition__Group__6 : rule__ClassDefinition__Group__6__Impl ; 23140 // InternalSolverLanguageParser.g:7496:1: rule__ClassDefinition__Group__6 : rule__ClassDefinition__Group__6__Impl ;
18549 public final void rule__ClassDefinition__Group__6() throws RecognitionException { 23141 public final void rule__ClassDefinition__Group__6() throws RecognitionException {
18550 23142
18551 int stackSize = keepStackSize(); 23143 int stackSize = keepStackSize();
18552 23144
18553 try { 23145 try {
18554 // InternalSolverLanguageParser.g:5984:1: ( rule__ClassDefinition__Group__6__Impl ) 23146 // InternalSolverLanguageParser.g:7500:1: ( rule__ClassDefinition__Group__6__Impl )
18555 // InternalSolverLanguageParser.g:5985:2: rule__ClassDefinition__Group__6__Impl 23147 // InternalSolverLanguageParser.g:7501:2: rule__ClassDefinition__Group__6__Impl
18556 { 23148 {
18557 pushFollow(FOLLOW_2); 23149 pushFollow(FOLLOW_2);
18558 rule__ClassDefinition__Group__6__Impl(); 23150 rule__ClassDefinition__Group__6__Impl();
@@ -18578,17 +23170,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18578 23170
18579 23171
18580 // $ANTLR start "rule__ClassDefinition__Group__6__Impl" 23172 // $ANTLR start "rule__ClassDefinition__Group__6__Impl"
18581 // InternalSolverLanguageParser.g:5991:1: rule__ClassDefinition__Group__6__Impl : ( RightCurlyBracket ) ; 23173 // InternalSolverLanguageParser.g:7507:1: rule__ClassDefinition__Group__6__Impl : ( RightCurlyBracket ) ;
18582 public final void rule__ClassDefinition__Group__6__Impl() throws RecognitionException { 23174 public final void rule__ClassDefinition__Group__6__Impl() throws RecognitionException {
18583 23175
18584 int stackSize = keepStackSize(); 23176 int stackSize = keepStackSize();
18585 23177
18586 try { 23178 try {
18587 // InternalSolverLanguageParser.g:5995:1: ( ( RightCurlyBracket ) ) 23179 // InternalSolverLanguageParser.g:7511:1: ( ( RightCurlyBracket ) )
18588 // InternalSolverLanguageParser.g:5996:1: ( RightCurlyBracket ) 23180 // InternalSolverLanguageParser.g:7512:1: ( RightCurlyBracket )
18589 { 23181 {
18590 // InternalSolverLanguageParser.g:5996:1: ( RightCurlyBracket ) 23182 // InternalSolverLanguageParser.g:7512:1: ( RightCurlyBracket )
18591 // InternalSolverLanguageParser.g:5997:2: RightCurlyBracket 23183 // InternalSolverLanguageParser.g:7513:2: RightCurlyBracket
18592 { 23184 {
18593 before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); 23185 before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
18594 match(input,RightCurlyBracket,FOLLOW_2); 23186 match(input,RightCurlyBracket,FOLLOW_2);
@@ -18615,14 +23207,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18615 23207
18616 23208
18617 // $ANTLR start "rule__ClassDefinition__Group_3__0" 23209 // $ANTLR start "rule__ClassDefinition__Group_3__0"
18618 // InternalSolverLanguageParser.g:6007:1: rule__ClassDefinition__Group_3__0 : rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ; 23210 // InternalSolverLanguageParser.g:7523:1: rule__ClassDefinition__Group_3__0 : rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ;
18619 public final void rule__ClassDefinition__Group_3__0() throws RecognitionException { 23211 public final void rule__ClassDefinition__Group_3__0() throws RecognitionException {
18620 23212
18621 int stackSize = keepStackSize(); 23213 int stackSize = keepStackSize();
18622 23214
18623 try { 23215 try {
18624 // InternalSolverLanguageParser.g:6011:1: ( rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ) 23216 // InternalSolverLanguageParser.g:7527:1: ( rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 )
18625 // InternalSolverLanguageParser.g:6012:2: rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 23217 // InternalSolverLanguageParser.g:7528:2: rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1
18626 { 23218 {
18627 pushFollow(FOLLOW_9); 23219 pushFollow(FOLLOW_9);
18628 rule__ClassDefinition__Group_3__0__Impl(); 23220 rule__ClassDefinition__Group_3__0__Impl();
@@ -18653,17 +23245,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18653 23245
18654 23246
18655 // $ANTLR start "rule__ClassDefinition__Group_3__0__Impl" 23247 // $ANTLR start "rule__ClassDefinition__Group_3__0__Impl"
18656 // InternalSolverLanguageParser.g:6019:1: rule__ClassDefinition__Group_3__0__Impl : ( Extends ) ; 23248 // InternalSolverLanguageParser.g:7535:1: rule__ClassDefinition__Group_3__0__Impl : ( Extends ) ;
18657 public final void rule__ClassDefinition__Group_3__0__Impl() throws RecognitionException { 23249 public final void rule__ClassDefinition__Group_3__0__Impl() throws RecognitionException {
18658 23250
18659 int stackSize = keepStackSize(); 23251 int stackSize = keepStackSize();
18660 23252
18661 try { 23253 try {
18662 // InternalSolverLanguageParser.g:6023:1: ( ( Extends ) ) 23254 // InternalSolverLanguageParser.g:7539:1: ( ( Extends ) )
18663 // InternalSolverLanguageParser.g:6024:1: ( Extends ) 23255 // InternalSolverLanguageParser.g:7540:1: ( Extends )
18664 { 23256 {
18665 // InternalSolverLanguageParser.g:6024:1: ( Extends ) 23257 // InternalSolverLanguageParser.g:7540:1: ( Extends )
18666 // InternalSolverLanguageParser.g:6025:2: Extends 23258 // InternalSolverLanguageParser.g:7541:2: Extends
18667 { 23259 {
18668 before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 23260 before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
18669 match(input,Extends,FOLLOW_2); 23261 match(input,Extends,FOLLOW_2);
@@ -18690,16 +23282,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18690 23282
18691 23283
18692 // $ANTLR start "rule__ClassDefinition__Group_3__1" 23284 // $ANTLR start "rule__ClassDefinition__Group_3__1"
18693 // InternalSolverLanguageParser.g:6034:1: rule__ClassDefinition__Group_3__1 : rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ; 23285 // InternalSolverLanguageParser.g:7550:1: rule__ClassDefinition__Group_3__1 : rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ;
18694 public final void rule__ClassDefinition__Group_3__1() throws RecognitionException { 23286 public final void rule__ClassDefinition__Group_3__1() throws RecognitionException {
18695 23287
18696 int stackSize = keepStackSize(); 23288 int stackSize = keepStackSize();
18697 23289
18698 try { 23290 try {
18699 // InternalSolverLanguageParser.g:6038:1: ( rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ) 23291 // InternalSolverLanguageParser.g:7554:1: ( rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 )
18700 // InternalSolverLanguageParser.g:6039:2: rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 23292 // InternalSolverLanguageParser.g:7555:2: rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2
18701 { 23293 {
18702 pushFollow(FOLLOW_21); 23294 pushFollow(FOLLOW_19);
18703 rule__ClassDefinition__Group_3__1__Impl(); 23295 rule__ClassDefinition__Group_3__1__Impl();
18704 23296
18705 state._fsp--; 23297 state._fsp--;
@@ -18728,21 +23320,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18728 23320
18729 23321
18730 // $ANTLR start "rule__ClassDefinition__Group_3__1__Impl" 23322 // $ANTLR start "rule__ClassDefinition__Group_3__1__Impl"
18731 // InternalSolverLanguageParser.g:6046:1: rule__ClassDefinition__Group_3__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ; 23323 // InternalSolverLanguageParser.g:7562:1: rule__ClassDefinition__Group_3__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ;
18732 public final void rule__ClassDefinition__Group_3__1__Impl() throws RecognitionException { 23324 public final void rule__ClassDefinition__Group_3__1__Impl() throws RecognitionException {
18733 23325
18734 int stackSize = keepStackSize(); 23326 int stackSize = keepStackSize();
18735 23327
18736 try { 23328 try {
18737 // InternalSolverLanguageParser.g:6050:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ) 23329 // InternalSolverLanguageParser.g:7566:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) )
18738 // InternalSolverLanguageParser.g:6051:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) 23330 // InternalSolverLanguageParser.g:7567:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) )
18739 { 23331 {
18740 // InternalSolverLanguageParser.g:6051:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) 23332 // InternalSolverLanguageParser.g:7567:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) )
18741 // InternalSolverLanguageParser.g:6052:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) 23333 // InternalSolverLanguageParser.g:7568:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 )
18742 { 23334 {
18743 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); 23335 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1());
18744 // InternalSolverLanguageParser.g:6053:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) 23336 // InternalSolverLanguageParser.g:7569:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 )
18745 // InternalSolverLanguageParser.g:6053:3: rule__ClassDefinition__SuperclassesAssignment_3_1 23337 // InternalSolverLanguageParser.g:7569:3: rule__ClassDefinition__SuperclassesAssignment_3_1
18746 { 23338 {
18747 pushFollow(FOLLOW_2); 23339 pushFollow(FOLLOW_2);
18748 rule__ClassDefinition__SuperclassesAssignment_3_1(); 23340 rule__ClassDefinition__SuperclassesAssignment_3_1();
@@ -18775,14 +23367,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18775 23367
18776 23368
18777 // $ANTLR start "rule__ClassDefinition__Group_3__2" 23369 // $ANTLR start "rule__ClassDefinition__Group_3__2"
18778 // InternalSolverLanguageParser.g:6061:1: rule__ClassDefinition__Group_3__2 : rule__ClassDefinition__Group_3__2__Impl ; 23370 // InternalSolverLanguageParser.g:7577:1: rule__ClassDefinition__Group_3__2 : rule__ClassDefinition__Group_3__2__Impl ;
18779 public final void rule__ClassDefinition__Group_3__2() throws RecognitionException { 23371 public final void rule__ClassDefinition__Group_3__2() throws RecognitionException {
18780 23372
18781 int stackSize = keepStackSize(); 23373 int stackSize = keepStackSize();
18782 23374
18783 try { 23375 try {
18784 // InternalSolverLanguageParser.g:6065:1: ( rule__ClassDefinition__Group_3__2__Impl ) 23376 // InternalSolverLanguageParser.g:7581:1: ( rule__ClassDefinition__Group_3__2__Impl )
18785 // InternalSolverLanguageParser.g:6066:2: rule__ClassDefinition__Group_3__2__Impl 23377 // InternalSolverLanguageParser.g:7582:2: rule__ClassDefinition__Group_3__2__Impl
18786 { 23378 {
18787 pushFollow(FOLLOW_2); 23379 pushFollow(FOLLOW_2);
18788 rule__ClassDefinition__Group_3__2__Impl(); 23380 rule__ClassDefinition__Group_3__2__Impl();
@@ -18808,35 +23400,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18808 23400
18809 23401
18810 // $ANTLR start "rule__ClassDefinition__Group_3__2__Impl" 23402 // $ANTLR start "rule__ClassDefinition__Group_3__2__Impl"
18811 // InternalSolverLanguageParser.g:6072:1: rule__ClassDefinition__Group_3__2__Impl : ( ( rule__ClassDefinition__Group_3_2__0 )* ) ; 23403 // InternalSolverLanguageParser.g:7588:1: rule__ClassDefinition__Group_3__2__Impl : ( ( rule__ClassDefinition__Group_3_2__0 )* ) ;
18812 public final void rule__ClassDefinition__Group_3__2__Impl() throws RecognitionException { 23404 public final void rule__ClassDefinition__Group_3__2__Impl() throws RecognitionException {
18813 23405
18814 int stackSize = keepStackSize(); 23406 int stackSize = keepStackSize();
18815 23407
18816 try { 23408 try {
18817 // InternalSolverLanguageParser.g:6076:1: ( ( ( rule__ClassDefinition__Group_3_2__0 )* ) ) 23409 // InternalSolverLanguageParser.g:7592:1: ( ( ( rule__ClassDefinition__Group_3_2__0 )* ) )
18818 // InternalSolverLanguageParser.g:6077:1: ( ( rule__ClassDefinition__Group_3_2__0 )* ) 23410 // InternalSolverLanguageParser.g:7593:1: ( ( rule__ClassDefinition__Group_3_2__0 )* )
18819 { 23411 {
18820 // InternalSolverLanguageParser.g:6077:1: ( ( rule__ClassDefinition__Group_3_2__0 )* ) 23412 // InternalSolverLanguageParser.g:7593:1: ( ( rule__ClassDefinition__Group_3_2__0 )* )
18821 // InternalSolverLanguageParser.g:6078:2: ( rule__ClassDefinition__Group_3_2__0 )* 23413 // InternalSolverLanguageParser.g:7594:2: ( rule__ClassDefinition__Group_3_2__0 )*
18822 { 23414 {
18823 before(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); 23415 before(grammarAccess.getClassDefinitionAccess().getGroup_3_2());
18824 // InternalSolverLanguageParser.g:6079:2: ( rule__ClassDefinition__Group_3_2__0 )* 23416 // InternalSolverLanguageParser.g:7595:2: ( rule__ClassDefinition__Group_3_2__0 )*
18825 loop45: 23417 loop54:
18826 do { 23418 do {
18827 int alt45=2; 23419 int alt54=2;
18828 int LA45_0 = input.LA(1); 23420 int LA54_0 = input.LA(1);
18829 23421
18830 if ( (LA45_0==Comma) ) { 23422 if ( (LA54_0==Comma) ) {
18831 alt45=1; 23423 alt54=1;
18832 } 23424 }
18833 23425
18834 23426
18835 switch (alt45) { 23427 switch (alt54) {
18836 case 1 : 23428 case 1 :
18837 // InternalSolverLanguageParser.g:6079:3: rule__ClassDefinition__Group_3_2__0 23429 // InternalSolverLanguageParser.g:7595:3: rule__ClassDefinition__Group_3_2__0
18838 { 23430 {
18839 pushFollow(FOLLOW_22); 23431 pushFollow(FOLLOW_20);
18840 rule__ClassDefinition__Group_3_2__0(); 23432 rule__ClassDefinition__Group_3_2__0();
18841 23433
18842 state._fsp--; 23434 state._fsp--;
@@ -18846,7 +23438,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18846 break; 23438 break;
18847 23439
18848 default : 23440 default :
18849 break loop45; 23441 break loop54;
18850 } 23442 }
18851 } while (true); 23443 } while (true);
18852 23444
@@ -18873,14 +23465,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18873 23465
18874 23466
18875 // $ANTLR start "rule__ClassDefinition__Group_3_2__0" 23467 // $ANTLR start "rule__ClassDefinition__Group_3_2__0"
18876 // InternalSolverLanguageParser.g:6088:1: rule__ClassDefinition__Group_3_2__0 : rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ; 23468 // InternalSolverLanguageParser.g:7604:1: rule__ClassDefinition__Group_3_2__0 : rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ;
18877 public final void rule__ClassDefinition__Group_3_2__0() throws RecognitionException { 23469 public final void rule__ClassDefinition__Group_3_2__0() throws RecognitionException {
18878 23470
18879 int stackSize = keepStackSize(); 23471 int stackSize = keepStackSize();
18880 23472
18881 try { 23473 try {
18882 // InternalSolverLanguageParser.g:6092:1: ( rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ) 23474 // InternalSolverLanguageParser.g:7608:1: ( rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 )
18883 // InternalSolverLanguageParser.g:6093:2: rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 23475 // InternalSolverLanguageParser.g:7609:2: rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1
18884 { 23476 {
18885 pushFollow(FOLLOW_9); 23477 pushFollow(FOLLOW_9);
18886 rule__ClassDefinition__Group_3_2__0__Impl(); 23478 rule__ClassDefinition__Group_3_2__0__Impl();
@@ -18911,17 +23503,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18911 23503
18912 23504
18913 // $ANTLR start "rule__ClassDefinition__Group_3_2__0__Impl" 23505 // $ANTLR start "rule__ClassDefinition__Group_3_2__0__Impl"
18914 // InternalSolverLanguageParser.g:6100:1: rule__ClassDefinition__Group_3_2__0__Impl : ( Comma ) ; 23506 // InternalSolverLanguageParser.g:7616:1: rule__ClassDefinition__Group_3_2__0__Impl : ( Comma ) ;
18915 public final void rule__ClassDefinition__Group_3_2__0__Impl() throws RecognitionException { 23507 public final void rule__ClassDefinition__Group_3_2__0__Impl() throws RecognitionException {
18916 23508
18917 int stackSize = keepStackSize(); 23509 int stackSize = keepStackSize();
18918 23510
18919 try { 23511 try {
18920 // InternalSolverLanguageParser.g:6104:1: ( ( Comma ) ) 23512 // InternalSolverLanguageParser.g:7620:1: ( ( Comma ) )
18921 // InternalSolverLanguageParser.g:6105:1: ( Comma ) 23513 // InternalSolverLanguageParser.g:7621:1: ( Comma )
18922 { 23514 {
18923 // InternalSolverLanguageParser.g:6105:1: ( Comma ) 23515 // InternalSolverLanguageParser.g:7621:1: ( Comma )
18924 // InternalSolverLanguageParser.g:6106:2: Comma 23516 // InternalSolverLanguageParser.g:7622:2: Comma
18925 { 23517 {
18926 before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 23518 before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
18927 match(input,Comma,FOLLOW_2); 23519 match(input,Comma,FOLLOW_2);
@@ -18948,14 +23540,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18948 23540
18949 23541
18950 // $ANTLR start "rule__ClassDefinition__Group_3_2__1" 23542 // $ANTLR start "rule__ClassDefinition__Group_3_2__1"
18951 // InternalSolverLanguageParser.g:6115:1: rule__ClassDefinition__Group_3_2__1 : rule__ClassDefinition__Group_3_2__1__Impl ; 23543 // InternalSolverLanguageParser.g:7631:1: rule__ClassDefinition__Group_3_2__1 : rule__ClassDefinition__Group_3_2__1__Impl ;
18952 public final void rule__ClassDefinition__Group_3_2__1() throws RecognitionException { 23544 public final void rule__ClassDefinition__Group_3_2__1() throws RecognitionException {
18953 23545
18954 int stackSize = keepStackSize(); 23546 int stackSize = keepStackSize();
18955 23547
18956 try { 23548 try {
18957 // InternalSolverLanguageParser.g:6119:1: ( rule__ClassDefinition__Group_3_2__1__Impl ) 23549 // InternalSolverLanguageParser.g:7635:1: ( rule__ClassDefinition__Group_3_2__1__Impl )
18958 // InternalSolverLanguageParser.g:6120:2: rule__ClassDefinition__Group_3_2__1__Impl 23550 // InternalSolverLanguageParser.g:7636:2: rule__ClassDefinition__Group_3_2__1__Impl
18959 { 23551 {
18960 pushFollow(FOLLOW_2); 23552 pushFollow(FOLLOW_2);
18961 rule__ClassDefinition__Group_3_2__1__Impl(); 23553 rule__ClassDefinition__Group_3_2__1__Impl();
@@ -18981,21 +23573,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
18981 23573
18982 23574
18983 // $ANTLR start "rule__ClassDefinition__Group_3_2__1__Impl" 23575 // $ANTLR start "rule__ClassDefinition__Group_3_2__1__Impl"
18984 // InternalSolverLanguageParser.g:6126:1: rule__ClassDefinition__Group_3_2__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ; 23576 // InternalSolverLanguageParser.g:7642:1: rule__ClassDefinition__Group_3_2__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ;
18985 public final void rule__ClassDefinition__Group_3_2__1__Impl() throws RecognitionException { 23577 public final void rule__ClassDefinition__Group_3_2__1__Impl() throws RecognitionException {
18986 23578
18987 int stackSize = keepStackSize(); 23579 int stackSize = keepStackSize();
18988 23580
18989 try { 23581 try {
18990 // InternalSolverLanguageParser.g:6130:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ) 23582 // InternalSolverLanguageParser.g:7646:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) )
18991 // InternalSolverLanguageParser.g:6131:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) 23583 // InternalSolverLanguageParser.g:7647:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) )
18992 { 23584 {
18993 // InternalSolverLanguageParser.g:6131:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) 23585 // InternalSolverLanguageParser.g:7647:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) )
18994 // InternalSolverLanguageParser.g:6132:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) 23586 // InternalSolverLanguageParser.g:7648:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 )
18995 { 23587 {
18996 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); 23588 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1());
18997 // InternalSolverLanguageParser.g:6133:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) 23589 // InternalSolverLanguageParser.g:7649:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 )
18998 // InternalSolverLanguageParser.g:6133:3: rule__ClassDefinition__SuperclassesAssignment_3_2_1 23590 // InternalSolverLanguageParser.g:7649:3: rule__ClassDefinition__SuperclassesAssignment_3_2_1
18999 { 23591 {
19000 pushFollow(FOLLOW_2); 23592 pushFollow(FOLLOW_2);
19001 rule__ClassDefinition__SuperclassesAssignment_3_2_1(); 23593 rule__ClassDefinition__SuperclassesAssignment_3_2_1();
@@ -19028,16 +23620,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19028 23620
19029 23621
19030 // $ANTLR start "rule__MemberDefinition__Group__0" 23622 // $ANTLR start "rule__MemberDefinition__Group__0"
19031 // InternalSolverLanguageParser.g:6142:1: rule__MemberDefinition__Group__0 : rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ; 23623 // InternalSolverLanguageParser.g:7658:1: rule__MemberDefinition__Group__0 : rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ;
19032 public final void rule__MemberDefinition__Group__0() throws RecognitionException { 23624 public final void rule__MemberDefinition__Group__0() throws RecognitionException {
19033 23625
19034 int stackSize = keepStackSize(); 23626 int stackSize = keepStackSize();
19035 23627
19036 try { 23628 try {
19037 // InternalSolverLanguageParser.g:6146:1: ( rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ) 23629 // InternalSolverLanguageParser.g:7662:1: ( rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 )
19038 // InternalSolverLanguageParser.g:6147:2: rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 23630 // InternalSolverLanguageParser.g:7663:2: rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1
19039 { 23631 {
19040 pushFollow(FOLLOW_47); 23632 pushFollow(FOLLOW_55);
19041 rule__MemberDefinition__Group__0__Impl(); 23633 rule__MemberDefinition__Group__0__Impl();
19042 23634
19043 state._fsp--; 23635 state._fsp--;
@@ -19066,29 +23658,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19066 23658
19067 23659
19068 // $ANTLR start "rule__MemberDefinition__Group__0__Impl" 23660 // $ANTLR start "rule__MemberDefinition__Group__0__Impl"
19069 // InternalSolverLanguageParser.g:6154:1: rule__MemberDefinition__Group__0__Impl : ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ; 23661 // InternalSolverLanguageParser.g:7670:1: rule__MemberDefinition__Group__0__Impl : ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ;
19070 public final void rule__MemberDefinition__Group__0__Impl() throws RecognitionException { 23662 public final void rule__MemberDefinition__Group__0__Impl() throws RecognitionException {
19071 23663
19072 int stackSize = keepStackSize(); 23664 int stackSize = keepStackSize();
19073 23665
19074 try { 23666 try {
19075 // InternalSolverLanguageParser.g:6158:1: ( ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ) 23667 // InternalSolverLanguageParser.g:7674:1: ( ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) )
19076 // InternalSolverLanguageParser.g:6159:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) 23668 // InternalSolverLanguageParser.g:7675:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? )
19077 { 23669 {
19078 // InternalSolverLanguageParser.g:6159:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) 23670 // InternalSolverLanguageParser.g:7675:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? )
19079 // InternalSolverLanguageParser.g:6160:2: ( rule__MemberDefinition__ContainmentAssignment_0 )? 23671 // InternalSolverLanguageParser.g:7676:2: ( rule__MemberDefinition__ContainmentAssignment_0 )?
19080 { 23672 {
19081 before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); 23673 before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0());
19082 // InternalSolverLanguageParser.g:6161:2: ( rule__MemberDefinition__ContainmentAssignment_0 )? 23674 // InternalSolverLanguageParser.g:7677:2: ( rule__MemberDefinition__ContainmentAssignment_0 )?
19083 int alt46=2; 23675 int alt55=2;
19084 int LA46_0 = input.LA(1); 23676 int LA55_0 = input.LA(1);
19085 23677
19086 if ( (LA46_0==Contains) ) { 23678 if ( (LA55_0==Contains) ) {
19087 alt46=1; 23679 alt55=1;
19088 } 23680 }
19089 switch (alt46) { 23681 switch (alt55) {
19090 case 1 : 23682 case 1 :
19091 // InternalSolverLanguageParser.g:6161:3: rule__MemberDefinition__ContainmentAssignment_0 23683 // InternalSolverLanguageParser.g:7677:3: rule__MemberDefinition__ContainmentAssignment_0
19092 { 23684 {
19093 pushFollow(FOLLOW_2); 23685 pushFollow(FOLLOW_2);
19094 rule__MemberDefinition__ContainmentAssignment_0(); 23686 rule__MemberDefinition__ContainmentAssignment_0();
@@ -19124,16 +23716,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19124 23716
19125 23717
19126 // $ANTLR start "rule__MemberDefinition__Group__1" 23718 // $ANTLR start "rule__MemberDefinition__Group__1"
19127 // InternalSolverLanguageParser.g:6169:1: rule__MemberDefinition__Group__1 : rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ; 23719 // InternalSolverLanguageParser.g:7685:1: rule__MemberDefinition__Group__1 : rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ;
19128 public final void rule__MemberDefinition__Group__1() throws RecognitionException { 23720 public final void rule__MemberDefinition__Group__1() throws RecognitionException {
19129 23721
19130 int stackSize = keepStackSize(); 23722 int stackSize = keepStackSize();
19131 23723
19132 try { 23724 try {
19133 // InternalSolverLanguageParser.g:6173:1: ( rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ) 23725 // InternalSolverLanguageParser.g:7689:1: ( rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 )
19134 // InternalSolverLanguageParser.g:6174:2: rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 23726 // InternalSolverLanguageParser.g:7690:2: rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2
19135 { 23727 {
19136 pushFollow(FOLLOW_48); 23728 pushFollow(FOLLOW_56);
19137 rule__MemberDefinition__Group__1__Impl(); 23729 rule__MemberDefinition__Group__1__Impl();
19138 23730
19139 state._fsp--; 23731 state._fsp--;
@@ -19162,21 +23754,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19162 23754
19163 23755
19164 // $ANTLR start "rule__MemberDefinition__Group__1__Impl" 23756 // $ANTLR start "rule__MemberDefinition__Group__1__Impl"
19165 // InternalSolverLanguageParser.g:6181:1: rule__MemberDefinition__Group__1__Impl : ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ; 23757 // InternalSolverLanguageParser.g:7697:1: rule__MemberDefinition__Group__1__Impl : ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ;
19166 public final void rule__MemberDefinition__Group__1__Impl() throws RecognitionException { 23758 public final void rule__MemberDefinition__Group__1__Impl() throws RecognitionException {
19167 23759
19168 int stackSize = keepStackSize(); 23760 int stackSize = keepStackSize();
19169 23761
19170 try { 23762 try {
19171 // InternalSolverLanguageParser.g:6185:1: ( ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ) 23763 // InternalSolverLanguageParser.g:7701:1: ( ( ( rule__MemberDefinition__TypeAssignment_1 ) ) )
19172 // InternalSolverLanguageParser.g:6186:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) ) 23764 // InternalSolverLanguageParser.g:7702:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) )
19173 { 23765 {
19174 // InternalSolverLanguageParser.g:6186:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) ) 23766 // InternalSolverLanguageParser.g:7702:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) )
19175 // InternalSolverLanguageParser.g:6187:2: ( rule__MemberDefinition__TypeAssignment_1 ) 23767 // InternalSolverLanguageParser.g:7703:2: ( rule__MemberDefinition__TypeAssignment_1 )
19176 { 23768 {
19177 before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); 23769 before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1());
19178 // InternalSolverLanguageParser.g:6188:2: ( rule__MemberDefinition__TypeAssignment_1 ) 23770 // InternalSolverLanguageParser.g:7704:2: ( rule__MemberDefinition__TypeAssignment_1 )
19179 // InternalSolverLanguageParser.g:6188:3: rule__MemberDefinition__TypeAssignment_1 23771 // InternalSolverLanguageParser.g:7704:3: rule__MemberDefinition__TypeAssignment_1
19180 { 23772 {
19181 pushFollow(FOLLOW_2); 23773 pushFollow(FOLLOW_2);
19182 rule__MemberDefinition__TypeAssignment_1(); 23774 rule__MemberDefinition__TypeAssignment_1();
@@ -19209,16 +23801,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19209 23801
19210 23802
19211 // $ANTLR start "rule__MemberDefinition__Group__2" 23803 // $ANTLR start "rule__MemberDefinition__Group__2"
19212 // InternalSolverLanguageParser.g:6196:1: rule__MemberDefinition__Group__2 : rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ; 23804 // InternalSolverLanguageParser.g:7712:1: rule__MemberDefinition__Group__2 : rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ;
19213 public final void rule__MemberDefinition__Group__2() throws RecognitionException { 23805 public final void rule__MemberDefinition__Group__2() throws RecognitionException {
19214 23806
19215 int stackSize = keepStackSize(); 23807 int stackSize = keepStackSize();
19216 23808
19217 try { 23809 try {
19218 // InternalSolverLanguageParser.g:6200:1: ( rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ) 23810 // InternalSolverLanguageParser.g:7716:1: ( rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 )
19219 // InternalSolverLanguageParser.g:6201:2: rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 23811 // InternalSolverLanguageParser.g:7717:2: rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3
19220 { 23812 {
19221 pushFollow(FOLLOW_48); 23813 pushFollow(FOLLOW_56);
19222 rule__MemberDefinition__Group__2__Impl(); 23814 rule__MemberDefinition__Group__2__Impl();
19223 23815
19224 state._fsp--; 23816 state._fsp--;
@@ -19247,29 +23839,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19247 23839
19248 23840
19249 // $ANTLR start "rule__MemberDefinition__Group__2__Impl" 23841 // $ANTLR start "rule__MemberDefinition__Group__2__Impl"
19250 // InternalSolverLanguageParser.g:6208:1: rule__MemberDefinition__Group__2__Impl : ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ; 23842 // InternalSolverLanguageParser.g:7724:1: rule__MemberDefinition__Group__2__Impl : ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ;
19251 public final void rule__MemberDefinition__Group__2__Impl() throws RecognitionException { 23843 public final void rule__MemberDefinition__Group__2__Impl() throws RecognitionException {
19252 23844
19253 int stackSize = keepStackSize(); 23845 int stackSize = keepStackSize();
19254 23846
19255 try { 23847 try {
19256 // InternalSolverLanguageParser.g:6212:1: ( ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ) 23848 // InternalSolverLanguageParser.g:7728:1: ( ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) )
19257 // InternalSolverLanguageParser.g:6213:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) 23849 // InternalSolverLanguageParser.g:7729:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? )
19258 { 23850 {
19259 // InternalSolverLanguageParser.g:6213:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) 23851 // InternalSolverLanguageParser.g:7729:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? )
19260 // InternalSolverLanguageParser.g:6214:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )? 23852 // InternalSolverLanguageParser.g:7730:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )?
19261 { 23853 {
19262 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); 23854 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2());
19263 // InternalSolverLanguageParser.g:6215:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )? 23855 // InternalSolverLanguageParser.g:7731:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )?
19264 int alt47=2; 23856 int alt56=2;
19265 int LA47_0 = input.LA(1); 23857 int LA56_0 = input.LA(1);
19266 23858
19267 if ( (LA47_0==LeftSquareBracket) ) { 23859 if ( (LA56_0==LeftSquareBracket) ) {
19268 alt47=1; 23860 alt56=1;
19269 } 23861 }
19270 switch (alt47) { 23862 switch (alt56) {
19271 case 1 : 23863 case 1 :
19272 // InternalSolverLanguageParser.g:6215:3: rule__MemberDefinition__MultiplicityAssignment_2 23864 // InternalSolverLanguageParser.g:7731:3: rule__MemberDefinition__MultiplicityAssignment_2
19273 { 23865 {
19274 pushFollow(FOLLOW_2); 23866 pushFollow(FOLLOW_2);
19275 rule__MemberDefinition__MultiplicityAssignment_2(); 23867 rule__MemberDefinition__MultiplicityAssignment_2();
@@ -19305,16 +23897,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19305 23897
19306 23898
19307 // $ANTLR start "rule__MemberDefinition__Group__3" 23899 // $ANTLR start "rule__MemberDefinition__Group__3"
19308 // InternalSolverLanguageParser.g:6223:1: rule__MemberDefinition__Group__3 : rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ; 23900 // InternalSolverLanguageParser.g:7739:1: rule__MemberDefinition__Group__3 : rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ;
19309 public final void rule__MemberDefinition__Group__3() throws RecognitionException { 23901 public final void rule__MemberDefinition__Group__3() throws RecognitionException {
19310 23902
19311 int stackSize = keepStackSize(); 23903 int stackSize = keepStackSize();
19312 23904
19313 try { 23905 try {
19314 // InternalSolverLanguageParser.g:6227:1: ( rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ) 23906 // InternalSolverLanguageParser.g:7743:1: ( rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 )
19315 // InternalSolverLanguageParser.g:6228:2: rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 23907 // InternalSolverLanguageParser.g:7744:2: rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4
19316 { 23908 {
19317 pushFollow(FOLLOW_49); 23909 pushFollow(FOLLOW_57);
19318 rule__MemberDefinition__Group__3__Impl(); 23910 rule__MemberDefinition__Group__3__Impl();
19319 23911
19320 state._fsp--; 23912 state._fsp--;
@@ -19343,21 +23935,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19343 23935
19344 23936
19345 // $ANTLR start "rule__MemberDefinition__Group__3__Impl" 23937 // $ANTLR start "rule__MemberDefinition__Group__3__Impl"
19346 // InternalSolverLanguageParser.g:6235:1: rule__MemberDefinition__Group__3__Impl : ( ( rule__MemberDefinition__NameAssignment_3 ) ) ; 23938 // InternalSolverLanguageParser.g:7751:1: rule__MemberDefinition__Group__3__Impl : ( ( rule__MemberDefinition__NameAssignment_3 ) ) ;
19347 public final void rule__MemberDefinition__Group__3__Impl() throws RecognitionException { 23939 public final void rule__MemberDefinition__Group__3__Impl() throws RecognitionException {
19348 23940
19349 int stackSize = keepStackSize(); 23941 int stackSize = keepStackSize();
19350 23942
19351 try { 23943 try {
19352 // InternalSolverLanguageParser.g:6239:1: ( ( ( rule__MemberDefinition__NameAssignment_3 ) ) ) 23944 // InternalSolverLanguageParser.g:7755:1: ( ( ( rule__MemberDefinition__NameAssignment_3 ) ) )
19353 // InternalSolverLanguageParser.g:6240:1: ( ( rule__MemberDefinition__NameAssignment_3 ) ) 23945 // InternalSolverLanguageParser.g:7756:1: ( ( rule__MemberDefinition__NameAssignment_3 ) )
19354 { 23946 {
19355 // InternalSolverLanguageParser.g:6240:1: ( ( rule__MemberDefinition__NameAssignment_3 ) ) 23947 // InternalSolverLanguageParser.g:7756:1: ( ( rule__MemberDefinition__NameAssignment_3 ) )
19356 // InternalSolverLanguageParser.g:6241:2: ( rule__MemberDefinition__NameAssignment_3 ) 23948 // InternalSolverLanguageParser.g:7757:2: ( rule__MemberDefinition__NameAssignment_3 )
19357 { 23949 {
19358 before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); 23950 before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3());
19359 // InternalSolverLanguageParser.g:6242:2: ( rule__MemberDefinition__NameAssignment_3 ) 23951 // InternalSolverLanguageParser.g:7758:2: ( rule__MemberDefinition__NameAssignment_3 )
19360 // InternalSolverLanguageParser.g:6242:3: rule__MemberDefinition__NameAssignment_3 23952 // InternalSolverLanguageParser.g:7758:3: rule__MemberDefinition__NameAssignment_3
19361 { 23953 {
19362 pushFollow(FOLLOW_2); 23954 pushFollow(FOLLOW_2);
19363 rule__MemberDefinition__NameAssignment_3(); 23955 rule__MemberDefinition__NameAssignment_3();
@@ -19390,16 +23982,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19390 23982
19391 23983
19392 // $ANTLR start "rule__MemberDefinition__Group__4" 23984 // $ANTLR start "rule__MemberDefinition__Group__4"
19393 // InternalSolverLanguageParser.g:6250:1: rule__MemberDefinition__Group__4 : rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ; 23985 // InternalSolverLanguageParser.g:7766:1: rule__MemberDefinition__Group__4 : rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ;
19394 public final void rule__MemberDefinition__Group__4() throws RecognitionException { 23986 public final void rule__MemberDefinition__Group__4() throws RecognitionException {
19395 23987
19396 int stackSize = keepStackSize(); 23988 int stackSize = keepStackSize();
19397 23989
19398 try { 23990 try {
19399 // InternalSolverLanguageParser.g:6254:1: ( rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ) 23991 // InternalSolverLanguageParser.g:7770:1: ( rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 )
19400 // InternalSolverLanguageParser.g:6255:2: rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 23992 // InternalSolverLanguageParser.g:7771:2: rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5
19401 { 23993 {
19402 pushFollow(FOLLOW_49); 23994 pushFollow(FOLLOW_57);
19403 rule__MemberDefinition__Group__4__Impl(); 23995 rule__MemberDefinition__Group__4__Impl();
19404 23996
19405 state._fsp--; 23997 state._fsp--;
@@ -19428,29 +24020,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19428 24020
19429 24021
19430 // $ANTLR start "rule__MemberDefinition__Group__4__Impl" 24022 // $ANTLR start "rule__MemberDefinition__Group__4__Impl"
19431 // InternalSolverLanguageParser.g:6262:1: rule__MemberDefinition__Group__4__Impl : ( ( rule__MemberDefinition__Group_4__0 )? ) ; 24023 // InternalSolverLanguageParser.g:7778:1: rule__MemberDefinition__Group__4__Impl : ( ( rule__MemberDefinition__Group_4__0 )? ) ;
19432 public final void rule__MemberDefinition__Group__4__Impl() throws RecognitionException { 24024 public final void rule__MemberDefinition__Group__4__Impl() throws RecognitionException {
19433 24025
19434 int stackSize = keepStackSize(); 24026 int stackSize = keepStackSize();
19435 24027
19436 try { 24028 try {
19437 // InternalSolverLanguageParser.g:6266:1: ( ( ( rule__MemberDefinition__Group_4__0 )? ) ) 24029 // InternalSolverLanguageParser.g:7782:1: ( ( ( rule__MemberDefinition__Group_4__0 )? ) )
19438 // InternalSolverLanguageParser.g:6267:1: ( ( rule__MemberDefinition__Group_4__0 )? ) 24030 // InternalSolverLanguageParser.g:7783:1: ( ( rule__MemberDefinition__Group_4__0 )? )
19439 { 24031 {
19440 // InternalSolverLanguageParser.g:6267:1: ( ( rule__MemberDefinition__Group_4__0 )? ) 24032 // InternalSolverLanguageParser.g:7783:1: ( ( rule__MemberDefinition__Group_4__0 )? )
19441 // InternalSolverLanguageParser.g:6268:2: ( rule__MemberDefinition__Group_4__0 )? 24033 // InternalSolverLanguageParser.g:7784:2: ( rule__MemberDefinition__Group_4__0 )?
19442 { 24034 {
19443 before(grammarAccess.getMemberDefinitionAccess().getGroup_4()); 24035 before(grammarAccess.getMemberDefinitionAccess().getGroup_4());
19444 // InternalSolverLanguageParser.g:6269:2: ( rule__MemberDefinition__Group_4__0 )? 24036 // InternalSolverLanguageParser.g:7785:2: ( rule__MemberDefinition__Group_4__0 )?
19445 int alt48=2; 24037 int alt57=2;
19446 int LA48_0 = input.LA(1); 24038 int LA57_0 = input.LA(1);
19447 24039
19448 if ( (LA48_0==Opposite) ) { 24040 if ( (LA57_0==Opposite) ) {
19449 alt48=1; 24041 alt57=1;
19450 } 24042 }
19451 switch (alt48) { 24043 switch (alt57) {
19452 case 1 : 24044 case 1 :
19453 // InternalSolverLanguageParser.g:6269:3: rule__MemberDefinition__Group_4__0 24045 // InternalSolverLanguageParser.g:7785:3: rule__MemberDefinition__Group_4__0
19454 { 24046 {
19455 pushFollow(FOLLOW_2); 24047 pushFollow(FOLLOW_2);
19456 rule__MemberDefinition__Group_4__0(); 24048 rule__MemberDefinition__Group_4__0();
@@ -19486,14 +24078,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19486 24078
19487 24079
19488 // $ANTLR start "rule__MemberDefinition__Group__5" 24080 // $ANTLR start "rule__MemberDefinition__Group__5"
19489 // InternalSolverLanguageParser.g:6277:1: rule__MemberDefinition__Group__5 : rule__MemberDefinition__Group__5__Impl ; 24081 // InternalSolverLanguageParser.g:7793:1: rule__MemberDefinition__Group__5 : rule__MemberDefinition__Group__5__Impl ;
19490 public final void rule__MemberDefinition__Group__5() throws RecognitionException { 24082 public final void rule__MemberDefinition__Group__5() throws RecognitionException {
19491 24083
19492 int stackSize = keepStackSize(); 24084 int stackSize = keepStackSize();
19493 24085
19494 try { 24086 try {
19495 // InternalSolverLanguageParser.g:6281:1: ( rule__MemberDefinition__Group__5__Impl ) 24087 // InternalSolverLanguageParser.g:7797:1: ( rule__MemberDefinition__Group__5__Impl )
19496 // InternalSolverLanguageParser.g:6282:2: rule__MemberDefinition__Group__5__Impl 24088 // InternalSolverLanguageParser.g:7798:2: rule__MemberDefinition__Group__5__Impl
19497 { 24089 {
19498 pushFollow(FOLLOW_2); 24090 pushFollow(FOLLOW_2);
19499 rule__MemberDefinition__Group__5__Impl(); 24091 rule__MemberDefinition__Group__5__Impl();
@@ -19519,29 +24111,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19519 24111
19520 24112
19521 // $ANTLR start "rule__MemberDefinition__Group__5__Impl" 24113 // $ANTLR start "rule__MemberDefinition__Group__5__Impl"
19522 // InternalSolverLanguageParser.g:6288:1: rule__MemberDefinition__Group__5__Impl : ( ( Semicolon )? ) ; 24114 // InternalSolverLanguageParser.g:7804:1: rule__MemberDefinition__Group__5__Impl : ( ( Semicolon )? ) ;
19523 public final void rule__MemberDefinition__Group__5__Impl() throws RecognitionException { 24115 public final void rule__MemberDefinition__Group__5__Impl() throws RecognitionException {
19524 24116
19525 int stackSize = keepStackSize(); 24117 int stackSize = keepStackSize();
19526 24118
19527 try { 24119 try {
19528 // InternalSolverLanguageParser.g:6292:1: ( ( ( Semicolon )? ) ) 24120 // InternalSolverLanguageParser.g:7808:1: ( ( ( Semicolon )? ) )
19529 // InternalSolverLanguageParser.g:6293:1: ( ( Semicolon )? ) 24121 // InternalSolverLanguageParser.g:7809:1: ( ( Semicolon )? )
19530 { 24122 {
19531 // InternalSolverLanguageParser.g:6293:1: ( ( Semicolon )? ) 24123 // InternalSolverLanguageParser.g:7809:1: ( ( Semicolon )? )
19532 // InternalSolverLanguageParser.g:6294:2: ( Semicolon )? 24124 // InternalSolverLanguageParser.g:7810:2: ( Semicolon )?
19533 { 24125 {
19534 before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); 24126 before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
19535 // InternalSolverLanguageParser.g:6295:2: ( Semicolon )? 24127 // InternalSolverLanguageParser.g:7811:2: ( Semicolon )?
19536 int alt49=2; 24128 int alt58=2;
19537 int LA49_0 = input.LA(1); 24129 int LA58_0 = input.LA(1);
19538 24130
19539 if ( (LA49_0==Semicolon) ) { 24131 if ( (LA58_0==Semicolon) ) {
19540 alt49=1; 24132 alt58=1;
19541 } 24133 }
19542 switch (alt49) { 24134 switch (alt58) {
19543 case 1 : 24135 case 1 :
19544 // InternalSolverLanguageParser.g:6295:3: Semicolon 24136 // InternalSolverLanguageParser.g:7811:3: Semicolon
19545 { 24137 {
19546 match(input,Semicolon,FOLLOW_2); 24138 match(input,Semicolon,FOLLOW_2);
19547 24139
@@ -19573,14 +24165,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19573 24165
19574 24166
19575 // $ANTLR start "rule__MemberDefinition__Group_4__0" 24167 // $ANTLR start "rule__MemberDefinition__Group_4__0"
19576 // InternalSolverLanguageParser.g:6304:1: rule__MemberDefinition__Group_4__0 : rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ; 24168 // InternalSolverLanguageParser.g:7820:1: rule__MemberDefinition__Group_4__0 : rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ;
19577 public final void rule__MemberDefinition__Group_4__0() throws RecognitionException { 24169 public final void rule__MemberDefinition__Group_4__0() throws RecognitionException {
19578 24170
19579 int stackSize = keepStackSize(); 24171 int stackSize = keepStackSize();
19580 24172
19581 try { 24173 try {
19582 // InternalSolverLanguageParser.g:6308:1: ( rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ) 24174 // InternalSolverLanguageParser.g:7824:1: ( rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 )
19583 // InternalSolverLanguageParser.g:6309:2: rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 24175 // InternalSolverLanguageParser.g:7825:2: rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1
19584 { 24176 {
19585 pushFollow(FOLLOW_9); 24177 pushFollow(FOLLOW_9);
19586 rule__MemberDefinition__Group_4__0__Impl(); 24178 rule__MemberDefinition__Group_4__0__Impl();
@@ -19611,17 +24203,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19611 24203
19612 24204
19613 // $ANTLR start "rule__MemberDefinition__Group_4__0__Impl" 24205 // $ANTLR start "rule__MemberDefinition__Group_4__0__Impl"
19614 // InternalSolverLanguageParser.g:6316:1: rule__MemberDefinition__Group_4__0__Impl : ( Opposite ) ; 24206 // InternalSolverLanguageParser.g:7832:1: rule__MemberDefinition__Group_4__0__Impl : ( Opposite ) ;
19615 public final void rule__MemberDefinition__Group_4__0__Impl() throws RecognitionException { 24207 public final void rule__MemberDefinition__Group_4__0__Impl() throws RecognitionException {
19616 24208
19617 int stackSize = keepStackSize(); 24209 int stackSize = keepStackSize();
19618 24210
19619 try { 24211 try {
19620 // InternalSolverLanguageParser.g:6320:1: ( ( Opposite ) ) 24212 // InternalSolverLanguageParser.g:7836:1: ( ( Opposite ) )
19621 // InternalSolverLanguageParser.g:6321:1: ( Opposite ) 24213 // InternalSolverLanguageParser.g:7837:1: ( Opposite )
19622 { 24214 {
19623 // InternalSolverLanguageParser.g:6321:1: ( Opposite ) 24215 // InternalSolverLanguageParser.g:7837:1: ( Opposite )
19624 // InternalSolverLanguageParser.g:6322:2: Opposite 24216 // InternalSolverLanguageParser.g:7838:2: Opposite
19625 { 24217 {
19626 before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 24218 before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
19627 match(input,Opposite,FOLLOW_2); 24219 match(input,Opposite,FOLLOW_2);
@@ -19648,14 +24240,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19648 24240
19649 24241
19650 // $ANTLR start "rule__MemberDefinition__Group_4__1" 24242 // $ANTLR start "rule__MemberDefinition__Group_4__1"
19651 // InternalSolverLanguageParser.g:6331:1: rule__MemberDefinition__Group_4__1 : rule__MemberDefinition__Group_4__1__Impl ; 24243 // InternalSolverLanguageParser.g:7847:1: rule__MemberDefinition__Group_4__1 : rule__MemberDefinition__Group_4__1__Impl ;
19652 public final void rule__MemberDefinition__Group_4__1() throws RecognitionException { 24244 public final void rule__MemberDefinition__Group_4__1() throws RecognitionException {
19653 24245
19654 int stackSize = keepStackSize(); 24246 int stackSize = keepStackSize();
19655 24247
19656 try { 24248 try {
19657 // InternalSolverLanguageParser.g:6335:1: ( rule__MemberDefinition__Group_4__1__Impl ) 24249 // InternalSolverLanguageParser.g:7851:1: ( rule__MemberDefinition__Group_4__1__Impl )
19658 // InternalSolverLanguageParser.g:6336:2: rule__MemberDefinition__Group_4__1__Impl 24250 // InternalSolverLanguageParser.g:7852:2: rule__MemberDefinition__Group_4__1__Impl
19659 { 24251 {
19660 pushFollow(FOLLOW_2); 24252 pushFollow(FOLLOW_2);
19661 rule__MemberDefinition__Group_4__1__Impl(); 24253 rule__MemberDefinition__Group_4__1__Impl();
@@ -19681,21 +24273,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19681 24273
19682 24274
19683 // $ANTLR start "rule__MemberDefinition__Group_4__1__Impl" 24275 // $ANTLR start "rule__MemberDefinition__Group_4__1__Impl"
19684 // InternalSolverLanguageParser.g:6342:1: rule__MemberDefinition__Group_4__1__Impl : ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ; 24276 // InternalSolverLanguageParser.g:7858:1: rule__MemberDefinition__Group_4__1__Impl : ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ;
19685 public final void rule__MemberDefinition__Group_4__1__Impl() throws RecognitionException { 24277 public final void rule__MemberDefinition__Group_4__1__Impl() throws RecognitionException {
19686 24278
19687 int stackSize = keepStackSize(); 24279 int stackSize = keepStackSize();
19688 24280
19689 try { 24281 try {
19690 // InternalSolverLanguageParser.g:6346:1: ( ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ) 24282 // InternalSolverLanguageParser.g:7862:1: ( ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) )
19691 // InternalSolverLanguageParser.g:6347:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) 24283 // InternalSolverLanguageParser.g:7863:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) )
19692 { 24284 {
19693 // InternalSolverLanguageParser.g:6347:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) 24285 // InternalSolverLanguageParser.g:7863:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) )
19694 // InternalSolverLanguageParser.g:6348:2: ( rule__MemberDefinition__OppositeAssignment_4_1 ) 24286 // InternalSolverLanguageParser.g:7864:2: ( rule__MemberDefinition__OppositeAssignment_4_1 )
19695 { 24287 {
19696 before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); 24288 before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1());
19697 // InternalSolverLanguageParser.g:6349:2: ( rule__MemberDefinition__OppositeAssignment_4_1 ) 24289 // InternalSolverLanguageParser.g:7865:2: ( rule__MemberDefinition__OppositeAssignment_4_1 )
19698 // InternalSolverLanguageParser.g:6349:3: rule__MemberDefinition__OppositeAssignment_4_1 24290 // InternalSolverLanguageParser.g:7865:3: rule__MemberDefinition__OppositeAssignment_4_1
19699 { 24291 {
19700 pushFollow(FOLLOW_2); 24292 pushFollow(FOLLOW_2);
19701 rule__MemberDefinition__OppositeAssignment_4_1(); 24293 rule__MemberDefinition__OppositeAssignment_4_1();
@@ -19728,16 +24320,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19728 24320
19729 24321
19730 // $ANTLR start "rule__ManyMultiplicity__Group__0" 24322 // $ANTLR start "rule__ManyMultiplicity__Group__0"
19731 // InternalSolverLanguageParser.g:6358:1: rule__ManyMultiplicity__Group__0 : rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ; 24323 // InternalSolverLanguageParser.g:7874:1: rule__ManyMultiplicity__Group__0 : rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ;
19732 public final void rule__ManyMultiplicity__Group__0() throws RecognitionException { 24324 public final void rule__ManyMultiplicity__Group__0() throws RecognitionException {
19733 24325
19734 int stackSize = keepStackSize(); 24326 int stackSize = keepStackSize();
19735 24327
19736 try { 24328 try {
19737 // InternalSolverLanguageParser.g:6362:1: ( rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ) 24329 // InternalSolverLanguageParser.g:7878:1: ( rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 )
19738 // InternalSolverLanguageParser.g:6363:2: rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 24330 // InternalSolverLanguageParser.g:7879:2: rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1
19739 { 24331 {
19740 pushFollow(FOLLOW_50); 24332 pushFollow(FOLLOW_38);
19741 rule__ManyMultiplicity__Group__0__Impl(); 24333 rule__ManyMultiplicity__Group__0__Impl();
19742 24334
19743 state._fsp--; 24335 state._fsp--;
@@ -19766,21 +24358,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19766 24358
19767 24359
19768 // $ANTLR start "rule__ManyMultiplicity__Group__0__Impl" 24360 // $ANTLR start "rule__ManyMultiplicity__Group__0__Impl"
19769 // InternalSolverLanguageParser.g:6370:1: rule__ManyMultiplicity__Group__0__Impl : ( () ) ; 24361 // InternalSolverLanguageParser.g:7886:1: rule__ManyMultiplicity__Group__0__Impl : ( () ) ;
19770 public final void rule__ManyMultiplicity__Group__0__Impl() throws RecognitionException { 24362 public final void rule__ManyMultiplicity__Group__0__Impl() throws RecognitionException {
19771 24363
19772 int stackSize = keepStackSize(); 24364 int stackSize = keepStackSize();
19773 24365
19774 try { 24366 try {
19775 // InternalSolverLanguageParser.g:6374:1: ( ( () ) ) 24367 // InternalSolverLanguageParser.g:7890:1: ( ( () ) )
19776 // InternalSolverLanguageParser.g:6375:1: ( () ) 24368 // InternalSolverLanguageParser.g:7891:1: ( () )
19777 { 24369 {
19778 // InternalSolverLanguageParser.g:6375:1: ( () ) 24370 // InternalSolverLanguageParser.g:7891:1: ( () )
19779 // InternalSolverLanguageParser.g:6376:2: () 24371 // InternalSolverLanguageParser.g:7892:2: ()
19780 { 24372 {
19781 before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); 24373 before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0());
19782 // InternalSolverLanguageParser.g:6377:2: () 24374 // InternalSolverLanguageParser.g:7893:2: ()
19783 // InternalSolverLanguageParser.g:6377:3: 24375 // InternalSolverLanguageParser.g:7893:3:
19784 { 24376 {
19785 } 24377 }
19786 24378
@@ -19803,16 +24395,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19803 24395
19804 24396
19805 // $ANTLR start "rule__ManyMultiplicity__Group__1" 24397 // $ANTLR start "rule__ManyMultiplicity__Group__1"
19806 // InternalSolverLanguageParser.g:6385:1: rule__ManyMultiplicity__Group__1 : rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ; 24398 // InternalSolverLanguageParser.g:7901:1: rule__ManyMultiplicity__Group__1 : rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ;
19807 public final void rule__ManyMultiplicity__Group__1() throws RecognitionException { 24399 public final void rule__ManyMultiplicity__Group__1() throws RecognitionException {
19808 24400
19809 int stackSize = keepStackSize(); 24401 int stackSize = keepStackSize();
19810 24402
19811 try { 24403 try {
19812 // InternalSolverLanguageParser.g:6389:1: ( rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ) 24404 // InternalSolverLanguageParser.g:7905:1: ( rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 )
19813 // InternalSolverLanguageParser.g:6390:2: rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 24405 // InternalSolverLanguageParser.g:7906:2: rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2
19814 { 24406 {
19815 pushFollow(FOLLOW_39); 24407 pushFollow(FOLLOW_48);
19816 rule__ManyMultiplicity__Group__1__Impl(); 24408 rule__ManyMultiplicity__Group__1__Impl();
19817 24409
19818 state._fsp--; 24410 state._fsp--;
@@ -19841,17 +24433,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19841 24433
19842 24434
19843 // $ANTLR start "rule__ManyMultiplicity__Group__1__Impl" 24435 // $ANTLR start "rule__ManyMultiplicity__Group__1__Impl"
19844 // InternalSolverLanguageParser.g:6397:1: rule__ManyMultiplicity__Group__1__Impl : ( LeftSquareBracket ) ; 24436 // InternalSolverLanguageParser.g:7913:1: rule__ManyMultiplicity__Group__1__Impl : ( LeftSquareBracket ) ;
19845 public final void rule__ManyMultiplicity__Group__1__Impl() throws RecognitionException { 24437 public final void rule__ManyMultiplicity__Group__1__Impl() throws RecognitionException {
19846 24438
19847 int stackSize = keepStackSize(); 24439 int stackSize = keepStackSize();
19848 24440
19849 try { 24441 try {
19850 // InternalSolverLanguageParser.g:6401:1: ( ( LeftSquareBracket ) ) 24442 // InternalSolverLanguageParser.g:7917:1: ( ( LeftSquareBracket ) )
19851 // InternalSolverLanguageParser.g:6402:1: ( LeftSquareBracket ) 24443 // InternalSolverLanguageParser.g:7918:1: ( LeftSquareBracket )
19852 { 24444 {
19853 // InternalSolverLanguageParser.g:6402:1: ( LeftSquareBracket ) 24445 // InternalSolverLanguageParser.g:7918:1: ( LeftSquareBracket )
19854 // InternalSolverLanguageParser.g:6403:2: LeftSquareBracket 24446 // InternalSolverLanguageParser.g:7919:2: LeftSquareBracket
19855 { 24447 {
19856 before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 24448 before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
19857 match(input,LeftSquareBracket,FOLLOW_2); 24449 match(input,LeftSquareBracket,FOLLOW_2);
@@ -19878,14 +24470,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19878 24470
19879 24471
19880 // $ANTLR start "rule__ManyMultiplicity__Group__2" 24472 // $ANTLR start "rule__ManyMultiplicity__Group__2"
19881 // InternalSolverLanguageParser.g:6412:1: rule__ManyMultiplicity__Group__2 : rule__ManyMultiplicity__Group__2__Impl ; 24473 // InternalSolverLanguageParser.g:7928:1: rule__ManyMultiplicity__Group__2 : rule__ManyMultiplicity__Group__2__Impl ;
19882 public final void rule__ManyMultiplicity__Group__2() throws RecognitionException { 24474 public final void rule__ManyMultiplicity__Group__2() throws RecognitionException {
19883 24475
19884 int stackSize = keepStackSize(); 24476 int stackSize = keepStackSize();
19885 24477
19886 try { 24478 try {
19887 // InternalSolverLanguageParser.g:6416:1: ( rule__ManyMultiplicity__Group__2__Impl ) 24479 // InternalSolverLanguageParser.g:7932:1: ( rule__ManyMultiplicity__Group__2__Impl )
19888 // InternalSolverLanguageParser.g:6417:2: rule__ManyMultiplicity__Group__2__Impl 24480 // InternalSolverLanguageParser.g:7933:2: rule__ManyMultiplicity__Group__2__Impl
19889 { 24481 {
19890 pushFollow(FOLLOW_2); 24482 pushFollow(FOLLOW_2);
19891 rule__ManyMultiplicity__Group__2__Impl(); 24483 rule__ManyMultiplicity__Group__2__Impl();
@@ -19911,17 +24503,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19911 24503
19912 24504
19913 // $ANTLR start "rule__ManyMultiplicity__Group__2__Impl" 24505 // $ANTLR start "rule__ManyMultiplicity__Group__2__Impl"
19914 // InternalSolverLanguageParser.g:6423:1: rule__ManyMultiplicity__Group__2__Impl : ( RightSquareBracket ) ; 24506 // InternalSolverLanguageParser.g:7939:1: rule__ManyMultiplicity__Group__2__Impl : ( RightSquareBracket ) ;
19915 public final void rule__ManyMultiplicity__Group__2__Impl() throws RecognitionException { 24507 public final void rule__ManyMultiplicity__Group__2__Impl() throws RecognitionException {
19916 24508
19917 int stackSize = keepStackSize(); 24509 int stackSize = keepStackSize();
19918 24510
19919 try { 24511 try {
19920 // InternalSolverLanguageParser.g:6427:1: ( ( RightSquareBracket ) ) 24512 // InternalSolverLanguageParser.g:7943:1: ( ( RightSquareBracket ) )
19921 // InternalSolverLanguageParser.g:6428:1: ( RightSquareBracket ) 24513 // InternalSolverLanguageParser.g:7944:1: ( RightSquareBracket )
19922 { 24514 {
19923 // InternalSolverLanguageParser.g:6428:1: ( RightSquareBracket ) 24515 // InternalSolverLanguageParser.g:7944:1: ( RightSquareBracket )
19924 // InternalSolverLanguageParser.g:6429:2: RightSquareBracket 24516 // InternalSolverLanguageParser.g:7945:2: RightSquareBracket
19925 { 24517 {
19926 before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); 24518 before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2());
19927 match(input,RightSquareBracket,FOLLOW_2); 24519 match(input,RightSquareBracket,FOLLOW_2);
@@ -19948,16 +24540,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19948 24540
19949 24541
19950 // $ANTLR start "rule__ExactMultiplicity__Group__0" 24542 // $ANTLR start "rule__ExactMultiplicity__Group__0"
19951 // InternalSolverLanguageParser.g:6439:1: rule__ExactMultiplicity__Group__0 : rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ; 24543 // InternalSolverLanguageParser.g:7955:1: rule__ExactMultiplicity__Group__0 : rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ;
19952 public final void rule__ExactMultiplicity__Group__0() throws RecognitionException { 24544 public final void rule__ExactMultiplicity__Group__0() throws RecognitionException {
19953 24545
19954 int stackSize = keepStackSize(); 24546 int stackSize = keepStackSize();
19955 24547
19956 try { 24548 try {
19957 // InternalSolverLanguageParser.g:6443:1: ( rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ) 24549 // InternalSolverLanguageParser.g:7959:1: ( rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 )
19958 // InternalSolverLanguageParser.g:6444:2: rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 24550 // InternalSolverLanguageParser.g:7960:2: rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1
19959 { 24551 {
19960 pushFollow(FOLLOW_51); 24552 pushFollow(FOLLOW_58);
19961 rule__ExactMultiplicity__Group__0__Impl(); 24553 rule__ExactMultiplicity__Group__0__Impl();
19962 24554
19963 state._fsp--; 24555 state._fsp--;
@@ -19986,17 +24578,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
19986 24578
19987 24579
19988 // $ANTLR start "rule__ExactMultiplicity__Group__0__Impl" 24580 // $ANTLR start "rule__ExactMultiplicity__Group__0__Impl"
19989 // InternalSolverLanguageParser.g:6451:1: rule__ExactMultiplicity__Group__0__Impl : ( LeftSquareBracket ) ; 24581 // InternalSolverLanguageParser.g:7967:1: rule__ExactMultiplicity__Group__0__Impl : ( LeftSquareBracket ) ;
19990 public final void rule__ExactMultiplicity__Group__0__Impl() throws RecognitionException { 24582 public final void rule__ExactMultiplicity__Group__0__Impl() throws RecognitionException {
19991 24583
19992 int stackSize = keepStackSize(); 24584 int stackSize = keepStackSize();
19993 24585
19994 try { 24586 try {
19995 // InternalSolverLanguageParser.g:6455:1: ( ( LeftSquareBracket ) ) 24587 // InternalSolverLanguageParser.g:7971:1: ( ( LeftSquareBracket ) )
19996 // InternalSolverLanguageParser.g:6456:1: ( LeftSquareBracket ) 24588 // InternalSolverLanguageParser.g:7972:1: ( LeftSquareBracket )
19997 { 24589 {
19998 // InternalSolverLanguageParser.g:6456:1: ( LeftSquareBracket ) 24590 // InternalSolverLanguageParser.g:7972:1: ( LeftSquareBracket )
19999 // InternalSolverLanguageParser.g:6457:2: LeftSquareBracket 24591 // InternalSolverLanguageParser.g:7973:2: LeftSquareBracket
20000 { 24592 {
20001 before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); 24593 before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
20002 match(input,LeftSquareBracket,FOLLOW_2); 24594 match(input,LeftSquareBracket,FOLLOW_2);
@@ -20023,16 +24615,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20023 24615
20024 24616
20025 // $ANTLR start "rule__ExactMultiplicity__Group__1" 24617 // $ANTLR start "rule__ExactMultiplicity__Group__1"
20026 // InternalSolverLanguageParser.g:6466:1: rule__ExactMultiplicity__Group__1 : rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ; 24618 // InternalSolverLanguageParser.g:7982:1: rule__ExactMultiplicity__Group__1 : rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ;
20027 public final void rule__ExactMultiplicity__Group__1() throws RecognitionException { 24619 public final void rule__ExactMultiplicity__Group__1() throws RecognitionException {
20028 24620
20029 int stackSize = keepStackSize(); 24621 int stackSize = keepStackSize();
20030 24622
20031 try { 24623 try {
20032 // InternalSolverLanguageParser.g:6470:1: ( rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ) 24624 // InternalSolverLanguageParser.g:7986:1: ( rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 )
20033 // InternalSolverLanguageParser.g:6471:2: rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 24625 // InternalSolverLanguageParser.g:7987:2: rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2
20034 { 24626 {
20035 pushFollow(FOLLOW_39); 24627 pushFollow(FOLLOW_48);
20036 rule__ExactMultiplicity__Group__1__Impl(); 24628 rule__ExactMultiplicity__Group__1__Impl();
20037 24629
20038 state._fsp--; 24630 state._fsp--;
@@ -20061,21 +24653,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20061 24653
20062 24654
20063 // $ANTLR start "rule__ExactMultiplicity__Group__1__Impl" 24655 // $ANTLR start "rule__ExactMultiplicity__Group__1__Impl"
20064 // InternalSolverLanguageParser.g:6478:1: rule__ExactMultiplicity__Group__1__Impl : ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ; 24656 // InternalSolverLanguageParser.g:7994:1: rule__ExactMultiplicity__Group__1__Impl : ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ;
20065 public final void rule__ExactMultiplicity__Group__1__Impl() throws RecognitionException { 24657 public final void rule__ExactMultiplicity__Group__1__Impl() throws RecognitionException {
20066 24658
20067 int stackSize = keepStackSize(); 24659 int stackSize = keepStackSize();
20068 24660
20069 try { 24661 try {
20070 // InternalSolverLanguageParser.g:6482:1: ( ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ) 24662 // InternalSolverLanguageParser.g:7998:1: ( ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) )
20071 // InternalSolverLanguageParser.g:6483:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) 24663 // InternalSolverLanguageParser.g:7999:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) )
20072 { 24664 {
20073 // InternalSolverLanguageParser.g:6483:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) 24665 // InternalSolverLanguageParser.g:7999:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) )
20074 // InternalSolverLanguageParser.g:6484:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) 24666 // InternalSolverLanguageParser.g:8000:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 )
20075 { 24667 {
20076 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); 24668 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1());
20077 // InternalSolverLanguageParser.g:6485:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) 24669 // InternalSolverLanguageParser.g:8001:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 )
20078 // InternalSolverLanguageParser.g:6485:3: rule__ExactMultiplicity__MultiplicityAssignment_1 24670 // InternalSolverLanguageParser.g:8001:3: rule__ExactMultiplicity__MultiplicityAssignment_1
20079 { 24671 {
20080 pushFollow(FOLLOW_2); 24672 pushFollow(FOLLOW_2);
20081 rule__ExactMultiplicity__MultiplicityAssignment_1(); 24673 rule__ExactMultiplicity__MultiplicityAssignment_1();
@@ -20108,14 +24700,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20108 24700
20109 24701
20110 // $ANTLR start "rule__ExactMultiplicity__Group__2" 24702 // $ANTLR start "rule__ExactMultiplicity__Group__2"
20111 // InternalSolverLanguageParser.g:6493:1: rule__ExactMultiplicity__Group__2 : rule__ExactMultiplicity__Group__2__Impl ; 24703 // InternalSolverLanguageParser.g:8009:1: rule__ExactMultiplicity__Group__2 : rule__ExactMultiplicity__Group__2__Impl ;
20112 public final void rule__ExactMultiplicity__Group__2() throws RecognitionException { 24704 public final void rule__ExactMultiplicity__Group__2() throws RecognitionException {
20113 24705
20114 int stackSize = keepStackSize(); 24706 int stackSize = keepStackSize();
20115 24707
20116 try { 24708 try {
20117 // InternalSolverLanguageParser.g:6497:1: ( rule__ExactMultiplicity__Group__2__Impl ) 24709 // InternalSolverLanguageParser.g:8013:1: ( rule__ExactMultiplicity__Group__2__Impl )
20118 // InternalSolverLanguageParser.g:6498:2: rule__ExactMultiplicity__Group__2__Impl 24710 // InternalSolverLanguageParser.g:8014:2: rule__ExactMultiplicity__Group__2__Impl
20119 { 24711 {
20120 pushFollow(FOLLOW_2); 24712 pushFollow(FOLLOW_2);
20121 rule__ExactMultiplicity__Group__2__Impl(); 24713 rule__ExactMultiplicity__Group__2__Impl();
@@ -20141,17 +24733,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20141 24733
20142 24734
20143 // $ANTLR start "rule__ExactMultiplicity__Group__2__Impl" 24735 // $ANTLR start "rule__ExactMultiplicity__Group__2__Impl"
20144 // InternalSolverLanguageParser.g:6504:1: rule__ExactMultiplicity__Group__2__Impl : ( RightSquareBracket ) ; 24736 // InternalSolverLanguageParser.g:8020:1: rule__ExactMultiplicity__Group__2__Impl : ( RightSquareBracket ) ;
20145 public final void rule__ExactMultiplicity__Group__2__Impl() throws RecognitionException { 24737 public final void rule__ExactMultiplicity__Group__2__Impl() throws RecognitionException {
20146 24738
20147 int stackSize = keepStackSize(); 24739 int stackSize = keepStackSize();
20148 24740
20149 try { 24741 try {
20150 // InternalSolverLanguageParser.g:6508:1: ( ( RightSquareBracket ) ) 24742 // InternalSolverLanguageParser.g:8024:1: ( ( RightSquareBracket ) )
20151 // InternalSolverLanguageParser.g:6509:1: ( RightSquareBracket ) 24743 // InternalSolverLanguageParser.g:8025:1: ( RightSquareBracket )
20152 { 24744 {
20153 // InternalSolverLanguageParser.g:6509:1: ( RightSquareBracket ) 24745 // InternalSolverLanguageParser.g:8025:1: ( RightSquareBracket )
20154 // InternalSolverLanguageParser.g:6510:2: RightSquareBracket 24746 // InternalSolverLanguageParser.g:8026:2: RightSquareBracket
20155 { 24747 {
20156 before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); 24748 before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2());
20157 match(input,RightSquareBracket,FOLLOW_2); 24749 match(input,RightSquareBracket,FOLLOW_2);
@@ -20178,16 +24770,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20178 24770
20179 24771
20180 // $ANTLR start "rule__BoundedMultiplicity__Group__0" 24772 // $ANTLR start "rule__BoundedMultiplicity__Group__0"
20181 // InternalSolverLanguageParser.g:6520:1: rule__BoundedMultiplicity__Group__0 : rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ; 24773 // InternalSolverLanguageParser.g:8036:1: rule__BoundedMultiplicity__Group__0 : rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ;
20182 public final void rule__BoundedMultiplicity__Group__0() throws RecognitionException { 24774 public final void rule__BoundedMultiplicity__Group__0() throws RecognitionException {
20183 24775
20184 int stackSize = keepStackSize(); 24776 int stackSize = keepStackSize();
20185 24777
20186 try { 24778 try {
20187 // InternalSolverLanguageParser.g:6524:1: ( rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ) 24779 // InternalSolverLanguageParser.g:8040:1: ( rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 )
20188 // InternalSolverLanguageParser.g:6525:2: rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 24780 // InternalSolverLanguageParser.g:8041:2: rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1
20189 { 24781 {
20190 pushFollow(FOLLOW_52); 24782 pushFollow(FOLLOW_59);
20191 rule__BoundedMultiplicity__Group__0__Impl(); 24783 rule__BoundedMultiplicity__Group__0__Impl();
20192 24784
20193 state._fsp--; 24785 state._fsp--;
@@ -20216,17 +24808,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20216 24808
20217 24809
20218 // $ANTLR start "rule__BoundedMultiplicity__Group__0__Impl" 24810 // $ANTLR start "rule__BoundedMultiplicity__Group__0__Impl"
20219 // InternalSolverLanguageParser.g:6532:1: rule__BoundedMultiplicity__Group__0__Impl : ( LeftSquareBracket ) ; 24811 // InternalSolverLanguageParser.g:8048:1: rule__BoundedMultiplicity__Group__0__Impl : ( LeftSquareBracket ) ;
20220 public final void rule__BoundedMultiplicity__Group__0__Impl() throws RecognitionException { 24812 public final void rule__BoundedMultiplicity__Group__0__Impl() throws RecognitionException {
20221 24813
20222 int stackSize = keepStackSize(); 24814 int stackSize = keepStackSize();
20223 24815
20224 try { 24816 try {
20225 // InternalSolverLanguageParser.g:6536:1: ( ( LeftSquareBracket ) ) 24817 // InternalSolverLanguageParser.g:8052:1: ( ( LeftSquareBracket ) )
20226 // InternalSolverLanguageParser.g:6537:1: ( LeftSquareBracket ) 24818 // InternalSolverLanguageParser.g:8053:1: ( LeftSquareBracket )
20227 { 24819 {
20228 // InternalSolverLanguageParser.g:6537:1: ( LeftSquareBracket ) 24820 // InternalSolverLanguageParser.g:8053:1: ( LeftSquareBracket )
20229 // InternalSolverLanguageParser.g:6538:2: LeftSquareBracket 24821 // InternalSolverLanguageParser.g:8054:2: LeftSquareBracket
20230 { 24822 {
20231 before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); 24823 before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
20232 match(input,LeftSquareBracket,FOLLOW_2); 24824 match(input,LeftSquareBracket,FOLLOW_2);
@@ -20253,16 +24845,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20253 24845
20254 24846
20255 // $ANTLR start "rule__BoundedMultiplicity__Group__1" 24847 // $ANTLR start "rule__BoundedMultiplicity__Group__1"
20256 // InternalSolverLanguageParser.g:6547:1: rule__BoundedMultiplicity__Group__1 : rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ; 24848 // InternalSolverLanguageParser.g:8063:1: rule__BoundedMultiplicity__Group__1 : rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ;
20257 public final void rule__BoundedMultiplicity__Group__1() throws RecognitionException { 24849 public final void rule__BoundedMultiplicity__Group__1() throws RecognitionException {
20258 24850
20259 int stackSize = keepStackSize(); 24851 int stackSize = keepStackSize();
20260 24852
20261 try { 24853 try {
20262 // InternalSolverLanguageParser.g:6551:1: ( rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ) 24854 // InternalSolverLanguageParser.g:8067:1: ( rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 )
20263 // InternalSolverLanguageParser.g:6552:2: rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 24855 // InternalSolverLanguageParser.g:8068:2: rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2
20264 { 24856 {
20265 pushFollow(FOLLOW_38); 24857 pushFollow(FOLLOW_47);
20266 rule__BoundedMultiplicity__Group__1__Impl(); 24858 rule__BoundedMultiplicity__Group__1__Impl();
20267 24859
20268 state._fsp--; 24860 state._fsp--;
@@ -20291,21 +24883,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20291 24883
20292 24884
20293 // $ANTLR start "rule__BoundedMultiplicity__Group__1__Impl" 24885 // $ANTLR start "rule__BoundedMultiplicity__Group__1__Impl"
20294 // InternalSolverLanguageParser.g:6559:1: rule__BoundedMultiplicity__Group__1__Impl : ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ; 24886 // InternalSolverLanguageParser.g:8075:1: rule__BoundedMultiplicity__Group__1__Impl : ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ;
20295 public final void rule__BoundedMultiplicity__Group__1__Impl() throws RecognitionException { 24887 public final void rule__BoundedMultiplicity__Group__1__Impl() throws RecognitionException {
20296 24888
20297 int stackSize = keepStackSize(); 24889 int stackSize = keepStackSize();
20298 24890
20299 try { 24891 try {
20300 // InternalSolverLanguageParser.g:6563:1: ( ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ) 24892 // InternalSolverLanguageParser.g:8079:1: ( ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) )
20301 // InternalSolverLanguageParser.g:6564:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) 24893 // InternalSolverLanguageParser.g:8080:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) )
20302 { 24894 {
20303 // InternalSolverLanguageParser.g:6564:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) 24895 // InternalSolverLanguageParser.g:8080:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) )
20304 // InternalSolverLanguageParser.g:6565:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) 24896 // InternalSolverLanguageParser.g:8081:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 )
20305 { 24897 {
20306 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); 24898 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1());
20307 // InternalSolverLanguageParser.g:6566:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) 24899 // InternalSolverLanguageParser.g:8082:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 )
20308 // InternalSolverLanguageParser.g:6566:3: rule__BoundedMultiplicity__LowerBoundAssignment_1 24900 // InternalSolverLanguageParser.g:8082:3: rule__BoundedMultiplicity__LowerBoundAssignment_1
20309 { 24901 {
20310 pushFollow(FOLLOW_2); 24902 pushFollow(FOLLOW_2);
20311 rule__BoundedMultiplicity__LowerBoundAssignment_1(); 24903 rule__BoundedMultiplicity__LowerBoundAssignment_1();
@@ -20338,16 +24930,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20338 24930
20339 24931
20340 // $ANTLR start "rule__BoundedMultiplicity__Group__2" 24932 // $ANTLR start "rule__BoundedMultiplicity__Group__2"
20341 // InternalSolverLanguageParser.g:6574:1: rule__BoundedMultiplicity__Group__2 : rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ; 24933 // InternalSolverLanguageParser.g:8090:1: rule__BoundedMultiplicity__Group__2 : rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ;
20342 public final void rule__BoundedMultiplicity__Group__2() throws RecognitionException { 24934 public final void rule__BoundedMultiplicity__Group__2() throws RecognitionException {
20343 24935
20344 int stackSize = keepStackSize(); 24936 int stackSize = keepStackSize();
20345 24937
20346 try { 24938 try {
20347 // InternalSolverLanguageParser.g:6578:1: ( rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ) 24939 // InternalSolverLanguageParser.g:8094:1: ( rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 )
20348 // InternalSolverLanguageParser.g:6579:2: rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 24940 // InternalSolverLanguageParser.g:8095:2: rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3
20349 { 24941 {
20350 pushFollow(FOLLOW_51); 24942 pushFollow(FOLLOW_58);
20351 rule__BoundedMultiplicity__Group__2__Impl(); 24943 rule__BoundedMultiplicity__Group__2__Impl();
20352 24944
20353 state._fsp--; 24945 state._fsp--;
@@ -20376,17 +24968,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20376 24968
20377 24969
20378 // $ANTLR start "rule__BoundedMultiplicity__Group__2__Impl" 24970 // $ANTLR start "rule__BoundedMultiplicity__Group__2__Impl"
20379 // InternalSolverLanguageParser.g:6586:1: rule__BoundedMultiplicity__Group__2__Impl : ( FullStopFullStop ) ; 24971 // InternalSolverLanguageParser.g:8102:1: rule__BoundedMultiplicity__Group__2__Impl : ( FullStopFullStop ) ;
20380 public final void rule__BoundedMultiplicity__Group__2__Impl() throws RecognitionException { 24972 public final void rule__BoundedMultiplicity__Group__2__Impl() throws RecognitionException {
20381 24973
20382 int stackSize = keepStackSize(); 24974 int stackSize = keepStackSize();
20383 24975
20384 try { 24976 try {
20385 // InternalSolverLanguageParser.g:6590:1: ( ( FullStopFullStop ) ) 24977 // InternalSolverLanguageParser.g:8106:1: ( ( FullStopFullStop ) )
20386 // InternalSolverLanguageParser.g:6591:1: ( FullStopFullStop ) 24978 // InternalSolverLanguageParser.g:8107:1: ( FullStopFullStop )
20387 { 24979 {
20388 // InternalSolverLanguageParser.g:6591:1: ( FullStopFullStop ) 24980 // InternalSolverLanguageParser.g:8107:1: ( FullStopFullStop )
20389 // InternalSolverLanguageParser.g:6592:2: FullStopFullStop 24981 // InternalSolverLanguageParser.g:8108:2: FullStopFullStop
20390 { 24982 {
20391 before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 24983 before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
20392 match(input,FullStopFullStop,FOLLOW_2); 24984 match(input,FullStopFullStop,FOLLOW_2);
@@ -20413,16 +25005,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20413 25005
20414 25006
20415 // $ANTLR start "rule__BoundedMultiplicity__Group__3" 25007 // $ANTLR start "rule__BoundedMultiplicity__Group__3"
20416 // InternalSolverLanguageParser.g:6601:1: rule__BoundedMultiplicity__Group__3 : rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ; 25008 // InternalSolverLanguageParser.g:8117:1: rule__BoundedMultiplicity__Group__3 : rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ;
20417 public final void rule__BoundedMultiplicity__Group__3() throws RecognitionException { 25009 public final void rule__BoundedMultiplicity__Group__3() throws RecognitionException {
20418 25010
20419 int stackSize = keepStackSize(); 25011 int stackSize = keepStackSize();
20420 25012
20421 try { 25013 try {
20422 // InternalSolverLanguageParser.g:6605:1: ( rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ) 25014 // InternalSolverLanguageParser.g:8121:1: ( rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 )
20423 // InternalSolverLanguageParser.g:6606:2: rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 25015 // InternalSolverLanguageParser.g:8122:2: rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4
20424 { 25016 {
20425 pushFollow(FOLLOW_39); 25017 pushFollow(FOLLOW_48);
20426 rule__BoundedMultiplicity__Group__3__Impl(); 25018 rule__BoundedMultiplicity__Group__3__Impl();
20427 25019
20428 state._fsp--; 25020 state._fsp--;
@@ -20451,21 +25043,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20451 25043
20452 25044
20453 // $ANTLR start "rule__BoundedMultiplicity__Group__3__Impl" 25045 // $ANTLR start "rule__BoundedMultiplicity__Group__3__Impl"
20454 // InternalSolverLanguageParser.g:6613:1: rule__BoundedMultiplicity__Group__3__Impl : ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ; 25046 // InternalSolverLanguageParser.g:8129:1: rule__BoundedMultiplicity__Group__3__Impl : ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ;
20455 public final void rule__BoundedMultiplicity__Group__3__Impl() throws RecognitionException { 25047 public final void rule__BoundedMultiplicity__Group__3__Impl() throws RecognitionException {
20456 25048
20457 int stackSize = keepStackSize(); 25049 int stackSize = keepStackSize();
20458 25050
20459 try { 25051 try {
20460 // InternalSolverLanguageParser.g:6617:1: ( ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ) 25052 // InternalSolverLanguageParser.g:8133:1: ( ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) )
20461 // InternalSolverLanguageParser.g:6618:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) 25053 // InternalSolverLanguageParser.g:8134:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) )
20462 { 25054 {
20463 // InternalSolverLanguageParser.g:6618:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) 25055 // InternalSolverLanguageParser.g:8134:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) )
20464 // InternalSolverLanguageParser.g:6619:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) 25056 // InternalSolverLanguageParser.g:8135:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 )
20465 { 25057 {
20466 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); 25058 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3());
20467 // InternalSolverLanguageParser.g:6620:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) 25059 // InternalSolverLanguageParser.g:8136:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 )
20468 // InternalSolverLanguageParser.g:6620:3: rule__BoundedMultiplicity__UpperBoundAssignment_3 25060 // InternalSolverLanguageParser.g:8136:3: rule__BoundedMultiplicity__UpperBoundAssignment_3
20469 { 25061 {
20470 pushFollow(FOLLOW_2); 25062 pushFollow(FOLLOW_2);
20471 rule__BoundedMultiplicity__UpperBoundAssignment_3(); 25063 rule__BoundedMultiplicity__UpperBoundAssignment_3();
@@ -20498,14 +25090,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20498 25090
20499 25091
20500 // $ANTLR start "rule__BoundedMultiplicity__Group__4" 25092 // $ANTLR start "rule__BoundedMultiplicity__Group__4"
20501 // InternalSolverLanguageParser.g:6628:1: rule__BoundedMultiplicity__Group__4 : rule__BoundedMultiplicity__Group__4__Impl ; 25093 // InternalSolverLanguageParser.g:8144:1: rule__BoundedMultiplicity__Group__4 : rule__BoundedMultiplicity__Group__4__Impl ;
20502 public final void rule__BoundedMultiplicity__Group__4() throws RecognitionException { 25094 public final void rule__BoundedMultiplicity__Group__4() throws RecognitionException {
20503 25095
20504 int stackSize = keepStackSize(); 25096 int stackSize = keepStackSize();
20505 25097
20506 try { 25098 try {
20507 // InternalSolverLanguageParser.g:6632:1: ( rule__BoundedMultiplicity__Group__4__Impl ) 25099 // InternalSolverLanguageParser.g:8148:1: ( rule__BoundedMultiplicity__Group__4__Impl )
20508 // InternalSolverLanguageParser.g:6633:2: rule__BoundedMultiplicity__Group__4__Impl 25100 // InternalSolverLanguageParser.g:8149:2: rule__BoundedMultiplicity__Group__4__Impl
20509 { 25101 {
20510 pushFollow(FOLLOW_2); 25102 pushFollow(FOLLOW_2);
20511 rule__BoundedMultiplicity__Group__4__Impl(); 25103 rule__BoundedMultiplicity__Group__4__Impl();
@@ -20531,17 +25123,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20531 25123
20532 25124
20533 // $ANTLR start "rule__BoundedMultiplicity__Group__4__Impl" 25125 // $ANTLR start "rule__BoundedMultiplicity__Group__4__Impl"
20534 // InternalSolverLanguageParser.g:6639:1: rule__BoundedMultiplicity__Group__4__Impl : ( RightSquareBracket ) ; 25126 // InternalSolverLanguageParser.g:8155:1: rule__BoundedMultiplicity__Group__4__Impl : ( RightSquareBracket ) ;
20535 public final void rule__BoundedMultiplicity__Group__4__Impl() throws RecognitionException { 25127 public final void rule__BoundedMultiplicity__Group__4__Impl() throws RecognitionException {
20536 25128
20537 int stackSize = keepStackSize(); 25129 int stackSize = keepStackSize();
20538 25130
20539 try { 25131 try {
20540 // InternalSolverLanguageParser.g:6643:1: ( ( RightSquareBracket ) ) 25132 // InternalSolverLanguageParser.g:8159:1: ( ( RightSquareBracket ) )
20541 // InternalSolverLanguageParser.g:6644:1: ( RightSquareBracket ) 25133 // InternalSolverLanguageParser.g:8160:1: ( RightSquareBracket )
20542 { 25134 {
20543 // InternalSolverLanguageParser.g:6644:1: ( RightSquareBracket ) 25135 // InternalSolverLanguageParser.g:8160:1: ( RightSquareBracket )
20544 // InternalSolverLanguageParser.g:6645:2: RightSquareBracket 25136 // InternalSolverLanguageParser.g:8161:2: RightSquareBracket
20545 { 25137 {
20546 before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); 25138 before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4());
20547 match(input,RightSquareBracket,FOLLOW_2); 25139 match(input,RightSquareBracket,FOLLOW_2);
@@ -20568,14 +25160,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20568 25160
20569 25161
20570 // $ANTLR start "rule__ExactScopeDefinition__Group__0" 25162 // $ANTLR start "rule__ExactScopeDefinition__Group__0"
20571 // InternalSolverLanguageParser.g:6655:1: rule__ExactScopeDefinition__Group__0 : rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ; 25163 // InternalSolverLanguageParser.g:8171:1: rule__ExactScopeDefinition__Group__0 : rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ;
20572 public final void rule__ExactScopeDefinition__Group__0() throws RecognitionException { 25164 public final void rule__ExactScopeDefinition__Group__0() throws RecognitionException {
20573 25165
20574 int stackSize = keepStackSize(); 25166 int stackSize = keepStackSize();
20575 25167
20576 try { 25168 try {
20577 // InternalSolverLanguageParser.g:6659:1: ( rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ) 25169 // InternalSolverLanguageParser.g:8175:1: ( rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 )
20578 // InternalSolverLanguageParser.g:6660:2: rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 25170 // InternalSolverLanguageParser.g:8176:2: rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1
20579 { 25171 {
20580 pushFollow(FOLLOW_9); 25172 pushFollow(FOLLOW_9);
20581 rule__ExactScopeDefinition__Group__0__Impl(); 25173 rule__ExactScopeDefinition__Group__0__Impl();
@@ -20606,17 +25198,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20606 25198
20607 25199
20608 // $ANTLR start "rule__ExactScopeDefinition__Group__0__Impl" 25200 // $ANTLR start "rule__ExactScopeDefinition__Group__0__Impl"
20609 // InternalSolverLanguageParser.g:6667:1: rule__ExactScopeDefinition__Group__0__Impl : ( Scope ) ; 25201 // InternalSolverLanguageParser.g:8183:1: rule__ExactScopeDefinition__Group__0__Impl : ( Scope ) ;
20610 public final void rule__ExactScopeDefinition__Group__0__Impl() throws RecognitionException { 25202 public final void rule__ExactScopeDefinition__Group__0__Impl() throws RecognitionException {
20611 25203
20612 int stackSize = keepStackSize(); 25204 int stackSize = keepStackSize();
20613 25205
20614 try { 25206 try {
20615 // InternalSolverLanguageParser.g:6671:1: ( ( Scope ) ) 25207 // InternalSolverLanguageParser.g:8187:1: ( ( Scope ) )
20616 // InternalSolverLanguageParser.g:6672:1: ( Scope ) 25208 // InternalSolverLanguageParser.g:8188:1: ( Scope )
20617 { 25209 {
20618 // InternalSolverLanguageParser.g:6672:1: ( Scope ) 25210 // InternalSolverLanguageParser.g:8188:1: ( Scope )
20619 // InternalSolverLanguageParser.g:6673:2: Scope 25211 // InternalSolverLanguageParser.g:8189:2: Scope
20620 { 25212 {
20621 before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 25213 before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
20622 match(input,Scope,FOLLOW_2); 25214 match(input,Scope,FOLLOW_2);
@@ -20643,16 +25235,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20643 25235
20644 25236
20645 // $ANTLR start "rule__ExactScopeDefinition__Group__1" 25237 // $ANTLR start "rule__ExactScopeDefinition__Group__1"
20646 // InternalSolverLanguageParser.g:6682:1: rule__ExactScopeDefinition__Group__1 : rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ; 25238 // InternalSolverLanguageParser.g:8198:1: rule__ExactScopeDefinition__Group__1 : rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ;
20647 public final void rule__ExactScopeDefinition__Group__1() throws RecognitionException { 25239 public final void rule__ExactScopeDefinition__Group__1() throws RecognitionException {
20648 25240
20649 int stackSize = keepStackSize(); 25241 int stackSize = keepStackSize();
20650 25242
20651 try { 25243 try {
20652 // InternalSolverLanguageParser.g:6686:1: ( rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ) 25244 // InternalSolverLanguageParser.g:8202:1: ( rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 )
20653 // InternalSolverLanguageParser.g:6687:2: rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 25245 // InternalSolverLanguageParser.g:8203:2: rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2
20654 { 25246 {
20655 pushFollow(FOLLOW_53); 25247 pushFollow(FOLLOW_60);
20656 rule__ExactScopeDefinition__Group__1__Impl(); 25248 rule__ExactScopeDefinition__Group__1__Impl();
20657 25249
20658 state._fsp--; 25250 state._fsp--;
@@ -20681,21 +25273,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20681 25273
20682 25274
20683 // $ANTLR start "rule__ExactScopeDefinition__Group__1__Impl" 25275 // $ANTLR start "rule__ExactScopeDefinition__Group__1__Impl"
20684 // InternalSolverLanguageParser.g:6694:1: rule__ExactScopeDefinition__Group__1__Impl : ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ; 25276 // InternalSolverLanguageParser.g:8210:1: rule__ExactScopeDefinition__Group__1__Impl : ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ;
20685 public final void rule__ExactScopeDefinition__Group__1__Impl() throws RecognitionException { 25277 public final void rule__ExactScopeDefinition__Group__1__Impl() throws RecognitionException {
20686 25278
20687 int stackSize = keepStackSize(); 25279 int stackSize = keepStackSize();
20688 25280
20689 try { 25281 try {
20690 // InternalSolverLanguageParser.g:6698:1: ( ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ) 25282 // InternalSolverLanguageParser.g:8214:1: ( ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) )
20691 // InternalSolverLanguageParser.g:6699:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) 25283 // InternalSolverLanguageParser.g:8215:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) )
20692 { 25284 {
20693 // InternalSolverLanguageParser.g:6699:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) 25285 // InternalSolverLanguageParser.g:8215:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) )
20694 // InternalSolverLanguageParser.g:6700:2: ( rule__ExactScopeDefinition__TypeAssignment_1 ) 25286 // InternalSolverLanguageParser.g:8216:2: ( rule__ExactScopeDefinition__TypeAssignment_1 )
20695 { 25287 {
20696 before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); 25288 before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1());
20697 // InternalSolverLanguageParser.g:6701:2: ( rule__ExactScopeDefinition__TypeAssignment_1 ) 25289 // InternalSolverLanguageParser.g:8217:2: ( rule__ExactScopeDefinition__TypeAssignment_1 )
20698 // InternalSolverLanguageParser.g:6701:3: rule__ExactScopeDefinition__TypeAssignment_1 25290 // InternalSolverLanguageParser.g:8217:3: rule__ExactScopeDefinition__TypeAssignment_1
20699 { 25291 {
20700 pushFollow(FOLLOW_2); 25292 pushFollow(FOLLOW_2);
20701 rule__ExactScopeDefinition__TypeAssignment_1(); 25293 rule__ExactScopeDefinition__TypeAssignment_1();
@@ -20728,16 +25320,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20728 25320
20729 25321
20730 // $ANTLR start "rule__ExactScopeDefinition__Group__2" 25322 // $ANTLR start "rule__ExactScopeDefinition__Group__2"
20731 // InternalSolverLanguageParser.g:6709:1: rule__ExactScopeDefinition__Group__2 : rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ; 25323 // InternalSolverLanguageParser.g:8225:1: rule__ExactScopeDefinition__Group__2 : rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ;
20732 public final void rule__ExactScopeDefinition__Group__2() throws RecognitionException { 25324 public final void rule__ExactScopeDefinition__Group__2() throws RecognitionException {
20733 25325
20734 int stackSize = keepStackSize(); 25326 int stackSize = keepStackSize();
20735 25327
20736 try { 25328 try {
20737 // InternalSolverLanguageParser.g:6713:1: ( rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ) 25329 // InternalSolverLanguageParser.g:8229:1: ( rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 )
20738 // InternalSolverLanguageParser.g:6714:2: rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 25330 // InternalSolverLanguageParser.g:8230:2: rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3
20739 { 25331 {
20740 pushFollow(FOLLOW_52); 25332 pushFollow(FOLLOW_59);
20741 rule__ExactScopeDefinition__Group__2__Impl(); 25333 rule__ExactScopeDefinition__Group__2__Impl();
20742 25334
20743 state._fsp--; 25335 state._fsp--;
@@ -20766,17 +25358,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20766 25358
20767 25359
20768 // $ANTLR start "rule__ExactScopeDefinition__Group__2__Impl" 25360 // $ANTLR start "rule__ExactScopeDefinition__Group__2__Impl"
20769 // InternalSolverLanguageParser.g:6721:1: rule__ExactScopeDefinition__Group__2__Impl : ( EqualsSignEqualsSign ) ; 25361 // InternalSolverLanguageParser.g:8237:1: rule__ExactScopeDefinition__Group__2__Impl : ( EqualsSignEqualsSign ) ;
20770 public final void rule__ExactScopeDefinition__Group__2__Impl() throws RecognitionException { 25362 public final void rule__ExactScopeDefinition__Group__2__Impl() throws RecognitionException {
20771 25363
20772 int stackSize = keepStackSize(); 25364 int stackSize = keepStackSize();
20773 25365
20774 try { 25366 try {
20775 // InternalSolverLanguageParser.g:6725:1: ( ( EqualsSignEqualsSign ) ) 25367 // InternalSolverLanguageParser.g:8241:1: ( ( EqualsSignEqualsSign ) )
20776 // InternalSolverLanguageParser.g:6726:1: ( EqualsSignEqualsSign ) 25368 // InternalSolverLanguageParser.g:8242:1: ( EqualsSignEqualsSign )
20777 { 25369 {
20778 // InternalSolverLanguageParser.g:6726:1: ( EqualsSignEqualsSign ) 25370 // InternalSolverLanguageParser.g:8242:1: ( EqualsSignEqualsSign )
20779 // InternalSolverLanguageParser.g:6727:2: EqualsSignEqualsSign 25371 // InternalSolverLanguageParser.g:8243:2: EqualsSignEqualsSign
20780 { 25372 {
20781 before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 25373 before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
20782 match(input,EqualsSignEqualsSign,FOLLOW_2); 25374 match(input,EqualsSignEqualsSign,FOLLOW_2);
@@ -20803,14 +25395,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20803 25395
20804 25396
20805 // $ANTLR start "rule__ExactScopeDefinition__Group__3" 25397 // $ANTLR start "rule__ExactScopeDefinition__Group__3"
20806 // InternalSolverLanguageParser.g:6736:1: rule__ExactScopeDefinition__Group__3 : rule__ExactScopeDefinition__Group__3__Impl ; 25398 // InternalSolverLanguageParser.g:8252:1: rule__ExactScopeDefinition__Group__3 : rule__ExactScopeDefinition__Group__3__Impl ;
20807 public final void rule__ExactScopeDefinition__Group__3() throws RecognitionException { 25399 public final void rule__ExactScopeDefinition__Group__3() throws RecognitionException {
20808 25400
20809 int stackSize = keepStackSize(); 25401 int stackSize = keepStackSize();
20810 25402
20811 try { 25403 try {
20812 // InternalSolverLanguageParser.g:6740:1: ( rule__ExactScopeDefinition__Group__3__Impl ) 25404 // InternalSolverLanguageParser.g:8256:1: ( rule__ExactScopeDefinition__Group__3__Impl )
20813 // InternalSolverLanguageParser.g:6741:2: rule__ExactScopeDefinition__Group__3__Impl 25405 // InternalSolverLanguageParser.g:8257:2: rule__ExactScopeDefinition__Group__3__Impl
20814 { 25406 {
20815 pushFollow(FOLLOW_2); 25407 pushFollow(FOLLOW_2);
20816 rule__ExactScopeDefinition__Group__3__Impl(); 25408 rule__ExactScopeDefinition__Group__3__Impl();
@@ -20836,21 +25428,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20836 25428
20837 25429
20838 // $ANTLR start "rule__ExactScopeDefinition__Group__3__Impl" 25430 // $ANTLR start "rule__ExactScopeDefinition__Group__3__Impl"
20839 // InternalSolverLanguageParser.g:6747:1: rule__ExactScopeDefinition__Group__3__Impl : ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ; 25431 // InternalSolverLanguageParser.g:8263:1: rule__ExactScopeDefinition__Group__3__Impl : ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ;
20840 public final void rule__ExactScopeDefinition__Group__3__Impl() throws RecognitionException { 25432 public final void rule__ExactScopeDefinition__Group__3__Impl() throws RecognitionException {
20841 25433
20842 int stackSize = keepStackSize(); 25434 int stackSize = keepStackSize();
20843 25435
20844 try { 25436 try {
20845 // InternalSolverLanguageParser.g:6751:1: ( ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ) 25437 // InternalSolverLanguageParser.g:8267:1: ( ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) )
20846 // InternalSolverLanguageParser.g:6752:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) 25438 // InternalSolverLanguageParser.g:8268:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) )
20847 { 25439 {
20848 // InternalSolverLanguageParser.g:6752:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) 25440 // InternalSolverLanguageParser.g:8268:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) )
20849 // InternalSolverLanguageParser.g:6753:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) 25441 // InternalSolverLanguageParser.g:8269:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 )
20850 { 25442 {
20851 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); 25443 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3());
20852 // InternalSolverLanguageParser.g:6754:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) 25444 // InternalSolverLanguageParser.g:8270:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 )
20853 // InternalSolverLanguageParser.g:6754:3: rule__ExactScopeDefinition__ExactScopeAssignment_3 25445 // InternalSolverLanguageParser.g:8270:3: rule__ExactScopeDefinition__ExactScopeAssignment_3
20854 { 25446 {
20855 pushFollow(FOLLOW_2); 25447 pushFollow(FOLLOW_2);
20856 rule__ExactScopeDefinition__ExactScopeAssignment_3(); 25448 rule__ExactScopeDefinition__ExactScopeAssignment_3();
@@ -20883,16 +25475,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20883 25475
20884 25476
20885 // $ANTLR start "rule__BoundedScopeDefinition__Group__0" 25477 // $ANTLR start "rule__BoundedScopeDefinition__Group__0"
20886 // InternalSolverLanguageParser.g:6763:1: rule__BoundedScopeDefinition__Group__0 : rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ; 25478 // InternalSolverLanguageParser.g:8279:1: rule__BoundedScopeDefinition__Group__0 : rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ;
20887 public final void rule__BoundedScopeDefinition__Group__0() throws RecognitionException { 25479 public final void rule__BoundedScopeDefinition__Group__0() throws RecognitionException {
20888 25480
20889 int stackSize = keepStackSize(); 25481 int stackSize = keepStackSize();
20890 25482
20891 try { 25483 try {
20892 // InternalSolverLanguageParser.g:6767:1: ( rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ) 25484 // InternalSolverLanguageParser.g:8283:1: ( rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 )
20893 // InternalSolverLanguageParser.g:6768:2: rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 25485 // InternalSolverLanguageParser.g:8284:2: rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1
20894 { 25486 {
20895 pushFollow(FOLLOW_54); 25487 pushFollow(FOLLOW_61);
20896 rule__BoundedScopeDefinition__Group__0__Impl(); 25488 rule__BoundedScopeDefinition__Group__0__Impl();
20897 25489
20898 state._fsp--; 25490 state._fsp--;
@@ -20921,17 +25513,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20921 25513
20922 25514
20923 // $ANTLR start "rule__BoundedScopeDefinition__Group__0__Impl" 25515 // $ANTLR start "rule__BoundedScopeDefinition__Group__0__Impl"
20924 // InternalSolverLanguageParser.g:6775:1: rule__BoundedScopeDefinition__Group__0__Impl : ( Scope ) ; 25516 // InternalSolverLanguageParser.g:8291:1: rule__BoundedScopeDefinition__Group__0__Impl : ( Scope ) ;
20925 public final void rule__BoundedScopeDefinition__Group__0__Impl() throws RecognitionException { 25517 public final void rule__BoundedScopeDefinition__Group__0__Impl() throws RecognitionException {
20926 25518
20927 int stackSize = keepStackSize(); 25519 int stackSize = keepStackSize();
20928 25520
20929 try { 25521 try {
20930 // InternalSolverLanguageParser.g:6779:1: ( ( Scope ) ) 25522 // InternalSolverLanguageParser.g:8295:1: ( ( Scope ) )
20931 // InternalSolverLanguageParser.g:6780:1: ( Scope ) 25523 // InternalSolverLanguageParser.g:8296:1: ( Scope )
20932 { 25524 {
20933 // InternalSolverLanguageParser.g:6780:1: ( Scope ) 25525 // InternalSolverLanguageParser.g:8296:1: ( Scope )
20934 // InternalSolverLanguageParser.g:6781:2: Scope 25526 // InternalSolverLanguageParser.g:8297:2: Scope
20935 { 25527 {
20936 before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 25528 before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
20937 match(input,Scope,FOLLOW_2); 25529 match(input,Scope,FOLLOW_2);
@@ -20958,14 +25550,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20958 25550
20959 25551
20960 // $ANTLR start "rule__BoundedScopeDefinition__Group__1" 25552 // $ANTLR start "rule__BoundedScopeDefinition__Group__1"
20961 // InternalSolverLanguageParser.g:6790:1: rule__BoundedScopeDefinition__Group__1 : rule__BoundedScopeDefinition__Group__1__Impl ; 25553 // InternalSolverLanguageParser.g:8306:1: rule__BoundedScopeDefinition__Group__1 : rule__BoundedScopeDefinition__Group__1__Impl ;
20962 public final void rule__BoundedScopeDefinition__Group__1() throws RecognitionException { 25554 public final void rule__BoundedScopeDefinition__Group__1() throws RecognitionException {
20963 25555
20964 int stackSize = keepStackSize(); 25556 int stackSize = keepStackSize();
20965 25557
20966 try { 25558 try {
20967 // InternalSolverLanguageParser.g:6794:1: ( rule__BoundedScopeDefinition__Group__1__Impl ) 25559 // InternalSolverLanguageParser.g:8310:1: ( rule__BoundedScopeDefinition__Group__1__Impl )
20968 // InternalSolverLanguageParser.g:6795:2: rule__BoundedScopeDefinition__Group__1__Impl 25560 // InternalSolverLanguageParser.g:8311:2: rule__BoundedScopeDefinition__Group__1__Impl
20969 { 25561 {
20970 pushFollow(FOLLOW_2); 25562 pushFollow(FOLLOW_2);
20971 rule__BoundedScopeDefinition__Group__1__Impl(); 25563 rule__BoundedScopeDefinition__Group__1__Impl();
@@ -20991,21 +25583,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
20991 25583
20992 25584
20993 // $ANTLR start "rule__BoundedScopeDefinition__Group__1__Impl" 25585 // $ANTLR start "rule__BoundedScopeDefinition__Group__1__Impl"
20994 // InternalSolverLanguageParser.g:6801:1: rule__BoundedScopeDefinition__Group__1__Impl : ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ; 25586 // InternalSolverLanguageParser.g:8317:1: rule__BoundedScopeDefinition__Group__1__Impl : ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ;
20995 public final void rule__BoundedScopeDefinition__Group__1__Impl() throws RecognitionException { 25587 public final void rule__BoundedScopeDefinition__Group__1__Impl() throws RecognitionException {
20996 25588
20997 int stackSize = keepStackSize(); 25589 int stackSize = keepStackSize();
20998 25590
20999 try { 25591 try {
21000 // InternalSolverLanguageParser.g:6805:1: ( ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ) 25592 // InternalSolverLanguageParser.g:8321:1: ( ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) )
21001 // InternalSolverLanguageParser.g:6806:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) 25593 // InternalSolverLanguageParser.g:8322:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) )
21002 { 25594 {
21003 // InternalSolverLanguageParser.g:6806:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) 25595 // InternalSolverLanguageParser.g:8322:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) )
21004 // InternalSolverLanguageParser.g:6807:2: ( rule__BoundedScopeDefinition__Alternatives_1 ) 25596 // InternalSolverLanguageParser.g:8323:2: ( rule__BoundedScopeDefinition__Alternatives_1 )
21005 { 25597 {
21006 before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); 25598 before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1());
21007 // InternalSolverLanguageParser.g:6808:2: ( rule__BoundedScopeDefinition__Alternatives_1 ) 25599 // InternalSolverLanguageParser.g:8324:2: ( rule__BoundedScopeDefinition__Alternatives_1 )
21008 // InternalSolverLanguageParser.g:6808:3: rule__BoundedScopeDefinition__Alternatives_1 25600 // InternalSolverLanguageParser.g:8324:3: rule__BoundedScopeDefinition__Alternatives_1
21009 { 25601 {
21010 pushFollow(FOLLOW_2); 25602 pushFollow(FOLLOW_2);
21011 rule__BoundedScopeDefinition__Alternatives_1(); 25603 rule__BoundedScopeDefinition__Alternatives_1();
@@ -21038,16 +25630,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21038 25630
21039 25631
21040 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0" 25632 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0"
21041 // InternalSolverLanguageParser.g:6817:1: rule__BoundedScopeDefinition__Group_1_0__0 : rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ; 25633 // InternalSolverLanguageParser.g:8333:1: rule__BoundedScopeDefinition__Group_1_0__0 : rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ;
21042 public final void rule__BoundedScopeDefinition__Group_1_0__0() throws RecognitionException { 25634 public final void rule__BoundedScopeDefinition__Group_1_0__0() throws RecognitionException {
21043 25635
21044 int stackSize = keepStackSize(); 25636 int stackSize = keepStackSize();
21045 25637
21046 try { 25638 try {
21047 // InternalSolverLanguageParser.g:6821:1: ( rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ) 25639 // InternalSolverLanguageParser.g:8337:1: ( rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 )
21048 // InternalSolverLanguageParser.g:6822:2: rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 25640 // InternalSolverLanguageParser.g:8338:2: rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1
21049 { 25641 {
21050 pushFollow(FOLLOW_54); 25642 pushFollow(FOLLOW_61);
21051 rule__BoundedScopeDefinition__Group_1_0__0__Impl(); 25643 rule__BoundedScopeDefinition__Group_1_0__0__Impl();
21052 25644
21053 state._fsp--; 25645 state._fsp--;
@@ -21076,29 +25668,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21076 25668
21077 25669
21078 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0__Impl" 25670 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0__Impl"
21079 // InternalSolverLanguageParser.g:6829:1: rule__BoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ; 25671 // InternalSolverLanguageParser.g:8345:1: rule__BoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ;
21080 public final void rule__BoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException { 25672 public final void rule__BoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException {
21081 25673
21082 int stackSize = keepStackSize(); 25674 int stackSize = keepStackSize();
21083 25675
21084 try { 25676 try {
21085 // InternalSolverLanguageParser.g:6833:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ) 25677 // InternalSolverLanguageParser.g:8349:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) )
21086 // InternalSolverLanguageParser.g:6834:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) 25678 // InternalSolverLanguageParser.g:8350:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? )
21087 { 25679 {
21088 // InternalSolverLanguageParser.g:6834:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) 25680 // InternalSolverLanguageParser.g:8350:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? )
21089 // InternalSolverLanguageParser.g:6835:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? 25681 // InternalSolverLanguageParser.g:8351:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )?
21090 { 25682 {
21091 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); 25683 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0());
21092 // InternalSolverLanguageParser.g:6836:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? 25684 // InternalSolverLanguageParser.g:8352:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )?
21093 int alt50=2; 25685 int alt59=2;
21094 int LA50_0 = input.LA(1); 25686 int LA59_0 = input.LA(1);
21095 25687
21096 if ( (LA50_0==RULE_INT) ) { 25688 if ( (LA59_0==RULE_INT) ) {
21097 alt50=1; 25689 alt59=1;
21098 } 25690 }
21099 switch (alt50) { 25691 switch (alt59) {
21100 case 1 : 25692 case 1 :
21101 // InternalSolverLanguageParser.g:6836:3: rule__BoundedScopeDefinition__Group_1_0_0__0 25693 // InternalSolverLanguageParser.g:8352:3: rule__BoundedScopeDefinition__Group_1_0_0__0
21102 { 25694 {
21103 pushFollow(FOLLOW_2); 25695 pushFollow(FOLLOW_2);
21104 rule__BoundedScopeDefinition__Group_1_0_0__0(); 25696 rule__BoundedScopeDefinition__Group_1_0_0__0();
@@ -21134,16 +25726,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21134 25726
21135 25727
21136 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1" 25728 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1"
21137 // InternalSolverLanguageParser.g:6844:1: rule__BoundedScopeDefinition__Group_1_0__1 : rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ; 25729 // InternalSolverLanguageParser.g:8360:1: rule__BoundedScopeDefinition__Group_1_0__1 : rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ;
21138 public final void rule__BoundedScopeDefinition__Group_1_0__1() throws RecognitionException { 25730 public final void rule__BoundedScopeDefinition__Group_1_0__1() throws RecognitionException {
21139 25731
21140 int stackSize = keepStackSize(); 25732 int stackSize = keepStackSize();
21141 25733
21142 try { 25734 try {
21143 // InternalSolverLanguageParser.g:6848:1: ( rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ) 25735 // InternalSolverLanguageParser.g:8364:1: ( rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 )
21144 // InternalSolverLanguageParser.g:6849:2: rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 25736 // InternalSolverLanguageParser.g:8365:2: rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2
21145 { 25737 {
21146 pushFollow(FOLLOW_55); 25738 pushFollow(FOLLOW_62);
21147 rule__BoundedScopeDefinition__Group_1_0__1__Impl(); 25739 rule__BoundedScopeDefinition__Group_1_0__1__Impl();
21148 25740
21149 state._fsp--; 25741 state._fsp--;
@@ -21172,21 +25764,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21172 25764
21173 25765
21174 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1__Impl" 25766 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1__Impl"
21175 // InternalSolverLanguageParser.g:6856:1: rule__BoundedScopeDefinition__Group_1_0__1__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ; 25767 // InternalSolverLanguageParser.g:8372:1: rule__BoundedScopeDefinition__Group_1_0__1__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ;
21176 public final void rule__BoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException { 25768 public final void rule__BoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException {
21177 25769
21178 int stackSize = keepStackSize(); 25770 int stackSize = keepStackSize();
21179 25771
21180 try { 25772 try {
21181 // InternalSolverLanguageParser.g:6860:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ) 25773 // InternalSolverLanguageParser.g:8376:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) )
21182 // InternalSolverLanguageParser.g:6861:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) 25774 // InternalSolverLanguageParser.g:8377:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) )
21183 { 25775 {
21184 // InternalSolverLanguageParser.g:6861:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) 25776 // InternalSolverLanguageParser.g:8377:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) )
21185 // InternalSolverLanguageParser.g:6862:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) 25777 // InternalSolverLanguageParser.g:8378:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 )
21186 { 25778 {
21187 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); 25779 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1());
21188 // InternalSolverLanguageParser.g:6863:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) 25780 // InternalSolverLanguageParser.g:8379:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 )
21189 // InternalSolverLanguageParser.g:6863:3: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 25781 // InternalSolverLanguageParser.g:8379:3: rule__BoundedScopeDefinition__TypeAssignment_1_0_1
21190 { 25782 {
21191 pushFollow(FOLLOW_2); 25783 pushFollow(FOLLOW_2);
21192 rule__BoundedScopeDefinition__TypeAssignment_1_0_1(); 25784 rule__BoundedScopeDefinition__TypeAssignment_1_0_1();
@@ -21219,16 +25811,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21219 25811
21220 25812
21221 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2" 25813 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2"
21222 // InternalSolverLanguageParser.g:6871:1: rule__BoundedScopeDefinition__Group_1_0__2 : rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ; 25814 // InternalSolverLanguageParser.g:8387:1: rule__BoundedScopeDefinition__Group_1_0__2 : rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ;
21223 public final void rule__BoundedScopeDefinition__Group_1_0__2() throws RecognitionException { 25815 public final void rule__BoundedScopeDefinition__Group_1_0__2() throws RecognitionException {
21224 25816
21225 int stackSize = keepStackSize(); 25817 int stackSize = keepStackSize();
21226 25818
21227 try { 25819 try {
21228 // InternalSolverLanguageParser.g:6875:1: ( rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ) 25820 // InternalSolverLanguageParser.g:8391:1: ( rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 )
21229 // InternalSolverLanguageParser.g:6876:2: rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 25821 // InternalSolverLanguageParser.g:8392:2: rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3
21230 { 25822 {
21231 pushFollow(FOLLOW_52); 25823 pushFollow(FOLLOW_59);
21232 rule__BoundedScopeDefinition__Group_1_0__2__Impl(); 25824 rule__BoundedScopeDefinition__Group_1_0__2__Impl();
21233 25825
21234 state._fsp--; 25826 state._fsp--;
@@ -21257,17 +25849,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21257 25849
21258 25850
21259 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2__Impl" 25851 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2__Impl"
21260 // InternalSolverLanguageParser.g:6883:1: rule__BoundedScopeDefinition__Group_1_0__2__Impl : ( LessThanSignEqualsSign ) ; 25852 // InternalSolverLanguageParser.g:8399:1: rule__BoundedScopeDefinition__Group_1_0__2__Impl : ( LessThanSignEqualsSign ) ;
21261 public final void rule__BoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException { 25853 public final void rule__BoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException {
21262 25854
21263 int stackSize = keepStackSize(); 25855 int stackSize = keepStackSize();
21264 25856
21265 try { 25857 try {
21266 // InternalSolverLanguageParser.g:6887:1: ( ( LessThanSignEqualsSign ) ) 25858 // InternalSolverLanguageParser.g:8403:1: ( ( LessThanSignEqualsSign ) )
21267 // InternalSolverLanguageParser.g:6888:1: ( LessThanSignEqualsSign ) 25859 // InternalSolverLanguageParser.g:8404:1: ( LessThanSignEqualsSign )
21268 { 25860 {
21269 // InternalSolverLanguageParser.g:6888:1: ( LessThanSignEqualsSign ) 25861 // InternalSolverLanguageParser.g:8404:1: ( LessThanSignEqualsSign )
21270 // InternalSolverLanguageParser.g:6889:2: LessThanSignEqualsSign 25862 // InternalSolverLanguageParser.g:8405:2: LessThanSignEqualsSign
21271 { 25863 {
21272 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 25864 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
21273 match(input,LessThanSignEqualsSign,FOLLOW_2); 25865 match(input,LessThanSignEqualsSign,FOLLOW_2);
@@ -21294,14 +25886,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21294 25886
21295 25887
21296 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3" 25888 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3"
21297 // InternalSolverLanguageParser.g:6898:1: rule__BoundedScopeDefinition__Group_1_0__3 : rule__BoundedScopeDefinition__Group_1_0__3__Impl ; 25889 // InternalSolverLanguageParser.g:8414:1: rule__BoundedScopeDefinition__Group_1_0__3 : rule__BoundedScopeDefinition__Group_1_0__3__Impl ;
21298 public final void rule__BoundedScopeDefinition__Group_1_0__3() throws RecognitionException { 25890 public final void rule__BoundedScopeDefinition__Group_1_0__3() throws RecognitionException {
21299 25891
21300 int stackSize = keepStackSize(); 25892 int stackSize = keepStackSize();
21301 25893
21302 try { 25894 try {
21303 // InternalSolverLanguageParser.g:6902:1: ( rule__BoundedScopeDefinition__Group_1_0__3__Impl ) 25895 // InternalSolverLanguageParser.g:8418:1: ( rule__BoundedScopeDefinition__Group_1_0__3__Impl )
21304 // InternalSolverLanguageParser.g:6903:2: rule__BoundedScopeDefinition__Group_1_0__3__Impl 25896 // InternalSolverLanguageParser.g:8419:2: rule__BoundedScopeDefinition__Group_1_0__3__Impl
21305 { 25897 {
21306 pushFollow(FOLLOW_2); 25898 pushFollow(FOLLOW_2);
21307 rule__BoundedScopeDefinition__Group_1_0__3__Impl(); 25899 rule__BoundedScopeDefinition__Group_1_0__3__Impl();
@@ -21327,21 +25919,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21327 25919
21328 25920
21329 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3__Impl" 25921 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3__Impl"
21330 // InternalSolverLanguageParser.g:6909:1: rule__BoundedScopeDefinition__Group_1_0__3__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ; 25922 // InternalSolverLanguageParser.g:8425:1: rule__BoundedScopeDefinition__Group_1_0__3__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ;
21331 public final void rule__BoundedScopeDefinition__Group_1_0__3__Impl() throws RecognitionException { 25923 public final void rule__BoundedScopeDefinition__Group_1_0__3__Impl() throws RecognitionException {
21332 25924
21333 int stackSize = keepStackSize(); 25925 int stackSize = keepStackSize();
21334 25926
21335 try { 25927 try {
21336 // InternalSolverLanguageParser.g:6913:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ) 25928 // InternalSolverLanguageParser.g:8429:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) )
21337 // InternalSolverLanguageParser.g:6914:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) 25929 // InternalSolverLanguageParser.g:8430:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) )
21338 { 25930 {
21339 // InternalSolverLanguageParser.g:6914:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) 25931 // InternalSolverLanguageParser.g:8430:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) )
21340 // InternalSolverLanguageParser.g:6915:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) 25932 // InternalSolverLanguageParser.g:8431:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 )
21341 { 25933 {
21342 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); 25934 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3());
21343 // InternalSolverLanguageParser.g:6916:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) 25935 // InternalSolverLanguageParser.g:8432:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 )
21344 // InternalSolverLanguageParser.g:6916:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 25936 // InternalSolverLanguageParser.g:8432:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3
21345 { 25937 {
21346 pushFollow(FOLLOW_2); 25938 pushFollow(FOLLOW_2);
21347 rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3(); 25939 rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3();
@@ -21374,16 +25966,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21374 25966
21375 25967
21376 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0" 25968 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0"
21377 // InternalSolverLanguageParser.g:6925:1: rule__BoundedScopeDefinition__Group_1_0_0__0 : rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 ; 25969 // InternalSolverLanguageParser.g:8441:1: rule__BoundedScopeDefinition__Group_1_0_0__0 : rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 ;
21378 public final void rule__BoundedScopeDefinition__Group_1_0_0__0() throws RecognitionException { 25970 public final void rule__BoundedScopeDefinition__Group_1_0_0__0() throws RecognitionException {
21379 25971
21380 int stackSize = keepStackSize(); 25972 int stackSize = keepStackSize();
21381 25973
21382 try { 25974 try {
21383 // InternalSolverLanguageParser.g:6929:1: ( rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 ) 25975 // InternalSolverLanguageParser.g:8445:1: ( rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 )
21384 // InternalSolverLanguageParser.g:6930:2: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 25976 // InternalSolverLanguageParser.g:8446:2: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1
21385 { 25977 {
21386 pushFollow(FOLLOW_55); 25978 pushFollow(FOLLOW_62);
21387 rule__BoundedScopeDefinition__Group_1_0_0__0__Impl(); 25979 rule__BoundedScopeDefinition__Group_1_0_0__0__Impl();
21388 25980
21389 state._fsp--; 25981 state._fsp--;
@@ -21412,21 +26004,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21412 26004
21413 26005
21414 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl" 26006 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl"
21415 // InternalSolverLanguageParser.g:6937:1: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ; 26007 // InternalSolverLanguageParser.g:8453:1: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ;
21416 public final void rule__BoundedScopeDefinition__Group_1_0_0__0__Impl() throws RecognitionException { 26008 public final void rule__BoundedScopeDefinition__Group_1_0_0__0__Impl() throws RecognitionException {
21417 26009
21418 int stackSize = keepStackSize(); 26010 int stackSize = keepStackSize();
21419 26011
21420 try { 26012 try {
21421 // InternalSolverLanguageParser.g:6941:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ) 26013 // InternalSolverLanguageParser.g:8457:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) )
21422 // InternalSolverLanguageParser.g:6942:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) 26014 // InternalSolverLanguageParser.g:8458:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) )
21423 { 26015 {
21424 // InternalSolverLanguageParser.g:6942:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) 26016 // InternalSolverLanguageParser.g:8458:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) )
21425 // InternalSolverLanguageParser.g:6943:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) 26017 // InternalSolverLanguageParser.g:8459:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 )
21426 { 26018 {
21427 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); 26019 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0());
21428 // InternalSolverLanguageParser.g:6944:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) 26020 // InternalSolverLanguageParser.g:8460:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 )
21429 // InternalSolverLanguageParser.g:6944:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 26021 // InternalSolverLanguageParser.g:8460:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0
21430 { 26022 {
21431 pushFollow(FOLLOW_2); 26023 pushFollow(FOLLOW_2);
21432 rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0(); 26024 rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0();
@@ -21459,14 +26051,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21459 26051
21460 26052
21461 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1" 26053 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1"
21462 // InternalSolverLanguageParser.g:6952:1: rule__BoundedScopeDefinition__Group_1_0_0__1 : rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ; 26054 // InternalSolverLanguageParser.g:8468:1: rule__BoundedScopeDefinition__Group_1_0_0__1 : rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ;
21463 public final void rule__BoundedScopeDefinition__Group_1_0_0__1() throws RecognitionException { 26055 public final void rule__BoundedScopeDefinition__Group_1_0_0__1() throws RecognitionException {
21464 26056
21465 int stackSize = keepStackSize(); 26057 int stackSize = keepStackSize();
21466 26058
21467 try { 26059 try {
21468 // InternalSolverLanguageParser.g:6956:1: ( rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ) 26060 // InternalSolverLanguageParser.g:8472:1: ( rule__BoundedScopeDefinition__Group_1_0_0__1__Impl )
21469 // InternalSolverLanguageParser.g:6957:2: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl 26061 // InternalSolverLanguageParser.g:8473:2: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl
21470 { 26062 {
21471 pushFollow(FOLLOW_2); 26063 pushFollow(FOLLOW_2);
21472 rule__BoundedScopeDefinition__Group_1_0_0__1__Impl(); 26064 rule__BoundedScopeDefinition__Group_1_0_0__1__Impl();
@@ -21492,17 +26084,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21492 26084
21493 26085
21494 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl" 26086 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl"
21495 // InternalSolverLanguageParser.g:6963:1: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl : ( LessThanSignEqualsSign ) ; 26087 // InternalSolverLanguageParser.g:8479:1: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl : ( LessThanSignEqualsSign ) ;
21496 public final void rule__BoundedScopeDefinition__Group_1_0_0__1__Impl() throws RecognitionException { 26088 public final void rule__BoundedScopeDefinition__Group_1_0_0__1__Impl() throws RecognitionException {
21497 26089
21498 int stackSize = keepStackSize(); 26090 int stackSize = keepStackSize();
21499 26091
21500 try { 26092 try {
21501 // InternalSolverLanguageParser.g:6967:1: ( ( LessThanSignEqualsSign ) ) 26093 // InternalSolverLanguageParser.g:8483:1: ( ( LessThanSignEqualsSign ) )
21502 // InternalSolverLanguageParser.g:6968:1: ( LessThanSignEqualsSign ) 26094 // InternalSolverLanguageParser.g:8484:1: ( LessThanSignEqualsSign )
21503 { 26095 {
21504 // InternalSolverLanguageParser.g:6968:1: ( LessThanSignEqualsSign ) 26096 // InternalSolverLanguageParser.g:8484:1: ( LessThanSignEqualsSign )
21505 // InternalSolverLanguageParser.g:6969:2: LessThanSignEqualsSign 26097 // InternalSolverLanguageParser.g:8485:2: LessThanSignEqualsSign
21506 { 26098 {
21507 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); 26099 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
21508 match(input,LessThanSignEqualsSign,FOLLOW_2); 26100 match(input,LessThanSignEqualsSign,FOLLOW_2);
@@ -21529,16 +26121,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21529 26121
21530 26122
21531 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0" 26123 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0"
21532 // InternalSolverLanguageParser.g:6979:1: rule__BoundedScopeDefinition__Group_1_1__0 : rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ; 26124 // InternalSolverLanguageParser.g:8495:1: rule__BoundedScopeDefinition__Group_1_1__0 : rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ;
21533 public final void rule__BoundedScopeDefinition__Group_1_1__0() throws RecognitionException { 26125 public final void rule__BoundedScopeDefinition__Group_1_1__0() throws RecognitionException {
21534 26126
21535 int stackSize = keepStackSize(); 26127 int stackSize = keepStackSize();
21536 26128
21537 try { 26129 try {
21538 // InternalSolverLanguageParser.g:6983:1: ( rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ) 26130 // InternalSolverLanguageParser.g:8499:1: ( rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 )
21539 // InternalSolverLanguageParser.g:6984:2: rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 26131 // InternalSolverLanguageParser.g:8500:2: rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1
21540 { 26132 {
21541 pushFollow(FOLLOW_56); 26133 pushFollow(FOLLOW_63);
21542 rule__BoundedScopeDefinition__Group_1_1__0__Impl(); 26134 rule__BoundedScopeDefinition__Group_1_1__0__Impl();
21543 26135
21544 state._fsp--; 26136 state._fsp--;
@@ -21567,21 +26159,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21567 26159
21568 26160
21569 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0__Impl" 26161 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0__Impl"
21570 // InternalSolverLanguageParser.g:6991:1: rule__BoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ; 26162 // InternalSolverLanguageParser.g:8507:1: rule__BoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ;
21571 public final void rule__BoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException { 26163 public final void rule__BoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException {
21572 26164
21573 int stackSize = keepStackSize(); 26165 int stackSize = keepStackSize();
21574 26166
21575 try { 26167 try {
21576 // InternalSolverLanguageParser.g:6995:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ) 26168 // InternalSolverLanguageParser.g:8511:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) )
21577 // InternalSolverLanguageParser.g:6996:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) 26169 // InternalSolverLanguageParser.g:8512:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) )
21578 { 26170 {
21579 // InternalSolverLanguageParser.g:6996:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) 26171 // InternalSolverLanguageParser.g:8512:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) )
21580 // InternalSolverLanguageParser.g:6997:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) 26172 // InternalSolverLanguageParser.g:8513:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 )
21581 { 26173 {
21582 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); 26174 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0());
21583 // InternalSolverLanguageParser.g:6998:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) 26175 // InternalSolverLanguageParser.g:8514:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 )
21584 // InternalSolverLanguageParser.g:6998:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 26176 // InternalSolverLanguageParser.g:8514:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0
21585 { 26177 {
21586 pushFollow(FOLLOW_2); 26178 pushFollow(FOLLOW_2);
21587 rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0(); 26179 rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0();
@@ -21614,14 +26206,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21614 26206
21615 26207
21616 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1" 26208 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1"
21617 // InternalSolverLanguageParser.g:7006:1: rule__BoundedScopeDefinition__Group_1_1__1 : rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ; 26209 // InternalSolverLanguageParser.g:8522:1: rule__BoundedScopeDefinition__Group_1_1__1 : rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ;
21618 public final void rule__BoundedScopeDefinition__Group_1_1__1() throws RecognitionException { 26210 public final void rule__BoundedScopeDefinition__Group_1_1__1() throws RecognitionException {
21619 26211
21620 int stackSize = keepStackSize(); 26212 int stackSize = keepStackSize();
21621 26213
21622 try { 26214 try {
21623 // InternalSolverLanguageParser.g:7010:1: ( rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ) 26215 // InternalSolverLanguageParser.g:8526:1: ( rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 )
21624 // InternalSolverLanguageParser.g:7011:2: rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 26216 // InternalSolverLanguageParser.g:8527:2: rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2
21625 { 26217 {
21626 pushFollow(FOLLOW_9); 26218 pushFollow(FOLLOW_9);
21627 rule__BoundedScopeDefinition__Group_1_1__1__Impl(); 26219 rule__BoundedScopeDefinition__Group_1_1__1__Impl();
@@ -21652,17 +26244,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21652 26244
21653 26245
21654 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1__Impl" 26246 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1__Impl"
21655 // InternalSolverLanguageParser.g:7018:1: rule__BoundedScopeDefinition__Group_1_1__1__Impl : ( GreaterThanSignEqualsSign ) ; 26247 // InternalSolverLanguageParser.g:8534:1: rule__BoundedScopeDefinition__Group_1_1__1__Impl : ( GreaterThanSignEqualsSign ) ;
21656 public final void rule__BoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException { 26248 public final void rule__BoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException {
21657 26249
21658 int stackSize = keepStackSize(); 26250 int stackSize = keepStackSize();
21659 26251
21660 try { 26252 try {
21661 // InternalSolverLanguageParser.g:7022:1: ( ( GreaterThanSignEqualsSign ) ) 26253 // InternalSolverLanguageParser.g:8538:1: ( ( GreaterThanSignEqualsSign ) )
21662 // InternalSolverLanguageParser.g:7023:1: ( GreaterThanSignEqualsSign ) 26254 // InternalSolverLanguageParser.g:8539:1: ( GreaterThanSignEqualsSign )
21663 { 26255 {
21664 // InternalSolverLanguageParser.g:7023:1: ( GreaterThanSignEqualsSign ) 26256 // InternalSolverLanguageParser.g:8539:1: ( GreaterThanSignEqualsSign )
21665 // InternalSolverLanguageParser.g:7024:2: GreaterThanSignEqualsSign 26257 // InternalSolverLanguageParser.g:8540:2: GreaterThanSignEqualsSign
21666 { 26258 {
21667 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 26259 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
21668 match(input,GreaterThanSignEqualsSign,FOLLOW_2); 26260 match(input,GreaterThanSignEqualsSign,FOLLOW_2);
@@ -21689,16 +26281,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21689 26281
21690 26282
21691 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2" 26283 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2"
21692 // InternalSolverLanguageParser.g:7033:1: rule__BoundedScopeDefinition__Group_1_1__2 : rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ; 26284 // InternalSolverLanguageParser.g:8549:1: rule__BoundedScopeDefinition__Group_1_1__2 : rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ;
21693 public final void rule__BoundedScopeDefinition__Group_1_1__2() throws RecognitionException { 26285 public final void rule__BoundedScopeDefinition__Group_1_1__2() throws RecognitionException {
21694 26286
21695 int stackSize = keepStackSize(); 26287 int stackSize = keepStackSize();
21696 26288
21697 try { 26289 try {
21698 // InternalSolverLanguageParser.g:7037:1: ( rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ) 26290 // InternalSolverLanguageParser.g:8553:1: ( rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 )
21699 // InternalSolverLanguageParser.g:7038:2: rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 26291 // InternalSolverLanguageParser.g:8554:2: rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3
21700 { 26292 {
21701 pushFollow(FOLLOW_56); 26293 pushFollow(FOLLOW_63);
21702 rule__BoundedScopeDefinition__Group_1_1__2__Impl(); 26294 rule__BoundedScopeDefinition__Group_1_1__2__Impl();
21703 26295
21704 state._fsp--; 26296 state._fsp--;
@@ -21727,21 +26319,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21727 26319
21728 26320
21729 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2__Impl" 26321 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2__Impl"
21730 // InternalSolverLanguageParser.g:7045:1: rule__BoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ; 26322 // InternalSolverLanguageParser.g:8561:1: rule__BoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ;
21731 public final void rule__BoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException { 26323 public final void rule__BoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException {
21732 26324
21733 int stackSize = keepStackSize(); 26325 int stackSize = keepStackSize();
21734 26326
21735 try { 26327 try {
21736 // InternalSolverLanguageParser.g:7049:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ) 26328 // InternalSolverLanguageParser.g:8565:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) )
21737 // InternalSolverLanguageParser.g:7050:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) 26329 // InternalSolverLanguageParser.g:8566:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) )
21738 { 26330 {
21739 // InternalSolverLanguageParser.g:7050:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) 26331 // InternalSolverLanguageParser.g:8566:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) )
21740 // InternalSolverLanguageParser.g:7051:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) 26332 // InternalSolverLanguageParser.g:8567:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 )
21741 { 26333 {
21742 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); 26334 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2());
21743 // InternalSolverLanguageParser.g:7052:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) 26335 // InternalSolverLanguageParser.g:8568:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 )
21744 // InternalSolverLanguageParser.g:7052:3: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 26336 // InternalSolverLanguageParser.g:8568:3: rule__BoundedScopeDefinition__TypeAssignment_1_1_2
21745 { 26337 {
21746 pushFollow(FOLLOW_2); 26338 pushFollow(FOLLOW_2);
21747 rule__BoundedScopeDefinition__TypeAssignment_1_1_2(); 26339 rule__BoundedScopeDefinition__TypeAssignment_1_1_2();
@@ -21774,14 +26366,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21774 26366
21775 26367
21776 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3" 26368 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3"
21777 // InternalSolverLanguageParser.g:7060:1: rule__BoundedScopeDefinition__Group_1_1__3 : rule__BoundedScopeDefinition__Group_1_1__3__Impl ; 26369 // InternalSolverLanguageParser.g:8576:1: rule__BoundedScopeDefinition__Group_1_1__3 : rule__BoundedScopeDefinition__Group_1_1__3__Impl ;
21778 public final void rule__BoundedScopeDefinition__Group_1_1__3() throws RecognitionException { 26370 public final void rule__BoundedScopeDefinition__Group_1_1__3() throws RecognitionException {
21779 26371
21780 int stackSize = keepStackSize(); 26372 int stackSize = keepStackSize();
21781 26373
21782 try { 26374 try {
21783 // InternalSolverLanguageParser.g:7064:1: ( rule__BoundedScopeDefinition__Group_1_1__3__Impl ) 26375 // InternalSolverLanguageParser.g:8580:1: ( rule__BoundedScopeDefinition__Group_1_1__3__Impl )
21784 // InternalSolverLanguageParser.g:7065:2: rule__BoundedScopeDefinition__Group_1_1__3__Impl 26376 // InternalSolverLanguageParser.g:8581:2: rule__BoundedScopeDefinition__Group_1_1__3__Impl
21785 { 26377 {
21786 pushFollow(FOLLOW_2); 26378 pushFollow(FOLLOW_2);
21787 rule__BoundedScopeDefinition__Group_1_1__3__Impl(); 26379 rule__BoundedScopeDefinition__Group_1_1__3__Impl();
@@ -21807,29 +26399,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21807 26399
21808 26400
21809 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3__Impl" 26401 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3__Impl"
21810 // InternalSolverLanguageParser.g:7071:1: rule__BoundedScopeDefinition__Group_1_1__3__Impl : ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ; 26402 // InternalSolverLanguageParser.g:8587:1: rule__BoundedScopeDefinition__Group_1_1__3__Impl : ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ;
21811 public final void rule__BoundedScopeDefinition__Group_1_1__3__Impl() throws RecognitionException { 26403 public final void rule__BoundedScopeDefinition__Group_1_1__3__Impl() throws RecognitionException {
21812 26404
21813 int stackSize = keepStackSize(); 26405 int stackSize = keepStackSize();
21814 26406
21815 try { 26407 try {
21816 // InternalSolverLanguageParser.g:7075:1: ( ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ) 26408 // InternalSolverLanguageParser.g:8591:1: ( ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) )
21817 // InternalSolverLanguageParser.g:7076:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) 26409 // InternalSolverLanguageParser.g:8592:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? )
21818 { 26410 {
21819 // InternalSolverLanguageParser.g:7076:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) 26411 // InternalSolverLanguageParser.g:8592:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? )
21820 // InternalSolverLanguageParser.g:7077:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? 26412 // InternalSolverLanguageParser.g:8593:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )?
21821 { 26413 {
21822 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); 26414 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3());
21823 // InternalSolverLanguageParser.g:7078:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? 26415 // InternalSolverLanguageParser.g:8594:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )?
21824 int alt51=2; 26416 int alt60=2;
21825 int LA51_0 = input.LA(1); 26417 int LA60_0 = input.LA(1);
21826 26418
21827 if ( (LA51_0==GreaterThanSignEqualsSign) ) { 26419 if ( (LA60_0==GreaterThanSignEqualsSign) ) {
21828 alt51=1; 26420 alt60=1;
21829 } 26421 }
21830 switch (alt51) { 26422 switch (alt60) {
21831 case 1 : 26423 case 1 :
21832 // InternalSolverLanguageParser.g:7078:3: rule__BoundedScopeDefinition__Group_1_1_3__0 26424 // InternalSolverLanguageParser.g:8594:3: rule__BoundedScopeDefinition__Group_1_1_3__0
21833 { 26425 {
21834 pushFollow(FOLLOW_2); 26426 pushFollow(FOLLOW_2);
21835 rule__BoundedScopeDefinition__Group_1_1_3__0(); 26427 rule__BoundedScopeDefinition__Group_1_1_3__0();
@@ -21865,16 +26457,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21865 26457
21866 26458
21867 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0" 26459 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0"
21868 // InternalSolverLanguageParser.g:7087:1: rule__BoundedScopeDefinition__Group_1_1_3__0 : rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 ; 26460 // InternalSolverLanguageParser.g:8603:1: rule__BoundedScopeDefinition__Group_1_1_3__0 : rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 ;
21869 public final void rule__BoundedScopeDefinition__Group_1_1_3__0() throws RecognitionException { 26461 public final void rule__BoundedScopeDefinition__Group_1_1_3__0() throws RecognitionException {
21870 26462
21871 int stackSize = keepStackSize(); 26463 int stackSize = keepStackSize();
21872 26464
21873 try { 26465 try {
21874 // InternalSolverLanguageParser.g:7091:1: ( rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 ) 26466 // InternalSolverLanguageParser.g:8607:1: ( rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 )
21875 // InternalSolverLanguageParser.g:7092:2: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 26467 // InternalSolverLanguageParser.g:8608:2: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1
21876 { 26468 {
21877 pushFollow(FOLLOW_52); 26469 pushFollow(FOLLOW_59);
21878 rule__BoundedScopeDefinition__Group_1_1_3__0__Impl(); 26470 rule__BoundedScopeDefinition__Group_1_1_3__0__Impl();
21879 26471
21880 state._fsp--; 26472 state._fsp--;
@@ -21903,17 +26495,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21903 26495
21904 26496
21905 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl" 26497 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl"
21906 // InternalSolverLanguageParser.g:7099:1: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl : ( GreaterThanSignEqualsSign ) ; 26498 // InternalSolverLanguageParser.g:8615:1: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl : ( GreaterThanSignEqualsSign ) ;
21907 public final void rule__BoundedScopeDefinition__Group_1_1_3__0__Impl() throws RecognitionException { 26499 public final void rule__BoundedScopeDefinition__Group_1_1_3__0__Impl() throws RecognitionException {
21908 26500
21909 int stackSize = keepStackSize(); 26501 int stackSize = keepStackSize();
21910 26502
21911 try { 26503 try {
21912 // InternalSolverLanguageParser.g:7103:1: ( ( GreaterThanSignEqualsSign ) ) 26504 // InternalSolverLanguageParser.g:8619:1: ( ( GreaterThanSignEqualsSign ) )
21913 // InternalSolverLanguageParser.g:7104:1: ( GreaterThanSignEqualsSign ) 26505 // InternalSolverLanguageParser.g:8620:1: ( GreaterThanSignEqualsSign )
21914 { 26506 {
21915 // InternalSolverLanguageParser.g:7104:1: ( GreaterThanSignEqualsSign ) 26507 // InternalSolverLanguageParser.g:8620:1: ( GreaterThanSignEqualsSign )
21916 // InternalSolverLanguageParser.g:7105:2: GreaterThanSignEqualsSign 26508 // InternalSolverLanguageParser.g:8621:2: GreaterThanSignEqualsSign
21917 { 26509 {
21918 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 26510 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
21919 match(input,GreaterThanSignEqualsSign,FOLLOW_2); 26511 match(input,GreaterThanSignEqualsSign,FOLLOW_2);
@@ -21940,14 +26532,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21940 26532
21941 26533
21942 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1" 26534 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1"
21943 // InternalSolverLanguageParser.g:7114:1: rule__BoundedScopeDefinition__Group_1_1_3__1 : rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ; 26535 // InternalSolverLanguageParser.g:8630:1: rule__BoundedScopeDefinition__Group_1_1_3__1 : rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ;
21944 public final void rule__BoundedScopeDefinition__Group_1_1_3__1() throws RecognitionException { 26536 public final void rule__BoundedScopeDefinition__Group_1_1_3__1() throws RecognitionException {
21945 26537
21946 int stackSize = keepStackSize(); 26538 int stackSize = keepStackSize();
21947 26539
21948 try { 26540 try {
21949 // InternalSolverLanguageParser.g:7118:1: ( rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ) 26541 // InternalSolverLanguageParser.g:8634:1: ( rule__BoundedScopeDefinition__Group_1_1_3__1__Impl )
21950 // InternalSolverLanguageParser.g:7119:2: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl 26542 // InternalSolverLanguageParser.g:8635:2: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl
21951 { 26543 {
21952 pushFollow(FOLLOW_2); 26544 pushFollow(FOLLOW_2);
21953 rule__BoundedScopeDefinition__Group_1_1_3__1__Impl(); 26545 rule__BoundedScopeDefinition__Group_1_1_3__1__Impl();
@@ -21973,21 +26565,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
21973 26565
21974 26566
21975 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl" 26567 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl"
21976 // InternalSolverLanguageParser.g:7125:1: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ; 26568 // InternalSolverLanguageParser.g:8641:1: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ;
21977 public final void rule__BoundedScopeDefinition__Group_1_1_3__1__Impl() throws RecognitionException { 26569 public final void rule__BoundedScopeDefinition__Group_1_1_3__1__Impl() throws RecognitionException {
21978 26570
21979 int stackSize = keepStackSize(); 26571 int stackSize = keepStackSize();
21980 26572
21981 try { 26573 try {
21982 // InternalSolverLanguageParser.g:7129:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ) 26574 // InternalSolverLanguageParser.g:8645:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) )
21983 // InternalSolverLanguageParser.g:7130:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) 26575 // InternalSolverLanguageParser.g:8646:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) )
21984 { 26576 {
21985 // InternalSolverLanguageParser.g:7130:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) 26577 // InternalSolverLanguageParser.g:8646:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) )
21986 // InternalSolverLanguageParser.g:7131:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) 26578 // InternalSolverLanguageParser.g:8647:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 )
21987 { 26579 {
21988 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); 26580 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1());
21989 // InternalSolverLanguageParser.g:7132:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) 26581 // InternalSolverLanguageParser.g:8648:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 )
21990 // InternalSolverLanguageParser.g:7132:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 26582 // InternalSolverLanguageParser.g:8648:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1
21991 { 26583 {
21992 pushFollow(FOLLOW_2); 26584 pushFollow(FOLLOW_2);
21993 rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1(); 26585 rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1();
@@ -22020,16 +26612,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22020 26612
22021 26613
22022 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0" 26614 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0"
22023 // InternalSolverLanguageParser.g:7141:1: rule__LowerBoundedScopeDefinition__Group__0 : rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ; 26615 // InternalSolverLanguageParser.g:8657:1: rule__LowerBoundedScopeDefinition__Group__0 : rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ;
22024 public final void rule__LowerBoundedScopeDefinition__Group__0() throws RecognitionException { 26616 public final void rule__LowerBoundedScopeDefinition__Group__0() throws RecognitionException {
22025 26617
22026 int stackSize = keepStackSize(); 26618 int stackSize = keepStackSize();
22027 26619
22028 try { 26620 try {
22029 // InternalSolverLanguageParser.g:7145:1: ( rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ) 26621 // InternalSolverLanguageParser.g:8661:1: ( rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 )
22030 // InternalSolverLanguageParser.g:7146:2: rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 26622 // InternalSolverLanguageParser.g:8662:2: rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1
22031 { 26623 {
22032 pushFollow(FOLLOW_54); 26624 pushFollow(FOLLOW_61);
22033 rule__LowerBoundedScopeDefinition__Group__0__Impl(); 26625 rule__LowerBoundedScopeDefinition__Group__0__Impl();
22034 26626
22035 state._fsp--; 26627 state._fsp--;
@@ -22058,17 +26650,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22058 26650
22059 26651
22060 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0__Impl" 26652 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0__Impl"
22061 // InternalSolverLanguageParser.g:7153:1: rule__LowerBoundedScopeDefinition__Group__0__Impl : ( Scope ) ; 26653 // InternalSolverLanguageParser.g:8669:1: rule__LowerBoundedScopeDefinition__Group__0__Impl : ( Scope ) ;
22062 public final void rule__LowerBoundedScopeDefinition__Group__0__Impl() throws RecognitionException { 26654 public final void rule__LowerBoundedScopeDefinition__Group__0__Impl() throws RecognitionException {
22063 26655
22064 int stackSize = keepStackSize(); 26656 int stackSize = keepStackSize();
22065 26657
22066 try { 26658 try {
22067 // InternalSolverLanguageParser.g:7157:1: ( ( Scope ) ) 26659 // InternalSolverLanguageParser.g:8673:1: ( ( Scope ) )
22068 // InternalSolverLanguageParser.g:7158:1: ( Scope ) 26660 // InternalSolverLanguageParser.g:8674:1: ( Scope )
22069 { 26661 {
22070 // InternalSolverLanguageParser.g:7158:1: ( Scope ) 26662 // InternalSolverLanguageParser.g:8674:1: ( Scope )
22071 // InternalSolverLanguageParser.g:7159:2: Scope 26663 // InternalSolverLanguageParser.g:8675:2: Scope
22072 { 26664 {
22073 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 26665 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
22074 match(input,Scope,FOLLOW_2); 26666 match(input,Scope,FOLLOW_2);
@@ -22095,14 +26687,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22095 26687
22096 26688
22097 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1" 26689 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1"
22098 // InternalSolverLanguageParser.g:7168:1: rule__LowerBoundedScopeDefinition__Group__1 : rule__LowerBoundedScopeDefinition__Group__1__Impl ; 26690 // InternalSolverLanguageParser.g:8684:1: rule__LowerBoundedScopeDefinition__Group__1 : rule__LowerBoundedScopeDefinition__Group__1__Impl ;
22099 public final void rule__LowerBoundedScopeDefinition__Group__1() throws RecognitionException { 26691 public final void rule__LowerBoundedScopeDefinition__Group__1() throws RecognitionException {
22100 26692
22101 int stackSize = keepStackSize(); 26693 int stackSize = keepStackSize();
22102 26694
22103 try { 26695 try {
22104 // InternalSolverLanguageParser.g:7172:1: ( rule__LowerBoundedScopeDefinition__Group__1__Impl ) 26696 // InternalSolverLanguageParser.g:8688:1: ( rule__LowerBoundedScopeDefinition__Group__1__Impl )
22105 // InternalSolverLanguageParser.g:7173:2: rule__LowerBoundedScopeDefinition__Group__1__Impl 26697 // InternalSolverLanguageParser.g:8689:2: rule__LowerBoundedScopeDefinition__Group__1__Impl
22106 { 26698 {
22107 pushFollow(FOLLOW_2); 26699 pushFollow(FOLLOW_2);
22108 rule__LowerBoundedScopeDefinition__Group__1__Impl(); 26700 rule__LowerBoundedScopeDefinition__Group__1__Impl();
@@ -22128,21 +26720,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22128 26720
22129 26721
22130 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1__Impl" 26722 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1__Impl"
22131 // InternalSolverLanguageParser.g:7179:1: rule__LowerBoundedScopeDefinition__Group__1__Impl : ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ; 26723 // InternalSolverLanguageParser.g:8695:1: rule__LowerBoundedScopeDefinition__Group__1__Impl : ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ;
22132 public final void rule__LowerBoundedScopeDefinition__Group__1__Impl() throws RecognitionException { 26724 public final void rule__LowerBoundedScopeDefinition__Group__1__Impl() throws RecognitionException {
22133 26725
22134 int stackSize = keepStackSize(); 26726 int stackSize = keepStackSize();
22135 26727
22136 try { 26728 try {
22137 // InternalSolverLanguageParser.g:7183:1: ( ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ) 26729 // InternalSolverLanguageParser.g:8699:1: ( ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) )
22138 // InternalSolverLanguageParser.g:7184:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) 26730 // InternalSolverLanguageParser.g:8700:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) )
22139 { 26731 {
22140 // InternalSolverLanguageParser.g:7184:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) 26732 // InternalSolverLanguageParser.g:8700:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) )
22141 // InternalSolverLanguageParser.g:7185:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) 26733 // InternalSolverLanguageParser.g:8701:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 )
22142 { 26734 {
22143 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); 26735 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1());
22144 // InternalSolverLanguageParser.g:7186:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) 26736 // InternalSolverLanguageParser.g:8702:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 )
22145 // InternalSolverLanguageParser.g:7186:3: rule__LowerBoundedScopeDefinition__Alternatives_1 26737 // InternalSolverLanguageParser.g:8702:3: rule__LowerBoundedScopeDefinition__Alternatives_1
22146 { 26738 {
22147 pushFollow(FOLLOW_2); 26739 pushFollow(FOLLOW_2);
22148 rule__LowerBoundedScopeDefinition__Alternatives_1(); 26740 rule__LowerBoundedScopeDefinition__Alternatives_1();
@@ -22175,16 +26767,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22175 26767
22176 26768
22177 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0" 26769 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0"
22178 // InternalSolverLanguageParser.g:7195:1: rule__LowerBoundedScopeDefinition__Group_1_0__0 : rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ; 26770 // InternalSolverLanguageParser.g:8711:1: rule__LowerBoundedScopeDefinition__Group_1_0__0 : rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ;
22179 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0() throws RecognitionException { 26771 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0() throws RecognitionException {
22180 26772
22181 int stackSize = keepStackSize(); 26773 int stackSize = keepStackSize();
22182 26774
22183 try { 26775 try {
22184 // InternalSolverLanguageParser.g:7199:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ) 26776 // InternalSolverLanguageParser.g:8715:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 )
22185 // InternalSolverLanguageParser.g:7200:2: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 26777 // InternalSolverLanguageParser.g:8716:2: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1
22186 { 26778 {
22187 pushFollow(FOLLOW_55); 26779 pushFollow(FOLLOW_62);
22188 rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl(); 26780 rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl();
22189 26781
22190 state._fsp--; 26782 state._fsp--;
@@ -22213,21 +26805,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22213 26805
22214 26806
22215 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl" 26807 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl"
22216 // InternalSolverLanguageParser.g:7207:1: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ; 26808 // InternalSolverLanguageParser.g:8723:1: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ;
22217 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException { 26809 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException {
22218 26810
22219 int stackSize = keepStackSize(); 26811 int stackSize = keepStackSize();
22220 26812
22221 try { 26813 try {
22222 // InternalSolverLanguageParser.g:7211:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ) 26814 // InternalSolverLanguageParser.g:8727:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) )
22223 // InternalSolverLanguageParser.g:7212:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) 26815 // InternalSolverLanguageParser.g:8728:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) )
22224 { 26816 {
22225 // InternalSolverLanguageParser.g:7212:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) 26817 // InternalSolverLanguageParser.g:8728:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) )
22226 // InternalSolverLanguageParser.g:7213:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) 26818 // InternalSolverLanguageParser.g:8729:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 )
22227 { 26819 {
22228 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); 26820 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0());
22229 // InternalSolverLanguageParser.g:7214:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) 26821 // InternalSolverLanguageParser.g:8730:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 )
22230 // InternalSolverLanguageParser.g:7214:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 26822 // InternalSolverLanguageParser.g:8730:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0
22231 { 26823 {
22232 pushFollow(FOLLOW_2); 26824 pushFollow(FOLLOW_2);
22233 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0(); 26825 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0();
@@ -22260,14 +26852,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22260 26852
22261 26853
22262 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1" 26854 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1"
22263 // InternalSolverLanguageParser.g:7222:1: rule__LowerBoundedScopeDefinition__Group_1_0__1 : rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ; 26855 // InternalSolverLanguageParser.g:8738:1: rule__LowerBoundedScopeDefinition__Group_1_0__1 : rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ;
22264 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1() throws RecognitionException { 26856 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1() throws RecognitionException {
22265 26857
22266 int stackSize = keepStackSize(); 26858 int stackSize = keepStackSize();
22267 26859
22268 try { 26860 try {
22269 // InternalSolverLanguageParser.g:7226:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ) 26861 // InternalSolverLanguageParser.g:8742:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 )
22270 // InternalSolverLanguageParser.g:7227:2: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 26862 // InternalSolverLanguageParser.g:8743:2: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2
22271 { 26863 {
22272 pushFollow(FOLLOW_9); 26864 pushFollow(FOLLOW_9);
22273 rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl(); 26865 rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl();
@@ -22298,17 +26890,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22298 26890
22299 26891
22300 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl" 26892 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl"
22301 // InternalSolverLanguageParser.g:7234:1: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl : ( LessThanSignEqualsSign ) ; 26893 // InternalSolverLanguageParser.g:8750:1: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl : ( LessThanSignEqualsSign ) ;
22302 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException { 26894 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException {
22303 26895
22304 int stackSize = keepStackSize(); 26896 int stackSize = keepStackSize();
22305 26897
22306 try { 26898 try {
22307 // InternalSolverLanguageParser.g:7238:1: ( ( LessThanSignEqualsSign ) ) 26899 // InternalSolverLanguageParser.g:8754:1: ( ( LessThanSignEqualsSign ) )
22308 // InternalSolverLanguageParser.g:7239:1: ( LessThanSignEqualsSign ) 26900 // InternalSolverLanguageParser.g:8755:1: ( LessThanSignEqualsSign )
22309 { 26901 {
22310 // InternalSolverLanguageParser.g:7239:1: ( LessThanSignEqualsSign ) 26902 // InternalSolverLanguageParser.g:8755:1: ( LessThanSignEqualsSign )
22311 // InternalSolverLanguageParser.g:7240:2: LessThanSignEqualsSign 26903 // InternalSolverLanguageParser.g:8756:2: LessThanSignEqualsSign
22312 { 26904 {
22313 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 26905 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
22314 match(input,LessThanSignEqualsSign,FOLLOW_2); 26906 match(input,LessThanSignEqualsSign,FOLLOW_2);
@@ -22335,14 +26927,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22335 26927
22336 26928
22337 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2" 26929 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2"
22338 // InternalSolverLanguageParser.g:7249:1: rule__LowerBoundedScopeDefinition__Group_1_0__2 : rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ; 26930 // InternalSolverLanguageParser.g:8765:1: rule__LowerBoundedScopeDefinition__Group_1_0__2 : rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ;
22339 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2() throws RecognitionException { 26931 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2() throws RecognitionException {
22340 26932
22341 int stackSize = keepStackSize(); 26933 int stackSize = keepStackSize();
22342 26934
22343 try { 26935 try {
22344 // InternalSolverLanguageParser.g:7253:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ) 26936 // InternalSolverLanguageParser.g:8769:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl )
22345 // InternalSolverLanguageParser.g:7254:2: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl 26937 // InternalSolverLanguageParser.g:8770:2: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl
22346 { 26938 {
22347 pushFollow(FOLLOW_2); 26939 pushFollow(FOLLOW_2);
22348 rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl(); 26940 rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl();
@@ -22368,21 +26960,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22368 26960
22369 26961
22370 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl" 26962 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl"
22371 // InternalSolverLanguageParser.g:7260:1: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ; 26963 // InternalSolverLanguageParser.g:8776:1: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ;
22372 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException { 26964 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException {
22373 26965
22374 int stackSize = keepStackSize(); 26966 int stackSize = keepStackSize();
22375 26967
22376 try { 26968 try {
22377 // InternalSolverLanguageParser.g:7264:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ) 26969 // InternalSolverLanguageParser.g:8780:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) )
22378 // InternalSolverLanguageParser.g:7265:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) 26970 // InternalSolverLanguageParser.g:8781:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) )
22379 { 26971 {
22380 // InternalSolverLanguageParser.g:7265:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) 26972 // InternalSolverLanguageParser.g:8781:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) )
22381 // InternalSolverLanguageParser.g:7266:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) 26973 // InternalSolverLanguageParser.g:8782:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 )
22382 { 26974 {
22383 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); 26975 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2());
22384 // InternalSolverLanguageParser.g:7267:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) 26976 // InternalSolverLanguageParser.g:8783:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 )
22385 // InternalSolverLanguageParser.g:7267:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 26977 // InternalSolverLanguageParser.g:8783:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2
22386 { 26978 {
22387 pushFollow(FOLLOW_2); 26979 pushFollow(FOLLOW_2);
22388 rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2(); 26980 rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2();
@@ -22415,16 +27007,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22415 27007
22416 27008
22417 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0" 27009 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0"
22418 // InternalSolverLanguageParser.g:7276:1: rule__LowerBoundedScopeDefinition__Group_1_1__0 : rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ; 27010 // InternalSolverLanguageParser.g:8792:1: rule__LowerBoundedScopeDefinition__Group_1_1__0 : rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ;
22419 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0() throws RecognitionException { 27011 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0() throws RecognitionException {
22420 27012
22421 int stackSize = keepStackSize(); 27013 int stackSize = keepStackSize();
22422 27014
22423 try { 27015 try {
22424 // InternalSolverLanguageParser.g:7280:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ) 27016 // InternalSolverLanguageParser.g:8796:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 )
22425 // InternalSolverLanguageParser.g:7281:2: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 27017 // InternalSolverLanguageParser.g:8797:2: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1
22426 { 27018 {
22427 pushFollow(FOLLOW_56); 27019 pushFollow(FOLLOW_63);
22428 rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl(); 27020 rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl();
22429 27021
22430 state._fsp--; 27022 state._fsp--;
@@ -22453,21 +27045,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22453 27045
22454 27046
22455 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl" 27047 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl"
22456 // InternalSolverLanguageParser.g:7288:1: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ; 27048 // InternalSolverLanguageParser.g:8804:1: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ;
22457 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException { 27049 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException {
22458 27050
22459 int stackSize = keepStackSize(); 27051 int stackSize = keepStackSize();
22460 27052
22461 try { 27053 try {
22462 // InternalSolverLanguageParser.g:7292:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ) 27054 // InternalSolverLanguageParser.g:8808:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) )
22463 // InternalSolverLanguageParser.g:7293:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) 27055 // InternalSolverLanguageParser.g:8809:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) )
22464 { 27056 {
22465 // InternalSolverLanguageParser.g:7293:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) 27057 // InternalSolverLanguageParser.g:8809:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) )
22466 // InternalSolverLanguageParser.g:7294:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) 27058 // InternalSolverLanguageParser.g:8810:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 )
22467 { 27059 {
22468 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); 27060 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0());
22469 // InternalSolverLanguageParser.g:7295:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) 27061 // InternalSolverLanguageParser.g:8811:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 )
22470 // InternalSolverLanguageParser.g:7295:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 27062 // InternalSolverLanguageParser.g:8811:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0
22471 { 27063 {
22472 pushFollow(FOLLOW_2); 27064 pushFollow(FOLLOW_2);
22473 rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0(); 27065 rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0();
@@ -22500,16 +27092,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22500 27092
22501 27093
22502 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1" 27094 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1"
22503 // InternalSolverLanguageParser.g:7303:1: rule__LowerBoundedScopeDefinition__Group_1_1__1 : rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ; 27095 // InternalSolverLanguageParser.g:8819:1: rule__LowerBoundedScopeDefinition__Group_1_1__1 : rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ;
22504 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1() throws RecognitionException { 27096 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1() throws RecognitionException {
22505 27097
22506 int stackSize = keepStackSize(); 27098 int stackSize = keepStackSize();
22507 27099
22508 try { 27100 try {
22509 // InternalSolverLanguageParser.g:7307:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ) 27101 // InternalSolverLanguageParser.g:8823:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 )
22510 // InternalSolverLanguageParser.g:7308:2: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 27102 // InternalSolverLanguageParser.g:8824:2: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2
22511 { 27103 {
22512 pushFollow(FOLLOW_52); 27104 pushFollow(FOLLOW_59);
22513 rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl(); 27105 rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl();
22514 27106
22515 state._fsp--; 27107 state._fsp--;
@@ -22538,17 +27130,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22538 27130
22539 27131
22540 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl" 27132 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl"
22541 // InternalSolverLanguageParser.g:7315:1: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl : ( GreaterThanSignEqualsSign ) ; 27133 // InternalSolverLanguageParser.g:8831:1: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl : ( GreaterThanSignEqualsSign ) ;
22542 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException { 27134 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException {
22543 27135
22544 int stackSize = keepStackSize(); 27136 int stackSize = keepStackSize();
22545 27137
22546 try { 27138 try {
22547 // InternalSolverLanguageParser.g:7319:1: ( ( GreaterThanSignEqualsSign ) ) 27139 // InternalSolverLanguageParser.g:8835:1: ( ( GreaterThanSignEqualsSign ) )
22548 // InternalSolverLanguageParser.g:7320:1: ( GreaterThanSignEqualsSign ) 27140 // InternalSolverLanguageParser.g:8836:1: ( GreaterThanSignEqualsSign )
22549 { 27141 {
22550 // InternalSolverLanguageParser.g:7320:1: ( GreaterThanSignEqualsSign ) 27142 // InternalSolverLanguageParser.g:8836:1: ( GreaterThanSignEqualsSign )
22551 // InternalSolverLanguageParser.g:7321:2: GreaterThanSignEqualsSign 27143 // InternalSolverLanguageParser.g:8837:2: GreaterThanSignEqualsSign
22552 { 27144 {
22553 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 27145 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
22554 match(input,GreaterThanSignEqualsSign,FOLLOW_2); 27146 match(input,GreaterThanSignEqualsSign,FOLLOW_2);
@@ -22575,14 +27167,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22575 27167
22576 27168
22577 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2" 27169 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2"
22578 // InternalSolverLanguageParser.g:7330:1: rule__LowerBoundedScopeDefinition__Group_1_1__2 : rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ; 27170 // InternalSolverLanguageParser.g:8846:1: rule__LowerBoundedScopeDefinition__Group_1_1__2 : rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ;
22579 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2() throws RecognitionException { 27171 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2() throws RecognitionException {
22580 27172
22581 int stackSize = keepStackSize(); 27173 int stackSize = keepStackSize();
22582 27174
22583 try { 27175 try {
22584 // InternalSolverLanguageParser.g:7334:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ) 27176 // InternalSolverLanguageParser.g:8850:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl )
22585 // InternalSolverLanguageParser.g:7335:2: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl 27177 // InternalSolverLanguageParser.g:8851:2: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl
22586 { 27178 {
22587 pushFollow(FOLLOW_2); 27179 pushFollow(FOLLOW_2);
22588 rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl(); 27180 rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl();
@@ -22608,21 +27200,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22608 27200
22609 27201
22610 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl" 27202 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl"
22611 // InternalSolverLanguageParser.g:7341:1: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ; 27203 // InternalSolverLanguageParser.g:8857:1: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ;
22612 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException { 27204 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException {
22613 27205
22614 int stackSize = keepStackSize(); 27206 int stackSize = keepStackSize();
22615 27207
22616 try { 27208 try {
22617 // InternalSolverLanguageParser.g:7345:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ) 27209 // InternalSolverLanguageParser.g:8861:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) )
22618 // InternalSolverLanguageParser.g:7346:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) 27210 // InternalSolverLanguageParser.g:8862:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) )
22619 { 27211 {
22620 // InternalSolverLanguageParser.g:7346:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) 27212 // InternalSolverLanguageParser.g:8862:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) )
22621 // InternalSolverLanguageParser.g:7347:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) 27213 // InternalSolverLanguageParser.g:8863:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 )
22622 { 27214 {
22623 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); 27215 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2());
22624 // InternalSolverLanguageParser.g:7348:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) 27216 // InternalSolverLanguageParser.g:8864:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 )
22625 // InternalSolverLanguageParser.g:7348:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 27217 // InternalSolverLanguageParser.g:8864:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2
22626 { 27218 {
22627 pushFollow(FOLLOW_2); 27219 pushFollow(FOLLOW_2);
22628 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2(); 27220 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2();
@@ -22655,14 +27247,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22655 27247
22656 27248
22657 // $ANTLR start "rule__ObjectiveDefinition__Group__0" 27249 // $ANTLR start "rule__ObjectiveDefinition__Group__0"
22658 // InternalSolverLanguageParser.g:7357:1: rule__ObjectiveDefinition__Group__0 : rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ; 27250 // InternalSolverLanguageParser.g:8873:1: rule__ObjectiveDefinition__Group__0 : rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ;
22659 public final void rule__ObjectiveDefinition__Group__0() throws RecognitionException { 27251 public final void rule__ObjectiveDefinition__Group__0() throws RecognitionException {
22660 27252
22661 int stackSize = keepStackSize(); 27253 int stackSize = keepStackSize();
22662 27254
22663 try { 27255 try {
22664 // InternalSolverLanguageParser.g:7361:1: ( rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ) 27256 // InternalSolverLanguageParser.g:8877:1: ( rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 )
22665 // InternalSolverLanguageParser.g:7362:2: rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 27257 // InternalSolverLanguageParser.g:8878:2: rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1
22666 { 27258 {
22667 pushFollow(FOLLOW_7); 27259 pushFollow(FOLLOW_7);
22668 rule__ObjectiveDefinition__Group__0__Impl(); 27260 rule__ObjectiveDefinition__Group__0__Impl();
@@ -22693,21 +27285,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22693 27285
22694 27286
22695 // $ANTLR start "rule__ObjectiveDefinition__Group__0__Impl" 27287 // $ANTLR start "rule__ObjectiveDefinition__Group__0__Impl"
22696 // InternalSolverLanguageParser.g:7369:1: rule__ObjectiveDefinition__Group__0__Impl : ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ; 27288 // InternalSolverLanguageParser.g:8885:1: rule__ObjectiveDefinition__Group__0__Impl : ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ;
22697 public final void rule__ObjectiveDefinition__Group__0__Impl() throws RecognitionException { 27289 public final void rule__ObjectiveDefinition__Group__0__Impl() throws RecognitionException {
22698 27290
22699 int stackSize = keepStackSize(); 27291 int stackSize = keepStackSize();
22700 27292
22701 try { 27293 try {
22702 // InternalSolverLanguageParser.g:7373:1: ( ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ) 27294 // InternalSolverLanguageParser.g:8889:1: ( ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) )
22703 // InternalSolverLanguageParser.g:7374:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) 27295 // InternalSolverLanguageParser.g:8890:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) )
22704 { 27296 {
22705 // InternalSolverLanguageParser.g:7374:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) 27297 // InternalSolverLanguageParser.g:8890:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) )
22706 // InternalSolverLanguageParser.g:7375:2: ( rule__ObjectiveDefinition__KindAssignment_0 ) 27298 // InternalSolverLanguageParser.g:8891:2: ( rule__ObjectiveDefinition__KindAssignment_0 )
22707 { 27299 {
22708 before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); 27300 before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0());
22709 // InternalSolverLanguageParser.g:7376:2: ( rule__ObjectiveDefinition__KindAssignment_0 ) 27301 // InternalSolverLanguageParser.g:8892:2: ( rule__ObjectiveDefinition__KindAssignment_0 )
22710 // InternalSolverLanguageParser.g:7376:3: rule__ObjectiveDefinition__KindAssignment_0 27302 // InternalSolverLanguageParser.g:8892:3: rule__ObjectiveDefinition__KindAssignment_0
22711 { 27303 {
22712 pushFollow(FOLLOW_2); 27304 pushFollow(FOLLOW_2);
22713 rule__ObjectiveDefinition__KindAssignment_0(); 27305 rule__ObjectiveDefinition__KindAssignment_0();
@@ -22740,14 +27332,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22740 27332
22741 27333
22742 // $ANTLR start "rule__ObjectiveDefinition__Group__1" 27334 // $ANTLR start "rule__ObjectiveDefinition__Group__1"
22743 // InternalSolverLanguageParser.g:7384:1: rule__ObjectiveDefinition__Group__1 : rule__ObjectiveDefinition__Group__1__Impl ; 27335 // InternalSolverLanguageParser.g:8900:1: rule__ObjectiveDefinition__Group__1 : rule__ObjectiveDefinition__Group__1__Impl ;
22744 public final void rule__ObjectiveDefinition__Group__1() throws RecognitionException { 27336 public final void rule__ObjectiveDefinition__Group__1() throws RecognitionException {
22745 27337
22746 int stackSize = keepStackSize(); 27338 int stackSize = keepStackSize();
22747 27339
22748 try { 27340 try {
22749 // InternalSolverLanguageParser.g:7388:1: ( rule__ObjectiveDefinition__Group__1__Impl ) 27341 // InternalSolverLanguageParser.g:8904:1: ( rule__ObjectiveDefinition__Group__1__Impl )
22750 // InternalSolverLanguageParser.g:7389:2: rule__ObjectiveDefinition__Group__1__Impl 27342 // InternalSolverLanguageParser.g:8905:2: rule__ObjectiveDefinition__Group__1__Impl
22751 { 27343 {
22752 pushFollow(FOLLOW_2); 27344 pushFollow(FOLLOW_2);
22753 rule__ObjectiveDefinition__Group__1__Impl(); 27345 rule__ObjectiveDefinition__Group__1__Impl();
@@ -22773,21 +27365,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22773 27365
22774 27366
22775 // $ANTLR start "rule__ObjectiveDefinition__Group__1__Impl" 27367 // $ANTLR start "rule__ObjectiveDefinition__Group__1__Impl"
22776 // InternalSolverLanguageParser.g:7395:1: rule__ObjectiveDefinition__Group__1__Impl : ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ; 27368 // InternalSolverLanguageParser.g:8911:1: rule__ObjectiveDefinition__Group__1__Impl : ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ;
22777 public final void rule__ObjectiveDefinition__Group__1__Impl() throws RecognitionException { 27369 public final void rule__ObjectiveDefinition__Group__1__Impl() throws RecognitionException {
22778 27370
22779 int stackSize = keepStackSize(); 27371 int stackSize = keepStackSize();
22780 27372
22781 try { 27373 try {
22782 // InternalSolverLanguageParser.g:7399:1: ( ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ) 27374 // InternalSolverLanguageParser.g:8915:1: ( ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) )
22783 // InternalSolverLanguageParser.g:7400:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) 27375 // InternalSolverLanguageParser.g:8916:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) )
22784 { 27376 {
22785 // InternalSolverLanguageParser.g:7400:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) 27377 // InternalSolverLanguageParser.g:8916:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) )
22786 // InternalSolverLanguageParser.g:7401:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) 27378 // InternalSolverLanguageParser.g:8917:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 )
22787 { 27379 {
22788 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); 27380 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1());
22789 // InternalSolverLanguageParser.g:7402:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) 27381 // InternalSolverLanguageParser.g:8918:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 )
22790 // InternalSolverLanguageParser.g:7402:3: rule__ObjectiveDefinition__ObjectiveAssignment_1 27382 // InternalSolverLanguageParser.g:8918:3: rule__ObjectiveDefinition__ObjectiveAssignment_1
22791 { 27383 {
22792 pushFollow(FOLLOW_2); 27384 pushFollow(FOLLOW_2);
22793 rule__ObjectiveDefinition__ObjectiveAssignment_1(); 27385 rule__ObjectiveDefinition__ObjectiveAssignment_1();
@@ -22820,16 +27412,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22820 27412
22821 27413
22822 // $ANTLR start "rule__Real__Group__0" 27414 // $ANTLR start "rule__Real__Group__0"
22823 // InternalSolverLanguageParser.g:7411:1: rule__Real__Group__0 : rule__Real__Group__0__Impl rule__Real__Group__1 ; 27415 // InternalSolverLanguageParser.g:8927:1: rule__Real__Group__0 : rule__Real__Group__0__Impl rule__Real__Group__1 ;
22824 public final void rule__Real__Group__0() throws RecognitionException { 27416 public final void rule__Real__Group__0() throws RecognitionException {
22825 27417
22826 int stackSize = keepStackSize(); 27418 int stackSize = keepStackSize();
22827 27419
22828 try { 27420 try {
22829 // InternalSolverLanguageParser.g:7415:1: ( rule__Real__Group__0__Impl rule__Real__Group__1 ) 27421 // InternalSolverLanguageParser.g:8931:1: ( rule__Real__Group__0__Impl rule__Real__Group__1 )
22830 // InternalSolverLanguageParser.g:7416:2: rule__Real__Group__0__Impl rule__Real__Group__1 27422 // InternalSolverLanguageParser.g:8932:2: rule__Real__Group__0__Impl rule__Real__Group__1
22831 { 27423 {
22832 pushFollow(FOLLOW_57); 27424 pushFollow(FOLLOW_64);
22833 rule__Real__Group__0__Impl(); 27425 rule__Real__Group__0__Impl();
22834 27426
22835 state._fsp--; 27427 state._fsp--;
@@ -22858,17 +27450,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22858 27450
22859 27451
22860 // $ANTLR start "rule__Real__Group__0__Impl" 27452 // $ANTLR start "rule__Real__Group__0__Impl"
22861 // InternalSolverLanguageParser.g:7423:1: rule__Real__Group__0__Impl : ( RULE_INT ) ; 27453 // InternalSolverLanguageParser.g:8939:1: rule__Real__Group__0__Impl : ( RULE_INT ) ;
22862 public final void rule__Real__Group__0__Impl() throws RecognitionException { 27454 public final void rule__Real__Group__0__Impl() throws RecognitionException {
22863 27455
22864 int stackSize = keepStackSize(); 27456 int stackSize = keepStackSize();
22865 27457
22866 try { 27458 try {
22867 // InternalSolverLanguageParser.g:7427:1: ( ( RULE_INT ) ) 27459 // InternalSolverLanguageParser.g:8943:1: ( ( RULE_INT ) )
22868 // InternalSolverLanguageParser.g:7428:1: ( RULE_INT ) 27460 // InternalSolverLanguageParser.g:8944:1: ( RULE_INT )
22869 { 27461 {
22870 // InternalSolverLanguageParser.g:7428:1: ( RULE_INT ) 27462 // InternalSolverLanguageParser.g:8944:1: ( RULE_INT )
22871 // InternalSolverLanguageParser.g:7429:2: RULE_INT 27463 // InternalSolverLanguageParser.g:8945:2: RULE_INT
22872 { 27464 {
22873 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 27465 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
22874 match(input,RULE_INT,FOLLOW_2); 27466 match(input,RULE_INT,FOLLOW_2);
@@ -22895,14 +27487,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22895 27487
22896 27488
22897 // $ANTLR start "rule__Real__Group__1" 27489 // $ANTLR start "rule__Real__Group__1"
22898 // InternalSolverLanguageParser.g:7438:1: rule__Real__Group__1 : rule__Real__Group__1__Impl ; 27490 // InternalSolverLanguageParser.g:8954:1: rule__Real__Group__1 : rule__Real__Group__1__Impl ;
22899 public final void rule__Real__Group__1() throws RecognitionException { 27491 public final void rule__Real__Group__1() throws RecognitionException {
22900 27492
22901 int stackSize = keepStackSize(); 27493 int stackSize = keepStackSize();
22902 27494
22903 try { 27495 try {
22904 // InternalSolverLanguageParser.g:7442:1: ( rule__Real__Group__1__Impl ) 27496 // InternalSolverLanguageParser.g:8958:1: ( rule__Real__Group__1__Impl )
22905 // InternalSolverLanguageParser.g:7443:2: rule__Real__Group__1__Impl 27497 // InternalSolverLanguageParser.g:8959:2: rule__Real__Group__1__Impl
22906 { 27498 {
22907 pushFollow(FOLLOW_2); 27499 pushFollow(FOLLOW_2);
22908 rule__Real__Group__1__Impl(); 27500 rule__Real__Group__1__Impl();
@@ -22928,29 +27520,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22928 27520
22929 27521
22930 // $ANTLR start "rule__Real__Group__1__Impl" 27522 // $ANTLR start "rule__Real__Group__1__Impl"
22931 // InternalSolverLanguageParser.g:7449:1: rule__Real__Group__1__Impl : ( ( rule__Real__Group_1__0 )? ) ; 27523 // InternalSolverLanguageParser.g:8965:1: rule__Real__Group__1__Impl : ( ( rule__Real__Group_1__0 )? ) ;
22932 public final void rule__Real__Group__1__Impl() throws RecognitionException { 27524 public final void rule__Real__Group__1__Impl() throws RecognitionException {
22933 27525
22934 int stackSize = keepStackSize(); 27526 int stackSize = keepStackSize();
22935 27527
22936 try { 27528 try {
22937 // InternalSolverLanguageParser.g:7453:1: ( ( ( rule__Real__Group_1__0 )? ) ) 27529 // InternalSolverLanguageParser.g:8969:1: ( ( ( rule__Real__Group_1__0 )? ) )
22938 // InternalSolverLanguageParser.g:7454:1: ( ( rule__Real__Group_1__0 )? ) 27530 // InternalSolverLanguageParser.g:8970:1: ( ( rule__Real__Group_1__0 )? )
22939 { 27531 {
22940 // InternalSolverLanguageParser.g:7454:1: ( ( rule__Real__Group_1__0 )? ) 27532 // InternalSolverLanguageParser.g:8970:1: ( ( rule__Real__Group_1__0 )? )
22941 // InternalSolverLanguageParser.g:7455:2: ( rule__Real__Group_1__0 )? 27533 // InternalSolverLanguageParser.g:8971:2: ( rule__Real__Group_1__0 )?
22942 { 27534 {
22943 before(grammarAccess.getRealAccess().getGroup_1()); 27535 before(grammarAccess.getRealAccess().getGroup_1());
22944 // InternalSolverLanguageParser.g:7456:2: ( rule__Real__Group_1__0 )? 27536 // InternalSolverLanguageParser.g:8972:2: ( rule__Real__Group_1__0 )?
22945 int alt52=2; 27537 int alt61=2;
22946 int LA52_0 = input.LA(1); 27538 int LA61_0 = input.LA(1);
22947 27539
22948 if ( (LA52_0==FullStop) ) { 27540 if ( (LA61_0==FullStop) ) {
22949 alt52=1; 27541 alt61=1;
22950 } 27542 }
22951 switch (alt52) { 27543 switch (alt61) {
22952 case 1 : 27544 case 1 :
22953 // InternalSolverLanguageParser.g:7456:3: rule__Real__Group_1__0 27545 // InternalSolverLanguageParser.g:8972:3: rule__Real__Group_1__0
22954 { 27546 {
22955 pushFollow(FOLLOW_2); 27547 pushFollow(FOLLOW_2);
22956 rule__Real__Group_1__0(); 27548 rule__Real__Group_1__0();
@@ -22986,16 +27578,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
22986 27578
22987 27579
22988 // $ANTLR start "rule__Real__Group_1__0" 27580 // $ANTLR start "rule__Real__Group_1__0"
22989 // InternalSolverLanguageParser.g:7465:1: rule__Real__Group_1__0 : rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ; 27581 // InternalSolverLanguageParser.g:8981:1: rule__Real__Group_1__0 : rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ;
22990 public final void rule__Real__Group_1__0() throws RecognitionException { 27582 public final void rule__Real__Group_1__0() throws RecognitionException {
22991 27583
22992 int stackSize = keepStackSize(); 27584 int stackSize = keepStackSize();
22993 27585
22994 try { 27586 try {
22995 // InternalSolverLanguageParser.g:7469:1: ( rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ) 27587 // InternalSolverLanguageParser.g:8985:1: ( rule__Real__Group_1__0__Impl rule__Real__Group_1__1 )
22996 // InternalSolverLanguageParser.g:7470:2: rule__Real__Group_1__0__Impl rule__Real__Group_1__1 27588 // InternalSolverLanguageParser.g:8986:2: rule__Real__Group_1__0__Impl rule__Real__Group_1__1
22997 { 27589 {
22998 pushFollow(FOLLOW_52); 27590 pushFollow(FOLLOW_59);
22999 rule__Real__Group_1__0__Impl(); 27591 rule__Real__Group_1__0__Impl();
23000 27592
23001 state._fsp--; 27593 state._fsp--;
@@ -23024,17 +27616,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23024 27616
23025 27617
23026 // $ANTLR start "rule__Real__Group_1__0__Impl" 27618 // $ANTLR start "rule__Real__Group_1__0__Impl"
23027 // InternalSolverLanguageParser.g:7477:1: rule__Real__Group_1__0__Impl : ( FullStop ) ; 27619 // InternalSolverLanguageParser.g:8993:1: rule__Real__Group_1__0__Impl : ( FullStop ) ;
23028 public final void rule__Real__Group_1__0__Impl() throws RecognitionException { 27620 public final void rule__Real__Group_1__0__Impl() throws RecognitionException {
23029 27621
23030 int stackSize = keepStackSize(); 27622 int stackSize = keepStackSize();
23031 27623
23032 try { 27624 try {
23033 // InternalSolverLanguageParser.g:7481:1: ( ( FullStop ) ) 27625 // InternalSolverLanguageParser.g:8997:1: ( ( FullStop ) )
23034 // InternalSolverLanguageParser.g:7482:1: ( FullStop ) 27626 // InternalSolverLanguageParser.g:8998:1: ( FullStop )
23035 { 27627 {
23036 // InternalSolverLanguageParser.g:7482:1: ( FullStop ) 27628 // InternalSolverLanguageParser.g:8998:1: ( FullStop )
23037 // InternalSolverLanguageParser.g:7483:2: FullStop 27629 // InternalSolverLanguageParser.g:8999:2: FullStop
23038 { 27630 {
23039 before(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 27631 before(grammarAccess.getRealAccess().getFullStopKeyword_1_0());
23040 match(input,FullStop,FOLLOW_2); 27632 match(input,FullStop,FOLLOW_2);
@@ -23061,14 +27653,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23061 27653
23062 27654
23063 // $ANTLR start "rule__Real__Group_1__1" 27655 // $ANTLR start "rule__Real__Group_1__1"
23064 // InternalSolverLanguageParser.g:7492:1: rule__Real__Group_1__1 : rule__Real__Group_1__1__Impl ; 27656 // InternalSolverLanguageParser.g:9008:1: rule__Real__Group_1__1 : rule__Real__Group_1__1__Impl ;
23065 public final void rule__Real__Group_1__1() throws RecognitionException { 27657 public final void rule__Real__Group_1__1() throws RecognitionException {
23066 27658
23067 int stackSize = keepStackSize(); 27659 int stackSize = keepStackSize();
23068 27660
23069 try { 27661 try {
23070 // InternalSolverLanguageParser.g:7496:1: ( rule__Real__Group_1__1__Impl ) 27662 // InternalSolverLanguageParser.g:9012:1: ( rule__Real__Group_1__1__Impl )
23071 // InternalSolverLanguageParser.g:7497:2: rule__Real__Group_1__1__Impl 27663 // InternalSolverLanguageParser.g:9013:2: rule__Real__Group_1__1__Impl
23072 { 27664 {
23073 pushFollow(FOLLOW_2); 27665 pushFollow(FOLLOW_2);
23074 rule__Real__Group_1__1__Impl(); 27666 rule__Real__Group_1__1__Impl();
@@ -23094,17 +27686,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23094 27686
23095 27687
23096 // $ANTLR start "rule__Real__Group_1__1__Impl" 27688 // $ANTLR start "rule__Real__Group_1__1__Impl"
23097 // InternalSolverLanguageParser.g:7503:1: rule__Real__Group_1__1__Impl : ( RULE_INT ) ; 27689 // InternalSolverLanguageParser.g:9019:1: rule__Real__Group_1__1__Impl : ( RULE_INT ) ;
23098 public final void rule__Real__Group_1__1__Impl() throws RecognitionException { 27690 public final void rule__Real__Group_1__1__Impl() throws RecognitionException {
23099 27691
23100 int stackSize = keepStackSize(); 27692 int stackSize = keepStackSize();
23101 27693
23102 try { 27694 try {
23103 // InternalSolverLanguageParser.g:7507:1: ( ( RULE_INT ) ) 27695 // InternalSolverLanguageParser.g:9023:1: ( ( RULE_INT ) )
23104 // InternalSolverLanguageParser.g:7508:1: ( RULE_INT ) 27696 // InternalSolverLanguageParser.g:9024:1: ( RULE_INT )
23105 { 27697 {
23106 // InternalSolverLanguageParser.g:7508:1: ( RULE_INT ) 27698 // InternalSolverLanguageParser.g:9024:1: ( RULE_INT )
23107 // InternalSolverLanguageParser.g:7509:2: RULE_INT 27699 // InternalSolverLanguageParser.g:9025:2: RULE_INT
23108 { 27700 {
23109 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); 27701 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1());
23110 match(input,RULE_INT,FOLLOW_2); 27702 match(input,RULE_INT,FOLLOW_2);
@@ -23131,16 +27723,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23131 27723
23132 27724
23133 // $ANTLR start "rule__QualifiedName__Group_0__0" 27725 // $ANTLR start "rule__QualifiedName__Group_0__0"
23134 // InternalSolverLanguageParser.g:7519:1: rule__QualifiedName__Group_0__0 : rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ; 27726 // InternalSolverLanguageParser.g:9035:1: rule__QualifiedName__Group_0__0 : rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ;
23135 public final void rule__QualifiedName__Group_0__0() throws RecognitionException { 27727 public final void rule__QualifiedName__Group_0__0() throws RecognitionException {
23136 27728
23137 int stackSize = keepStackSize(); 27729 int stackSize = keepStackSize();
23138 27730
23139 try { 27731 try {
23140 // InternalSolverLanguageParser.g:7523:1: ( rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ) 27732 // InternalSolverLanguageParser.g:9039:1: ( rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 )
23141 // InternalSolverLanguageParser.g:7524:2: rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 27733 // InternalSolverLanguageParser.g:9040:2: rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1
23142 { 27734 {
23143 pushFollow(FOLLOW_57); 27735 pushFollow(FOLLOW_64);
23144 rule__QualifiedName__Group_0__0__Impl(); 27736 rule__QualifiedName__Group_0__0__Impl();
23145 27737
23146 state._fsp--; 27738 state._fsp--;
@@ -23169,17 +27761,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23169 27761
23170 27762
23171 // $ANTLR start "rule__QualifiedName__Group_0__0__Impl" 27763 // $ANTLR start "rule__QualifiedName__Group_0__0__Impl"
23172 // InternalSolverLanguageParser.g:7531:1: rule__QualifiedName__Group_0__0__Impl : ( RULE_ID ) ; 27764 // InternalSolverLanguageParser.g:9047:1: rule__QualifiedName__Group_0__0__Impl : ( RULE_ID ) ;
23173 public final void rule__QualifiedName__Group_0__0__Impl() throws RecognitionException { 27765 public final void rule__QualifiedName__Group_0__0__Impl() throws RecognitionException {
23174 27766
23175 int stackSize = keepStackSize(); 27767 int stackSize = keepStackSize();
23176 27768
23177 try { 27769 try {
23178 // InternalSolverLanguageParser.g:7535:1: ( ( RULE_ID ) ) 27770 // InternalSolverLanguageParser.g:9051:1: ( ( RULE_ID ) )
23179 // InternalSolverLanguageParser.g:7536:1: ( RULE_ID ) 27771 // InternalSolverLanguageParser.g:9052:1: ( RULE_ID )
23180 { 27772 {
23181 // InternalSolverLanguageParser.g:7536:1: ( RULE_ID ) 27773 // InternalSolverLanguageParser.g:9052:1: ( RULE_ID )
23182 // InternalSolverLanguageParser.g:7537:2: RULE_ID 27774 // InternalSolverLanguageParser.g:9053:2: RULE_ID
23183 { 27775 {
23184 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 27776 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
23185 match(input,RULE_ID,FOLLOW_2); 27777 match(input,RULE_ID,FOLLOW_2);
@@ -23206,14 +27798,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23206 27798
23207 27799
23208 // $ANTLR start "rule__QualifiedName__Group_0__1" 27800 // $ANTLR start "rule__QualifiedName__Group_0__1"
23209 // InternalSolverLanguageParser.g:7546:1: rule__QualifiedName__Group_0__1 : rule__QualifiedName__Group_0__1__Impl ; 27801 // InternalSolverLanguageParser.g:9062:1: rule__QualifiedName__Group_0__1 : rule__QualifiedName__Group_0__1__Impl ;
23210 public final void rule__QualifiedName__Group_0__1() throws RecognitionException { 27802 public final void rule__QualifiedName__Group_0__1() throws RecognitionException {
23211 27803
23212 int stackSize = keepStackSize(); 27804 int stackSize = keepStackSize();
23213 27805
23214 try { 27806 try {
23215 // InternalSolverLanguageParser.g:7550:1: ( rule__QualifiedName__Group_0__1__Impl ) 27807 // InternalSolverLanguageParser.g:9066:1: ( rule__QualifiedName__Group_0__1__Impl )
23216 // InternalSolverLanguageParser.g:7551:2: rule__QualifiedName__Group_0__1__Impl 27808 // InternalSolverLanguageParser.g:9067:2: rule__QualifiedName__Group_0__1__Impl
23217 { 27809 {
23218 pushFollow(FOLLOW_2); 27810 pushFollow(FOLLOW_2);
23219 rule__QualifiedName__Group_0__1__Impl(); 27811 rule__QualifiedName__Group_0__1__Impl();
@@ -23239,35 +27831,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23239 27831
23240 27832
23241 // $ANTLR start "rule__QualifiedName__Group_0__1__Impl" 27833 // $ANTLR start "rule__QualifiedName__Group_0__1__Impl"
23242 // InternalSolverLanguageParser.g:7557:1: rule__QualifiedName__Group_0__1__Impl : ( ( rule__QualifiedName__Group_0_1__0 )* ) ; 27834 // InternalSolverLanguageParser.g:9073:1: rule__QualifiedName__Group_0__1__Impl : ( ( rule__QualifiedName__Group_0_1__0 )* ) ;
23243 public final void rule__QualifiedName__Group_0__1__Impl() throws RecognitionException { 27835 public final void rule__QualifiedName__Group_0__1__Impl() throws RecognitionException {
23244 27836
23245 int stackSize = keepStackSize(); 27837 int stackSize = keepStackSize();
23246 27838
23247 try { 27839 try {
23248 // InternalSolverLanguageParser.g:7561:1: ( ( ( rule__QualifiedName__Group_0_1__0 )* ) ) 27840 // InternalSolverLanguageParser.g:9077:1: ( ( ( rule__QualifiedName__Group_0_1__0 )* ) )
23249 // InternalSolverLanguageParser.g:7562:1: ( ( rule__QualifiedName__Group_0_1__0 )* ) 27841 // InternalSolverLanguageParser.g:9078:1: ( ( rule__QualifiedName__Group_0_1__0 )* )
23250 { 27842 {
23251 // InternalSolverLanguageParser.g:7562:1: ( ( rule__QualifiedName__Group_0_1__0 )* ) 27843 // InternalSolverLanguageParser.g:9078:1: ( ( rule__QualifiedName__Group_0_1__0 )* )
23252 // InternalSolverLanguageParser.g:7563:2: ( rule__QualifiedName__Group_0_1__0 )* 27844 // InternalSolverLanguageParser.g:9079:2: ( rule__QualifiedName__Group_0_1__0 )*
23253 { 27845 {
23254 before(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); 27846 before(grammarAccess.getQualifiedNameAccess().getGroup_0_1());
23255 // InternalSolverLanguageParser.g:7564:2: ( rule__QualifiedName__Group_0_1__0 )* 27847 // InternalSolverLanguageParser.g:9080:2: ( rule__QualifiedName__Group_0_1__0 )*
23256 loop53: 27848 loop62:
23257 do { 27849 do {
23258 int alt53=2; 27850 int alt62=2;
23259 int LA53_0 = input.LA(1); 27851 int LA62_0 = input.LA(1);
23260 27852
23261 if ( (LA53_0==FullStop) ) { 27853 if ( (LA62_0==FullStop) ) {
23262 alt53=1; 27854 alt62=1;
23263 } 27855 }
23264 27856
23265 27857
23266 switch (alt53) { 27858 switch (alt62) {
23267 case 1 : 27859 case 1 :
23268 // InternalSolverLanguageParser.g:7564:3: rule__QualifiedName__Group_0_1__0 27860 // InternalSolverLanguageParser.g:9080:3: rule__QualifiedName__Group_0_1__0
23269 { 27861 {
23270 pushFollow(FOLLOW_58); 27862 pushFollow(FOLLOW_65);
23271 rule__QualifiedName__Group_0_1__0(); 27863 rule__QualifiedName__Group_0_1__0();
23272 27864
23273 state._fsp--; 27865 state._fsp--;
@@ -23277,7 +27869,7 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23277 break; 27869 break;
23278 27870
23279 default : 27871 default :
23280 break loop53; 27872 break loop62;
23281 } 27873 }
23282 } while (true); 27874 } while (true);
23283 27875
@@ -23304,16 +27896,16 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23304 27896
23305 27897
23306 // $ANTLR start "rule__QualifiedName__Group_0_1__0" 27898 // $ANTLR start "rule__QualifiedName__Group_0_1__0"
23307 // InternalSolverLanguageParser.g:7573:1: rule__QualifiedName__Group_0_1__0 : rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ; 27899 // InternalSolverLanguageParser.g:9089:1: rule__QualifiedName__Group_0_1__0 : rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ;
23308 public final void rule__QualifiedName__Group_0_1__0() throws RecognitionException { 27900 public final void rule__QualifiedName__Group_0_1__0() throws RecognitionException {
23309 27901
23310 int stackSize = keepStackSize(); 27902 int stackSize = keepStackSize();
23311 27903
23312 try { 27904 try {
23313 // InternalSolverLanguageParser.g:7577:1: ( rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ) 27905 // InternalSolverLanguageParser.g:9093:1: ( rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 )
23314 // InternalSolverLanguageParser.g:7578:2: rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 27906 // InternalSolverLanguageParser.g:9094:2: rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1
23315 { 27907 {
23316 pushFollow(FOLLOW_43); 27908 pushFollow(FOLLOW_21);
23317 rule__QualifiedName__Group_0_1__0__Impl(); 27909 rule__QualifiedName__Group_0_1__0__Impl();
23318 27910
23319 state._fsp--; 27911 state._fsp--;
@@ -23342,17 +27934,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23342 27934
23343 27935
23344 // $ANTLR start "rule__QualifiedName__Group_0_1__0__Impl" 27936 // $ANTLR start "rule__QualifiedName__Group_0_1__0__Impl"
23345 // InternalSolverLanguageParser.g:7585:1: rule__QualifiedName__Group_0_1__0__Impl : ( FullStop ) ; 27937 // InternalSolverLanguageParser.g:9101:1: rule__QualifiedName__Group_0_1__0__Impl : ( FullStop ) ;
23346 public final void rule__QualifiedName__Group_0_1__0__Impl() throws RecognitionException { 27938 public final void rule__QualifiedName__Group_0_1__0__Impl() throws RecognitionException {
23347 27939
23348 int stackSize = keepStackSize(); 27940 int stackSize = keepStackSize();
23349 27941
23350 try { 27942 try {
23351 // InternalSolverLanguageParser.g:7589:1: ( ( FullStop ) ) 27943 // InternalSolverLanguageParser.g:9105:1: ( ( FullStop ) )
23352 // InternalSolverLanguageParser.g:7590:1: ( FullStop ) 27944 // InternalSolverLanguageParser.g:9106:1: ( FullStop )
23353 { 27945 {
23354 // InternalSolverLanguageParser.g:7590:1: ( FullStop ) 27946 // InternalSolverLanguageParser.g:9106:1: ( FullStop )
23355 // InternalSolverLanguageParser.g:7591:2: FullStop 27947 // InternalSolverLanguageParser.g:9107:2: FullStop
23356 { 27948 {
23357 before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 27949 before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
23358 match(input,FullStop,FOLLOW_2); 27950 match(input,FullStop,FOLLOW_2);
@@ -23379,14 +27971,14 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23379 27971
23380 27972
23381 // $ANTLR start "rule__QualifiedName__Group_0_1__1" 27973 // $ANTLR start "rule__QualifiedName__Group_0_1__1"
23382 // InternalSolverLanguageParser.g:7600:1: rule__QualifiedName__Group_0_1__1 : rule__QualifiedName__Group_0_1__1__Impl ; 27974 // InternalSolverLanguageParser.g:9116:1: rule__QualifiedName__Group_0_1__1 : rule__QualifiedName__Group_0_1__1__Impl ;
23383 public final void rule__QualifiedName__Group_0_1__1() throws RecognitionException { 27975 public final void rule__QualifiedName__Group_0_1__1() throws RecognitionException {
23384 27976
23385 int stackSize = keepStackSize(); 27977 int stackSize = keepStackSize();
23386 27978
23387 try { 27979 try {
23388 // InternalSolverLanguageParser.g:7604:1: ( rule__QualifiedName__Group_0_1__1__Impl ) 27980 // InternalSolverLanguageParser.g:9120:1: ( rule__QualifiedName__Group_0_1__1__Impl )
23389 // InternalSolverLanguageParser.g:7605:2: rule__QualifiedName__Group_0_1__1__Impl 27981 // InternalSolverLanguageParser.g:9121:2: rule__QualifiedName__Group_0_1__1__Impl
23390 { 27982 {
23391 pushFollow(FOLLOW_2); 27983 pushFollow(FOLLOW_2);
23392 rule__QualifiedName__Group_0_1__1__Impl(); 27984 rule__QualifiedName__Group_0_1__1__Impl();
@@ -23412,17 +28004,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23412 28004
23413 28005
23414 // $ANTLR start "rule__QualifiedName__Group_0_1__1__Impl" 28006 // $ANTLR start "rule__QualifiedName__Group_0_1__1__Impl"
23415 // InternalSolverLanguageParser.g:7611:1: rule__QualifiedName__Group_0_1__1__Impl : ( RULE_ID ) ; 28007 // InternalSolverLanguageParser.g:9127:1: rule__QualifiedName__Group_0_1__1__Impl : ( RULE_ID ) ;
23416 public final void rule__QualifiedName__Group_0_1__1__Impl() throws RecognitionException { 28008 public final void rule__QualifiedName__Group_0_1__1__Impl() throws RecognitionException {
23417 28009
23418 int stackSize = keepStackSize(); 28010 int stackSize = keepStackSize();
23419 28011
23420 try { 28012 try {
23421 // InternalSolverLanguageParser.g:7615:1: ( ( RULE_ID ) ) 28013 // InternalSolverLanguageParser.g:9131:1: ( ( RULE_ID ) )
23422 // InternalSolverLanguageParser.g:7616:1: ( RULE_ID ) 28014 // InternalSolverLanguageParser.g:9132:1: ( RULE_ID )
23423 { 28015 {
23424 // InternalSolverLanguageParser.g:7616:1: ( RULE_ID ) 28016 // InternalSolverLanguageParser.g:9132:1: ( RULE_ID )
23425 // InternalSolverLanguageParser.g:7617:2: RULE_ID 28017 // InternalSolverLanguageParser.g:9133:2: RULE_ID
23426 { 28018 {
23427 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); 28019 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
23428 match(input,RULE_ID,FOLLOW_2); 28020 match(input,RULE_ID,FOLLOW_2);
@@ -23449,17 +28041,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23449 28041
23450 28042
23451 // $ANTLR start "rule__Problem__StatementsAssignment" 28043 // $ANTLR start "rule__Problem__StatementsAssignment"
23452 // InternalSolverLanguageParser.g:7627:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ; 28044 // InternalSolverLanguageParser.g:9143:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ;
23453 public final void rule__Problem__StatementsAssignment() throws RecognitionException { 28045 public final void rule__Problem__StatementsAssignment() throws RecognitionException {
23454 28046
23455 int stackSize = keepStackSize(); 28047 int stackSize = keepStackSize();
23456 28048
23457 try { 28049 try {
23458 // InternalSolverLanguageParser.g:7631:1: ( ( ruleStatement ) ) 28050 // InternalSolverLanguageParser.g:9147:1: ( ( ruleStatement ) )
23459 // InternalSolverLanguageParser.g:7632:2: ( ruleStatement ) 28051 // InternalSolverLanguageParser.g:9148:2: ( ruleStatement )
23460 { 28052 {
23461 // InternalSolverLanguageParser.g:7632:2: ( ruleStatement ) 28053 // InternalSolverLanguageParser.g:9148:2: ( ruleStatement )
23462 // InternalSolverLanguageParser.g:7633:3: ruleStatement 28054 // InternalSolverLanguageParser.g:9149:3: ruleStatement
23463 { 28055 {
23464 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 28056 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
23465 pushFollow(FOLLOW_2); 28057 pushFollow(FOLLOW_2);
@@ -23489,26 +28081,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23489 // $ANTLR end "rule__Problem__StatementsAssignment" 28081 // $ANTLR end "rule__Problem__StatementsAssignment"
23490 28082
23491 28083
23492 // $ANTLR start "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1" 28084 // $ANTLR start "rule__AssertionOrDefinition__RangeAssignment_1_0_2"
23493 // InternalSolverLanguageParser.g:7642:1: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 : ( ruleExpression ) ; 28085 // InternalSolverLanguageParser.g:9158:1: rule__AssertionOrDefinition__RangeAssignment_1_0_2 : ( ruleExpression ) ;
23494 public final void rule__AssertionOrDefinition__RangeAssignment_1_0_1_1() throws RecognitionException { 28086 public final void rule__AssertionOrDefinition__RangeAssignment_1_0_2() throws RecognitionException {
23495 28087
23496 int stackSize = keepStackSize(); 28088 int stackSize = keepStackSize();
23497 28089
23498 try { 28090 try {
23499 // InternalSolverLanguageParser.g:7646:1: ( ( ruleExpression ) ) 28091 // InternalSolverLanguageParser.g:9162:1: ( ( ruleExpression ) )
23500 // InternalSolverLanguageParser.g:7647:2: ( ruleExpression ) 28092 // InternalSolverLanguageParser.g:9163:2: ( ruleExpression )
23501 { 28093 {
23502 // InternalSolverLanguageParser.g:7647:2: ( ruleExpression ) 28094 // InternalSolverLanguageParser.g:9163:2: ( ruleExpression )
23503 // InternalSolverLanguageParser.g:7648:3: ruleExpression 28095 // InternalSolverLanguageParser.g:9164:3: ruleExpression
23504 { 28096 {
23505 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); 28097 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
23506 pushFollow(FOLLOW_2); 28098 pushFollow(FOLLOW_2);
23507 ruleExpression(); 28099 ruleExpression();
23508 28100
23509 state._fsp--; 28101 state._fsp--;
23510 28102
23511 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); 28103 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
23512 28104
23513 } 28105 }
23514 28106
@@ -23527,21 +28119,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23527 } 28119 }
23528 return ; 28120 return ;
23529 } 28121 }
23530 // $ANTLR end "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1" 28122 // $ANTLR end "rule__AssertionOrDefinition__RangeAssignment_1_0_2"
23531 28123
23532 28124
23533 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_1_2" 28125 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_1_2"
23534 // InternalSolverLanguageParser.g:7657:1: rule__AssertionOrDefinition__BodyAssignment_1_1_2 : ( ruleExpression ) ; 28126 // InternalSolverLanguageParser.g:9173:1: rule__AssertionOrDefinition__BodyAssignment_1_1_2 : ( ruleExpression ) ;
23535 public final void rule__AssertionOrDefinition__BodyAssignment_1_1_2() throws RecognitionException { 28127 public final void rule__AssertionOrDefinition__BodyAssignment_1_1_2() throws RecognitionException {
23536 28128
23537 int stackSize = keepStackSize(); 28129 int stackSize = keepStackSize();
23538 28130
23539 try { 28131 try {
23540 // InternalSolverLanguageParser.g:7661:1: ( ( ruleExpression ) ) 28132 // InternalSolverLanguageParser.g:9177:1: ( ( ruleExpression ) )
23541 // InternalSolverLanguageParser.g:7662:2: ( ruleExpression ) 28133 // InternalSolverLanguageParser.g:9178:2: ( ruleExpression )
23542 { 28134 {
23543 // InternalSolverLanguageParser.g:7662:2: ( ruleExpression ) 28135 // InternalSolverLanguageParser.g:9178:2: ( ruleExpression )
23544 // InternalSolverLanguageParser.g:7663:3: ruleExpression 28136 // InternalSolverLanguageParser.g:9179:3: ruleExpression
23545 { 28137 {
23546 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); 28138 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
23547 pushFollow(FOLLOW_2); 28139 pushFollow(FOLLOW_2);
@@ -23572,17 +28164,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23572 28164
23573 28165
23574 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_2_2" 28166 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_2_2"
23575 // InternalSolverLanguageParser.g:7672:1: rule__AssertionOrDefinition__BodyAssignment_1_2_2 : ( ruleExpression ) ; 28167 // InternalSolverLanguageParser.g:9188:1: rule__AssertionOrDefinition__BodyAssignment_1_2_2 : ( ruleExpression ) ;
23576 public final void rule__AssertionOrDefinition__BodyAssignment_1_2_2() throws RecognitionException { 28168 public final void rule__AssertionOrDefinition__BodyAssignment_1_2_2() throws RecognitionException {
23577 28169
23578 int stackSize = keepStackSize(); 28170 int stackSize = keepStackSize();
23579 28171
23580 try { 28172 try {
23581 // InternalSolverLanguageParser.g:7676:1: ( ( ruleExpression ) ) 28173 // InternalSolverLanguageParser.g:9192:1: ( ( ruleExpression ) )
23582 // InternalSolverLanguageParser.g:7677:2: ( ruleExpression ) 28174 // InternalSolverLanguageParser.g:9193:2: ( ruleExpression )
23583 { 28175 {
23584 // InternalSolverLanguageParser.g:7677:2: ( ruleExpression ) 28176 // InternalSolverLanguageParser.g:9193:2: ( ruleExpression )
23585 // InternalSolverLanguageParser.g:7678:3: ruleExpression 28177 // InternalSolverLanguageParser.g:9194:3: ruleExpression
23586 { 28178 {
23587 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); 28179 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
23588 pushFollow(FOLLOW_2); 28180 pushFollow(FOLLOW_2);
@@ -23613,21 +28205,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23613 28205
23614 28206
23615 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_0_0" 28207 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_0_0"
23616 // InternalSolverLanguageParser.g:7687:1: rule__PredicateDefinition__FunctionalAssignment_0_0_0 : ( ( Functional ) ) ; 28208 // InternalSolverLanguageParser.g:9203:1: rule__PredicateDefinition__FunctionalAssignment_0_0_0 : ( ( Functional ) ) ;
23617 public final void rule__PredicateDefinition__FunctionalAssignment_0_0_0() throws RecognitionException { 28209 public final void rule__PredicateDefinition__FunctionalAssignment_0_0_0() throws RecognitionException {
23618 28210
23619 int stackSize = keepStackSize(); 28211 int stackSize = keepStackSize();
23620 28212
23621 try { 28213 try {
23622 // InternalSolverLanguageParser.g:7691:1: ( ( ( Functional ) ) ) 28214 // InternalSolverLanguageParser.g:9207:1: ( ( ( Functional ) ) )
23623 // InternalSolverLanguageParser.g:7692:2: ( ( Functional ) ) 28215 // InternalSolverLanguageParser.g:9208:2: ( ( Functional ) )
23624 { 28216 {
23625 // InternalSolverLanguageParser.g:7692:2: ( ( Functional ) ) 28217 // InternalSolverLanguageParser.g:9208:2: ( ( Functional ) )
23626 // InternalSolverLanguageParser.g:7693:3: ( Functional ) 28218 // InternalSolverLanguageParser.g:9209:3: ( Functional )
23627 { 28219 {
23628 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); 28220 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
23629 // InternalSolverLanguageParser.g:7694:3: ( Functional ) 28221 // InternalSolverLanguageParser.g:9210:3: ( Functional )
23630 // InternalSolverLanguageParser.g:7695:4: Functional 28222 // InternalSolverLanguageParser.g:9211:4: Functional
23631 { 28223 {
23632 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); 28224 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
23633 match(input,Functional,FOLLOW_2); 28225 match(input,Functional,FOLLOW_2);
@@ -23658,21 +28250,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23658 28250
23659 28251
23660 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_1" 28252 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_1"
23661 // InternalSolverLanguageParser.g:7706:1: rule__PredicateDefinition__ErrorAssignment_0_0_1 : ( ( Error ) ) ; 28253 // InternalSolverLanguageParser.g:9222:1: rule__PredicateDefinition__ErrorAssignment_0_0_1 : ( ( Error ) ) ;
23662 public final void rule__PredicateDefinition__ErrorAssignment_0_0_1() throws RecognitionException { 28254 public final void rule__PredicateDefinition__ErrorAssignment_0_0_1() throws RecognitionException {
23663 28255
23664 int stackSize = keepStackSize(); 28256 int stackSize = keepStackSize();
23665 28257
23666 try { 28258 try {
23667 // InternalSolverLanguageParser.g:7710:1: ( ( ( Error ) ) ) 28259 // InternalSolverLanguageParser.g:9226:1: ( ( ( Error ) ) )
23668 // InternalSolverLanguageParser.g:7711:2: ( ( Error ) ) 28260 // InternalSolverLanguageParser.g:9227:2: ( ( Error ) )
23669 { 28261 {
23670 // InternalSolverLanguageParser.g:7711:2: ( ( Error ) ) 28262 // InternalSolverLanguageParser.g:9227:2: ( ( Error ) )
23671 // InternalSolverLanguageParser.g:7712:3: ( Error ) 28263 // InternalSolverLanguageParser.g:9228:3: ( Error )
23672 { 28264 {
23673 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); 28265 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
23674 // InternalSolverLanguageParser.g:7713:3: ( Error ) 28266 // InternalSolverLanguageParser.g:9229:3: ( Error )
23675 // InternalSolverLanguageParser.g:7714:4: Error 28267 // InternalSolverLanguageParser.g:9230:4: Error
23676 { 28268 {
23677 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); 28269 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
23678 match(input,Error,FOLLOW_2); 28270 match(input,Error,FOLLOW_2);
@@ -23703,21 +28295,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23703 28295
23704 28296
23705 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_1_0" 28297 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_1_0"
23706 // InternalSolverLanguageParser.g:7725:1: rule__PredicateDefinition__ErrorAssignment_0_1_0 : ( ( Error ) ) ; 28298 // InternalSolverLanguageParser.g:9241:1: rule__PredicateDefinition__ErrorAssignment_0_1_0 : ( ( Error ) ) ;
23707 public final void rule__PredicateDefinition__ErrorAssignment_0_1_0() throws RecognitionException { 28299 public final void rule__PredicateDefinition__ErrorAssignment_0_1_0() throws RecognitionException {
23708 28300
23709 int stackSize = keepStackSize(); 28301 int stackSize = keepStackSize();
23710 28302
23711 try { 28303 try {
23712 // InternalSolverLanguageParser.g:7729:1: ( ( ( Error ) ) ) 28304 // InternalSolverLanguageParser.g:9245:1: ( ( ( Error ) ) )
23713 // InternalSolverLanguageParser.g:7730:2: ( ( Error ) ) 28305 // InternalSolverLanguageParser.g:9246:2: ( ( Error ) )
23714 { 28306 {
23715 // InternalSolverLanguageParser.g:7730:2: ( ( Error ) ) 28307 // InternalSolverLanguageParser.g:9246:2: ( ( Error ) )
23716 // InternalSolverLanguageParser.g:7731:3: ( Error ) 28308 // InternalSolverLanguageParser.g:9247:3: ( Error )
23717 { 28309 {
23718 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); 28310 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
23719 // InternalSolverLanguageParser.g:7732:3: ( Error ) 28311 // InternalSolverLanguageParser.g:9248:3: ( Error )
23720 // InternalSolverLanguageParser.g:7733:4: Error 28312 // InternalSolverLanguageParser.g:9249:4: Error
23721 { 28313 {
23722 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); 28314 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
23723 match(input,Error,FOLLOW_2); 28315 match(input,Error,FOLLOW_2);
@@ -23748,21 +28340,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23748 28340
23749 28341
23750 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_1_1" 28342 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_1_1"
23751 // InternalSolverLanguageParser.g:7744:1: rule__PredicateDefinition__FunctionalAssignment_0_1_1 : ( ( Functional ) ) ; 28343 // InternalSolverLanguageParser.g:9260:1: rule__PredicateDefinition__FunctionalAssignment_0_1_1 : ( ( Functional ) ) ;
23752 public final void rule__PredicateDefinition__FunctionalAssignment_0_1_1() throws RecognitionException { 28344 public final void rule__PredicateDefinition__FunctionalAssignment_0_1_1() throws RecognitionException {
23753 28345
23754 int stackSize = keepStackSize(); 28346 int stackSize = keepStackSize();
23755 28347
23756 try { 28348 try {
23757 // InternalSolverLanguageParser.g:7748:1: ( ( ( Functional ) ) ) 28349 // InternalSolverLanguageParser.g:9264:1: ( ( ( Functional ) ) )
23758 // InternalSolverLanguageParser.g:7749:2: ( ( Functional ) ) 28350 // InternalSolverLanguageParser.g:9265:2: ( ( Functional ) )
23759 { 28351 {
23760 // InternalSolverLanguageParser.g:7749:2: ( ( Functional ) ) 28352 // InternalSolverLanguageParser.g:9265:2: ( ( Functional ) )
23761 // InternalSolverLanguageParser.g:7750:3: ( Functional ) 28353 // InternalSolverLanguageParser.g:9266:3: ( Functional )
23762 { 28354 {
23763 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); 28355 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
23764 // InternalSolverLanguageParser.g:7751:3: ( Functional ) 28356 // InternalSolverLanguageParser.g:9267:3: ( Functional )
23765 // InternalSolverLanguageParser.g:7752:4: Functional 28357 // InternalSolverLanguageParser.g:9268:4: Functional
23766 { 28358 {
23767 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); 28359 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
23768 match(input,Functional,FOLLOW_2); 28360 match(input,Functional,FOLLOW_2);
@@ -23793,17 +28385,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23793 28385
23794 28386
23795 // $ANTLR start "rule__PredicateDefinition__HeadAssignment_1" 28387 // $ANTLR start "rule__PredicateDefinition__HeadAssignment_1"
23796 // InternalSolverLanguageParser.g:7763:1: rule__PredicateDefinition__HeadAssignment_1 : ( ruleCall ) ; 28388 // InternalSolverLanguageParser.g:9279:1: rule__PredicateDefinition__HeadAssignment_1 : ( ruleCall ) ;
23797 public final void rule__PredicateDefinition__HeadAssignment_1() throws RecognitionException { 28389 public final void rule__PredicateDefinition__HeadAssignment_1() throws RecognitionException {
23798 28390
23799 int stackSize = keepStackSize(); 28391 int stackSize = keepStackSize();
23800 28392
23801 try { 28393 try {
23802 // InternalSolverLanguageParser.g:7767:1: ( ( ruleCall ) ) 28394 // InternalSolverLanguageParser.g:9283:1: ( ( ruleCall ) )
23803 // InternalSolverLanguageParser.g:7768:2: ( ruleCall ) 28395 // InternalSolverLanguageParser.g:9284:2: ( ruleCall )
23804 { 28396 {
23805 // InternalSolverLanguageParser.g:7768:2: ( ruleCall ) 28397 // InternalSolverLanguageParser.g:9284:2: ( ruleCall )
23806 // InternalSolverLanguageParser.g:7769:3: ruleCall 28398 // InternalSolverLanguageParser.g:9285:3: ruleCall
23807 { 28399 {
23808 before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 28400 before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
23809 pushFollow(FOLLOW_2); 28401 pushFollow(FOLLOW_2);
@@ -23834,17 +28426,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23834 28426
23835 28427
23836 // $ANTLR start "rule__PredicateDefinition__BodyAssignment_3" 28428 // $ANTLR start "rule__PredicateDefinition__BodyAssignment_3"
23837 // InternalSolverLanguageParser.g:7778:1: rule__PredicateDefinition__BodyAssignment_3 : ( ruleExpression ) ; 28429 // InternalSolverLanguageParser.g:9294:1: rule__PredicateDefinition__BodyAssignment_3 : ( ruleExpression ) ;
23838 public final void rule__PredicateDefinition__BodyAssignment_3() throws RecognitionException { 28430 public final void rule__PredicateDefinition__BodyAssignment_3() throws RecognitionException {
23839 28431
23840 int stackSize = keepStackSize(); 28432 int stackSize = keepStackSize();
23841 28433
23842 try { 28434 try {
23843 // InternalSolverLanguageParser.g:7782:1: ( ( ruleExpression ) ) 28435 // InternalSolverLanguageParser.g:9298:1: ( ( ruleExpression ) )
23844 // InternalSolverLanguageParser.g:7783:2: ( ruleExpression ) 28436 // InternalSolverLanguageParser.g:9299:2: ( ruleExpression )
23845 { 28437 {
23846 // InternalSolverLanguageParser.g:7783:2: ( ruleExpression ) 28438 // InternalSolverLanguageParser.g:9299:2: ( ruleExpression )
23847 // InternalSolverLanguageParser.g:7784:3: ruleExpression 28439 // InternalSolverLanguageParser.g:9300:3: ruleExpression
23848 { 28440 {
23849 before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 28441 before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
23850 pushFollow(FOLLOW_2); 28442 pushFollow(FOLLOW_2);
@@ -23875,17 +28467,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23875 28467
23876 28468
23877 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1" 28469 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1"
23878 // InternalSolverLanguageParser.g:7793:1: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 : ( ruleArgumentList ) ; 28470 // InternalSolverLanguageParser.g:9309:1: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 : ( ruleArgumentList ) ;
23879 public final void rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1() throws RecognitionException { 28471 public final void rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1() throws RecognitionException {
23880 28472
23881 int stackSize = keepStackSize(); 28473 int stackSize = keepStackSize();
23882 28474
23883 try { 28475 try {
23884 // InternalSolverLanguageParser.g:7797:1: ( ( ruleArgumentList ) ) 28476 // InternalSolverLanguageParser.g:9313:1: ( ( ruleArgumentList ) )
23885 // InternalSolverLanguageParser.g:7798:2: ( ruleArgumentList ) 28477 // InternalSolverLanguageParser.g:9314:2: ( ruleArgumentList )
23886 { 28478 {
23887 // InternalSolverLanguageParser.g:7798:2: ( ruleArgumentList ) 28479 // InternalSolverLanguageParser.g:9314:2: ( ruleArgumentList )
23888 // InternalSolverLanguageParser.g:7799:3: ruleArgumentList 28480 // InternalSolverLanguageParser.g:9315:3: ruleArgumentList
23889 { 28481 {
23890 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 28482 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
23891 pushFollow(FOLLOW_2); 28483 pushFollow(FOLLOW_2);
@@ -23916,17 +28508,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23916 28508
23917 28509
23918 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3" 28510 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3"
23919 // InternalSolverLanguageParser.g:7808:1: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 : ( ruleExpression ) ; 28511 // InternalSolverLanguageParser.g:9324:1: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 : ( ruleExpression ) ;
23920 public final void rule__UnnamedErrorPrediateDefinition__BodyAssignment_3() throws RecognitionException { 28512 public final void rule__UnnamedErrorPrediateDefinition__BodyAssignment_3() throws RecognitionException {
23921 28513
23922 int stackSize = keepStackSize(); 28514 int stackSize = keepStackSize();
23923 28515
23924 try { 28516 try {
23925 // InternalSolverLanguageParser.g:7812:1: ( ( ruleExpression ) ) 28517 // InternalSolverLanguageParser.g:9328:1: ( ( ruleExpression ) )
23926 // InternalSolverLanguageParser.g:7813:2: ( ruleExpression ) 28518 // InternalSolverLanguageParser.g:9329:2: ( ruleExpression )
23927 { 28519 {
23928 // InternalSolverLanguageParser.g:7813:2: ( ruleExpression ) 28520 // InternalSolverLanguageParser.g:9329:2: ( ruleExpression )
23929 // InternalSolverLanguageParser.g:7814:3: ruleExpression 28521 // InternalSolverLanguageParser.g:9330:3: ruleExpression
23930 { 28522 {
23931 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 28523 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
23932 pushFollow(FOLLOW_2); 28524 pushFollow(FOLLOW_2);
@@ -23957,17 +28549,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23957 28549
23958 28550
23959 // $ANTLR start "rule__DefaultDefinition__HeadAssignment_1" 28551 // $ANTLR start "rule__DefaultDefinition__HeadAssignment_1"
23960 // InternalSolverLanguageParser.g:7823:1: rule__DefaultDefinition__HeadAssignment_1 : ( ruleCall ) ; 28552 // InternalSolverLanguageParser.g:9339:1: rule__DefaultDefinition__HeadAssignment_1 : ( ruleCall ) ;
23961 public final void rule__DefaultDefinition__HeadAssignment_1() throws RecognitionException { 28553 public final void rule__DefaultDefinition__HeadAssignment_1() throws RecognitionException {
23962 28554
23963 int stackSize = keepStackSize(); 28555 int stackSize = keepStackSize();
23964 28556
23965 try { 28557 try {
23966 // InternalSolverLanguageParser.g:7827:1: ( ( ruleCall ) ) 28558 // InternalSolverLanguageParser.g:9343:1: ( ( ruleCall ) )
23967 // InternalSolverLanguageParser.g:7828:2: ( ruleCall ) 28559 // InternalSolverLanguageParser.g:9344:2: ( ruleCall )
23968 { 28560 {
23969 // InternalSolverLanguageParser.g:7828:2: ( ruleCall ) 28561 // InternalSolverLanguageParser.g:9344:2: ( ruleCall )
23970 // InternalSolverLanguageParser.g:7829:3: ruleCall 28562 // InternalSolverLanguageParser.g:9345:3: ruleCall
23971 { 28563 {
23972 before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 28564 before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
23973 pushFollow(FOLLOW_2); 28565 pushFollow(FOLLOW_2);
@@ -23998,17 +28590,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
23998 28590
23999 28591
24000 // $ANTLR start "rule__DefaultDefinition__RangeAssignment_3" 28592 // $ANTLR start "rule__DefaultDefinition__RangeAssignment_3"
24001 // InternalSolverLanguageParser.g:7838:1: rule__DefaultDefinition__RangeAssignment_3 : ( ruleExpression ) ; 28593 // InternalSolverLanguageParser.g:9354:1: rule__DefaultDefinition__RangeAssignment_3 : ( ruleExpression ) ;
24002 public final void rule__DefaultDefinition__RangeAssignment_3() throws RecognitionException { 28594 public final void rule__DefaultDefinition__RangeAssignment_3() throws RecognitionException {
24003 28595
24004 int stackSize = keepStackSize(); 28596 int stackSize = keepStackSize();
24005 28597
24006 try { 28598 try {
24007 // InternalSolverLanguageParser.g:7842:1: ( ( ruleExpression ) ) 28599 // InternalSolverLanguageParser.g:9358:1: ( ( ruleExpression ) )
24008 // InternalSolverLanguageParser.g:7843:2: ( ruleExpression ) 28600 // InternalSolverLanguageParser.g:9359:2: ( ruleExpression )
24009 { 28601 {
24010 // InternalSolverLanguageParser.g:7843:2: ( ruleExpression ) 28602 // InternalSolverLanguageParser.g:9359:2: ( ruleExpression )
24011 // InternalSolverLanguageParser.g:7844:3: ruleExpression 28603 // InternalSolverLanguageParser.g:9360:3: ruleExpression
24012 { 28604 {
24013 before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 28605 before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
24014 pushFollow(FOLLOW_2); 28606 pushFollow(FOLLOW_2);
@@ -24038,26 +28630,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24038 // $ANTLR end "rule__DefaultDefinition__RangeAssignment_3" 28630 // $ANTLR end "rule__DefaultDefinition__RangeAssignment_3"
24039 28631
24040 28632
24041 // $ANTLR start "rule__ExternPredicateDefinition__HeadAssignment_1" 28633 // $ANTLR start "rule__MetricDefinition__TypeAssignment_0"
24042 // InternalSolverLanguageParser.g:7853:1: rule__ExternPredicateDefinition__HeadAssignment_1 : ( ruleCall ) ; 28634 // InternalSolverLanguageParser.g:9369:1: rule__MetricDefinition__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
24043 public final void rule__ExternPredicateDefinition__HeadAssignment_1() throws RecognitionException { 28635 public final void rule__MetricDefinition__TypeAssignment_0() throws RecognitionException {
24044 28636
24045 int stackSize = keepStackSize(); 28637 int stackSize = keepStackSize();
24046 28638
24047 try { 28639 try {
24048 // InternalSolverLanguageParser.g:7857:1: ( ( ruleCall ) ) 28640 // InternalSolverLanguageParser.g:9373:1: ( ( ( ruleQualifiedName ) ) )
24049 // InternalSolverLanguageParser.g:7858:2: ( ruleCall ) 28641 // InternalSolverLanguageParser.g:9374:2: ( ( ruleQualifiedName ) )
24050 { 28642 {
24051 // InternalSolverLanguageParser.g:7858:2: ( ruleCall ) 28643 // InternalSolverLanguageParser.g:9374:2: ( ( ruleQualifiedName ) )
24052 // InternalSolverLanguageParser.g:7859:3: ruleCall 28644 // InternalSolverLanguageParser.g:9375:3: ( ruleQualifiedName )
24053 { 28645 {
24054 before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 28646 before(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
28647 // InternalSolverLanguageParser.g:9376:3: ( ruleQualifiedName )
28648 // InternalSolverLanguageParser.g:9377:4: ruleQualifiedName
28649 {
28650 before(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
24055 pushFollow(FOLLOW_2); 28651 pushFollow(FOLLOW_2);
24056 ruleCall(); 28652 ruleQualifiedName();
24057 28653
24058 state._fsp--; 28654 state._fsp--;
24059 28655
24060 after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 28656 after(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
28657
28658 }
28659
28660 after(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
24061 28661
24062 } 28662 }
24063 28663
@@ -24076,29 +28676,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24076 } 28676 }
24077 return ; 28677 return ;
24078 } 28678 }
24079 // $ANTLR end "rule__ExternPredicateDefinition__HeadAssignment_1" 28679 // $ANTLR end "rule__MetricDefinition__TypeAssignment_0"
24080 28680
24081 28681
24082 // $ANTLR start "rule__MetricDefinition__TypeAssignment_0" 28682 // $ANTLR start "rule__MetricDefinition__HeadAssignment_1"
24083 // InternalSolverLanguageParser.g:7868:1: rule__MetricDefinition__TypeAssignment_0 : ( ruleMetricType ) ; 28683 // InternalSolverLanguageParser.g:9388:1: rule__MetricDefinition__HeadAssignment_1 : ( ruleCall ) ;
24084 public final void rule__MetricDefinition__TypeAssignment_0() throws RecognitionException { 28684 public final void rule__MetricDefinition__HeadAssignment_1() throws RecognitionException {
24085 28685
24086 int stackSize = keepStackSize(); 28686 int stackSize = keepStackSize();
24087 28687
24088 try { 28688 try {
24089 // InternalSolverLanguageParser.g:7872:1: ( ( ruleMetricType ) ) 28689 // InternalSolverLanguageParser.g:9392:1: ( ( ruleCall ) )
24090 // InternalSolverLanguageParser.g:7873:2: ( ruleMetricType ) 28690 // InternalSolverLanguageParser.g:9393:2: ( ruleCall )
24091 { 28691 {
24092 // InternalSolverLanguageParser.g:7873:2: ( ruleMetricType ) 28692 // InternalSolverLanguageParser.g:9393:2: ( ruleCall )
24093 // InternalSolverLanguageParser.g:7874:3: ruleMetricType 28693 // InternalSolverLanguageParser.g:9394:3: ruleCall
24094 { 28694 {
24095 before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 28695 before(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
24096 pushFollow(FOLLOW_2); 28696 pushFollow(FOLLOW_2);
24097 ruleMetricType(); 28697 ruleCall();
24098 28698
24099 state._fsp--; 28699 state._fsp--;
24100 28700
24101 after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 28701 after(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
24102 28702
24103 } 28703 }
24104 28704
@@ -24117,29 +28717,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24117 } 28717 }
24118 return ; 28718 return ;
24119 } 28719 }
24120 // $ANTLR end "rule__MetricDefinition__TypeAssignment_0" 28720 // $ANTLR end "rule__MetricDefinition__HeadAssignment_1"
24121 28721
24122 28722
24123 // $ANTLR start "rule__MetricDefinition__HeadAssignment_1" 28723 // $ANTLR start "rule__MetricDefinition__BodyAssignment_3"
24124 // InternalSolverLanguageParser.g:7883:1: rule__MetricDefinition__HeadAssignment_1 : ( ruleExpression ) ; 28724 // InternalSolverLanguageParser.g:9403:1: rule__MetricDefinition__BodyAssignment_3 : ( ruleExpression ) ;
24125 public final void rule__MetricDefinition__HeadAssignment_1() throws RecognitionException { 28725 public final void rule__MetricDefinition__BodyAssignment_3() throws RecognitionException {
24126 28726
24127 int stackSize = keepStackSize(); 28727 int stackSize = keepStackSize();
24128 28728
24129 try { 28729 try {
24130 // InternalSolverLanguageParser.g:7887:1: ( ( ruleExpression ) ) 28730 // InternalSolverLanguageParser.g:9407:1: ( ( ruleExpression ) )
24131 // InternalSolverLanguageParser.g:7888:2: ( ruleExpression ) 28731 // InternalSolverLanguageParser.g:9408:2: ( ruleExpression )
24132 { 28732 {
24133 // InternalSolverLanguageParser.g:7888:2: ( ruleExpression ) 28733 // InternalSolverLanguageParser.g:9408:2: ( ruleExpression )
24134 // InternalSolverLanguageParser.g:7889:3: ruleExpression 28734 // InternalSolverLanguageParser.g:9409:3: ruleExpression
24135 { 28735 {
24136 before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 28736 before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
24137 pushFollow(FOLLOW_2); 28737 pushFollow(FOLLOW_2);
24138 ruleExpression(); 28738 ruleExpression();
24139 28739
24140 state._fsp--; 28740 state._fsp--;
24141 28741
24142 after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 28742 after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
24143 28743
24144 } 28744 }
24145 28745
@@ -24158,29 +28758,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24158 } 28758 }
24159 return ; 28759 return ;
24160 } 28760 }
24161 // $ANTLR end "rule__MetricDefinition__HeadAssignment_1" 28761 // $ANTLR end "rule__MetricDefinition__BodyAssignment_3"
24162 28762
24163 28763
24164 // $ANTLR start "rule__MetricDefinition__BodyAssignment_3" 28764 // $ANTLR start "rule__ExternPredicateDefinition__NameAssignment_1"
24165 // InternalSolverLanguageParser.g:7898:1: rule__MetricDefinition__BodyAssignment_3 : ( ruleExpression ) ; 28765 // InternalSolverLanguageParser.g:9418:1: rule__ExternPredicateDefinition__NameAssignment_1 : ( ruleQualifiedName ) ;
24166 public final void rule__MetricDefinition__BodyAssignment_3() throws RecognitionException { 28766 public final void rule__ExternPredicateDefinition__NameAssignment_1() throws RecognitionException {
24167 28767
24168 int stackSize = keepStackSize(); 28768 int stackSize = keepStackSize();
24169 28769
24170 try { 28770 try {
24171 // InternalSolverLanguageParser.g:7902:1: ( ( ruleExpression ) ) 28771 // InternalSolverLanguageParser.g:9422:1: ( ( ruleQualifiedName ) )
24172 // InternalSolverLanguageParser.g:7903:2: ( ruleExpression ) 28772 // InternalSolverLanguageParser.g:9423:2: ( ruleQualifiedName )
24173 { 28773 {
24174 // InternalSolverLanguageParser.g:7903:2: ( ruleExpression ) 28774 // InternalSolverLanguageParser.g:9423:2: ( ruleQualifiedName )
24175 // InternalSolverLanguageParser.g:7904:3: ruleExpression 28775 // InternalSolverLanguageParser.g:9424:3: ruleQualifiedName
24176 { 28776 {
24177 before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 28777 before(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
24178 pushFollow(FOLLOW_2); 28778 pushFollow(FOLLOW_2);
24179 ruleExpression(); 28779 ruleQualifiedName();
24180 28780
24181 state._fsp--; 28781 state._fsp--;
24182 28782
24183 after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 28783 after(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
24184 28784
24185 } 28785 }
24186 28786
@@ -24199,29 +28799,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24199 } 28799 }
24200 return ; 28800 return ;
24201 } 28801 }
24202 // $ANTLR end "rule__MetricDefinition__BodyAssignment_3" 28802 // $ANTLR end "rule__ExternPredicateDefinition__NameAssignment_1"
28803
28804
28805 // $ANTLR start "rule__ExternPredicateDefinition__ArgumentListAssignment_2"
28806 // InternalSolverLanguageParser.g:9433:1: rule__ExternPredicateDefinition__ArgumentListAssignment_2 : ( ruleArgumentList ) ;
28807 public final void rule__ExternPredicateDefinition__ArgumentListAssignment_2() throws RecognitionException {
28808
28809 int stackSize = keepStackSize();
28810
28811 try {
28812 // InternalSolverLanguageParser.g:9437:1: ( ( ruleArgumentList ) )
28813 // InternalSolverLanguageParser.g:9438:2: ( ruleArgumentList )
28814 {
28815 // InternalSolverLanguageParser.g:9438:2: ( ruleArgumentList )
28816 // InternalSolverLanguageParser.g:9439:3: ruleArgumentList
28817 {
28818 before(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
28819 pushFollow(FOLLOW_2);
28820 ruleArgumentList();
28821
28822 state._fsp--;
28823
28824 after(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
28825
28826 }
28827
28828
28829 }
28830
28831 }
28832 catch (RecognitionException re) {
28833 reportError(re);
28834 recover(input,re);
28835 }
28836 finally {
28837
28838 restoreStackSize(stackSize);
28839
28840 }
28841 return ;
28842 }
28843 // $ANTLR end "rule__ExternPredicateDefinition__ArgumentListAssignment_2"
24203 28844
24204 28845
24205 // $ANTLR start "rule__ExternMetricDefinition__TypeAssignment_1" 28846 // $ANTLR start "rule__ExternMetricDefinition__TypeAssignment_1"
24206 // InternalSolverLanguageParser.g:7913:1: rule__ExternMetricDefinition__TypeAssignment_1 : ( ruleMetricType ) ; 28847 // InternalSolverLanguageParser.g:9448:1: rule__ExternMetricDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
24207 public final void rule__ExternMetricDefinition__TypeAssignment_1() throws RecognitionException { 28848 public final void rule__ExternMetricDefinition__TypeAssignment_1() throws RecognitionException {
24208 28849
24209 int stackSize = keepStackSize(); 28850 int stackSize = keepStackSize();
24210 28851
24211 try { 28852 try {
24212 // InternalSolverLanguageParser.g:7917:1: ( ( ruleMetricType ) ) 28853 // InternalSolverLanguageParser.g:9452:1: ( ( ( ruleQualifiedName ) ) )
24213 // InternalSolverLanguageParser.g:7918:2: ( ruleMetricType ) 28854 // InternalSolverLanguageParser.g:9453:2: ( ( ruleQualifiedName ) )
24214 { 28855 {
24215 // InternalSolverLanguageParser.g:7918:2: ( ruleMetricType ) 28856 // InternalSolverLanguageParser.g:9453:2: ( ( ruleQualifiedName ) )
24216 // InternalSolverLanguageParser.g:7919:3: ruleMetricType 28857 // InternalSolverLanguageParser.g:9454:3: ( ruleQualifiedName )
24217 { 28858 {
24218 before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 28859 before(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
28860 // InternalSolverLanguageParser.g:9455:3: ( ruleQualifiedName )
28861 // InternalSolverLanguageParser.g:9456:4: ruleQualifiedName
28862 {
28863 before(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
24219 pushFollow(FOLLOW_2); 28864 pushFollow(FOLLOW_2);
24220 ruleMetricType(); 28865 ruleQualifiedName();
24221 28866
24222 state._fsp--; 28867 state._fsp--;
24223 28868
24224 after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 28869 after(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
28870
28871 }
28872
28873 after(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
24225 28874
24226 } 28875 }
24227 28876
@@ -24243,26 +28892,26 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24243 // $ANTLR end "rule__ExternMetricDefinition__TypeAssignment_1" 28892 // $ANTLR end "rule__ExternMetricDefinition__TypeAssignment_1"
24244 28893
24245 28894
24246 // $ANTLR start "rule__ExternMetricDefinition__HeadAssignment_2" 28895 // $ANTLR start "rule__ExternMetricDefinition__NameAssignment_2"
24247 // InternalSolverLanguageParser.g:7928:1: rule__ExternMetricDefinition__HeadAssignment_2 : ( ruleCall ) ; 28896 // InternalSolverLanguageParser.g:9467:1: rule__ExternMetricDefinition__NameAssignment_2 : ( ruleQualifiedName ) ;
24248 public final void rule__ExternMetricDefinition__HeadAssignment_2() throws RecognitionException { 28897 public final void rule__ExternMetricDefinition__NameAssignment_2() throws RecognitionException {
24249 28898
24250 int stackSize = keepStackSize(); 28899 int stackSize = keepStackSize();
24251 28900
24252 try { 28901 try {
24253 // InternalSolverLanguageParser.g:7932:1: ( ( ruleCall ) ) 28902 // InternalSolverLanguageParser.g:9471:1: ( ( ruleQualifiedName ) )
24254 // InternalSolverLanguageParser.g:7933:2: ( ruleCall ) 28903 // InternalSolverLanguageParser.g:9472:2: ( ruleQualifiedName )
24255 { 28904 {
24256 // InternalSolverLanguageParser.g:7933:2: ( ruleCall ) 28905 // InternalSolverLanguageParser.g:9472:2: ( ruleQualifiedName )
24257 // InternalSolverLanguageParser.g:7934:3: ruleCall 28906 // InternalSolverLanguageParser.g:9473:3: ruleQualifiedName
24258 { 28907 {
24259 before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 28908 before(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
24260 pushFollow(FOLLOW_2); 28909 pushFollow(FOLLOW_2);
24261 ruleCall(); 28910 ruleQualifiedName();
24262 28911
24263 state._fsp--; 28912 state._fsp--;
24264 28913
24265 after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 28914 after(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
24266 28915
24267 } 28916 }
24268 28917
@@ -24281,21 +28930,426 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24281 } 28930 }
24282 return ; 28931 return ;
24283 } 28932 }
24284 // $ANTLR end "rule__ExternMetricDefinition__HeadAssignment_2" 28933 // $ANTLR end "rule__ExternMetricDefinition__NameAssignment_2"
28934
28935
28936 // $ANTLR start "rule__ExternMetricDefinition__ArgumentListAssignment_3"
28937 // InternalSolverLanguageParser.g:9482:1: rule__ExternMetricDefinition__ArgumentListAssignment_3 : ( ruleArgumentList ) ;
28938 public final void rule__ExternMetricDefinition__ArgumentListAssignment_3() throws RecognitionException {
28939
28940 int stackSize = keepStackSize();
28941
28942 try {
28943 // InternalSolverLanguageParser.g:9486:1: ( ( ruleArgumentList ) )
28944 // InternalSolverLanguageParser.g:9487:2: ( ruleArgumentList )
28945 {
28946 // InternalSolverLanguageParser.g:9487:2: ( ruleArgumentList )
28947 // InternalSolverLanguageParser.g:9488:3: ruleArgumentList
28948 {
28949 before(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
28950 pushFollow(FOLLOW_2);
28951 ruleArgumentList();
28952
28953 state._fsp--;
28954
28955 after(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
28956
28957 }
28958
28959
28960 }
28961
28962 }
28963 catch (RecognitionException re) {
28964 reportError(re);
28965 recover(input,re);
28966 }
28967 finally {
28968
28969 restoreStackSize(stackSize);
28970
28971 }
28972 return ;
28973 }
28974 // $ANTLR end "rule__ExternMetricDefinition__ArgumentListAssignment_3"
28975
28976
28977 // $ANTLR start "rule__ExternAggregatorDefinition__TypeAssignment_1"
28978 // InternalSolverLanguageParser.g:9497:1: rule__ExternAggregatorDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
28979 public final void rule__ExternAggregatorDefinition__TypeAssignment_1() throws RecognitionException {
28980
28981 int stackSize = keepStackSize();
28982
28983 try {
28984 // InternalSolverLanguageParser.g:9501:1: ( ( ( ruleQualifiedName ) ) )
28985 // InternalSolverLanguageParser.g:9502:2: ( ( ruleQualifiedName ) )
28986 {
28987 // InternalSolverLanguageParser.g:9502:2: ( ( ruleQualifiedName ) )
28988 // InternalSolverLanguageParser.g:9503:3: ( ruleQualifiedName )
28989 {
28990 before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
28991 // InternalSolverLanguageParser.g:9504:3: ( ruleQualifiedName )
28992 // InternalSolverLanguageParser.g:9505:4: ruleQualifiedName
28993 {
28994 before(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
28995 pushFollow(FOLLOW_2);
28996 ruleQualifiedName();
28997
28998 state._fsp--;
28999
29000 after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
29001
29002 }
29003
29004 after(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
29005
29006 }
29007
29008
29009 }
29010
29011 }
29012 catch (RecognitionException re) {
29013 reportError(re);
29014 recover(input,re);
29015 }
29016 finally {
29017
29018 restoreStackSize(stackSize);
29019
29020 }
29021 return ;
29022 }
29023 // $ANTLR end "rule__ExternAggregatorDefinition__TypeAssignment_1"
29024
29025
29026 // $ANTLR start "rule__ExternAggregatorDefinition__NameAssignment_2"
29027 // InternalSolverLanguageParser.g:9516:1: rule__ExternAggregatorDefinition__NameAssignment_2 : ( ruleQualifiedName ) ;
29028 public final void rule__ExternAggregatorDefinition__NameAssignment_2() throws RecognitionException {
29029
29030 int stackSize = keepStackSize();
29031
29032 try {
29033 // InternalSolverLanguageParser.g:9520:1: ( ( ruleQualifiedName ) )
29034 // InternalSolverLanguageParser.g:9521:2: ( ruleQualifiedName )
29035 {
29036 // InternalSolverLanguageParser.g:9521:2: ( ruleQualifiedName )
29037 // InternalSolverLanguageParser.g:9522:3: ruleQualifiedName
29038 {
29039 before(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
29040 pushFollow(FOLLOW_2);
29041 ruleQualifiedName();
29042
29043 state._fsp--;
29044
29045 after(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
29046
29047 }
29048
29049
29050 }
29051
29052 }
29053 catch (RecognitionException re) {
29054 reportError(re);
29055 recover(input,re);
29056 }
29057 finally {
29058
29059 restoreStackSize(stackSize);
29060
29061 }
29062 return ;
29063 }
29064 // $ANTLR end "rule__ExternAggregatorDefinition__NameAssignment_2"
29065
29066
29067 // $ANTLR start "rule__ExternAggregatorDefinition__InputTypeAssignment_4"
29068 // InternalSolverLanguageParser.g:9531:1: rule__ExternAggregatorDefinition__InputTypeAssignment_4 : ( ( ruleQualifiedName ) ) ;
29069 public final void rule__ExternAggregatorDefinition__InputTypeAssignment_4() throws RecognitionException {
29070
29071 int stackSize = keepStackSize();
29072
29073 try {
29074 // InternalSolverLanguageParser.g:9535:1: ( ( ( ruleQualifiedName ) ) )
29075 // InternalSolverLanguageParser.g:9536:2: ( ( ruleQualifiedName ) )
29076 {
29077 // InternalSolverLanguageParser.g:9536:2: ( ( ruleQualifiedName ) )
29078 // InternalSolverLanguageParser.g:9537:3: ( ruleQualifiedName )
29079 {
29080 before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
29081 // InternalSolverLanguageParser.g:9538:3: ( ruleQualifiedName )
29082 // InternalSolverLanguageParser.g:9539:4: ruleQualifiedName
29083 {
29084 before(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1());
29085 pushFollow(FOLLOW_2);
29086 ruleQualifiedName();
29087
29088 state._fsp--;
29089
29090 after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1());
29091
29092 }
29093
29094 after(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
29095
29096 }
29097
29098
29099 }
29100
29101 }
29102 catch (RecognitionException re) {
29103 reportError(re);
29104 recover(input,re);
29105 }
29106 finally {
29107
29108 restoreStackSize(stackSize);
29109
29110 }
29111 return ;
29112 }
29113 // $ANTLR end "rule__ExternAggregatorDefinition__InputTypeAssignment_4"
29114
29115
29116 // $ANTLR start "rule__ExternDatatypeDefinition__NameAssignment_2"
29117 // InternalSolverLanguageParser.g:9550:1: rule__ExternDatatypeDefinition__NameAssignment_2 : ( ruleQualifiedName ) ;
29118 public final void rule__ExternDatatypeDefinition__NameAssignment_2() throws RecognitionException {
29119
29120 int stackSize = keepStackSize();
29121
29122 try {
29123 // InternalSolverLanguageParser.g:9554:1: ( ( ruleQualifiedName ) )
29124 // InternalSolverLanguageParser.g:9555:2: ( ruleQualifiedName )
29125 {
29126 // InternalSolverLanguageParser.g:9555:2: ( ruleQualifiedName )
29127 // InternalSolverLanguageParser.g:9556:3: ruleQualifiedName
29128 {
29129 before(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
29130 pushFollow(FOLLOW_2);
29131 ruleQualifiedName();
29132
29133 state._fsp--;
29134
29135 after(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
29136
29137 }
29138
29139
29140 }
29141
29142 }
29143 catch (RecognitionException re) {
29144 reportError(re);
29145 recover(input,re);
29146 }
29147 finally {
29148
29149 restoreStackSize(stackSize);
29150
29151 }
29152 return ;
29153 }
29154 // $ANTLR end "rule__ExternDatatypeDefinition__NameAssignment_2"
29155
29156
29157 // $ANTLR start "rule__ExternDatatypeDefinition__SupertypesAssignment_3_1"
29158 // InternalSolverLanguageParser.g:9565:1: rule__ExternDatatypeDefinition__SupertypesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
29159 public final void rule__ExternDatatypeDefinition__SupertypesAssignment_3_1() throws RecognitionException {
29160
29161 int stackSize = keepStackSize();
29162
29163 try {
29164 // InternalSolverLanguageParser.g:9569:1: ( ( ( ruleQualifiedName ) ) )
29165 // InternalSolverLanguageParser.g:9570:2: ( ( ruleQualifiedName ) )
29166 {
29167 // InternalSolverLanguageParser.g:9570:2: ( ( ruleQualifiedName ) )
29168 // InternalSolverLanguageParser.g:9571:3: ( ruleQualifiedName )
29169 {
29170 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
29171 // InternalSolverLanguageParser.g:9572:3: ( ruleQualifiedName )
29172 // InternalSolverLanguageParser.g:9573:4: ruleQualifiedName
29173 {
29174 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1());
29175 pushFollow(FOLLOW_2);
29176 ruleQualifiedName();
29177
29178 state._fsp--;
29179
29180 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1());
29181
29182 }
29183
29184 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
29185
29186 }
29187
29188
29189 }
29190
29191 }
29192 catch (RecognitionException re) {
29193 reportError(re);
29194 recover(input,re);
29195 }
29196 finally {
29197
29198 restoreStackSize(stackSize);
29199
29200 }
29201 return ;
29202 }
29203 // $ANTLR end "rule__ExternDatatypeDefinition__SupertypesAssignment_3_1"
29204
29205
29206 // $ANTLR start "rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1"
29207 // InternalSolverLanguageParser.g:9584:1: rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
29208 public final void rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1() throws RecognitionException {
29209
29210 int stackSize = keepStackSize();
29211
29212 try {
29213 // InternalSolverLanguageParser.g:9588:1: ( ( ( ruleQualifiedName ) ) )
29214 // InternalSolverLanguageParser.g:9589:2: ( ( ruleQualifiedName ) )
29215 {
29216 // InternalSolverLanguageParser.g:9589:2: ( ( ruleQualifiedName ) )
29217 // InternalSolverLanguageParser.g:9590:3: ( ruleQualifiedName )
29218 {
29219 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
29220 // InternalSolverLanguageParser.g:9591:3: ( ruleQualifiedName )
29221 // InternalSolverLanguageParser.g:9592:4: ruleQualifiedName
29222 {
29223 before(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1());
29224 pushFollow(FOLLOW_2);
29225 ruleQualifiedName();
29226
29227 state._fsp--;
29228
29229 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1());
29230
29231 }
29232
29233 after(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
29234
29235 }
29236
29237
29238 }
29239
29240 }
29241 catch (RecognitionException re) {
29242 reportError(re);
29243 recover(input,re);
29244 }
29245 finally {
29246
29247 restoreStackSize(stackSize);
29248
29249 }
29250 return ;
29251 }
29252 // $ANTLR end "rule__ExternDatatypeDefinition__SupertypesAssignment_3_2_1"
29253
29254
29255 // $ANTLR start "rule__Variable__TypeAssignment_0"
29256 // InternalSolverLanguageParser.g:9603:1: rule__Variable__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
29257 public final void rule__Variable__TypeAssignment_0() throws RecognitionException {
29258
29259 int stackSize = keepStackSize();
29260
29261 try {
29262 // InternalSolverLanguageParser.g:9607:1: ( ( ( ruleQualifiedName ) ) )
29263 // InternalSolverLanguageParser.g:9608:2: ( ( ruleQualifiedName ) )
29264 {
29265 // InternalSolverLanguageParser.g:9608:2: ( ( ruleQualifiedName ) )
29266 // InternalSolverLanguageParser.g:9609:3: ( ruleQualifiedName )
29267 {
29268 before(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
29269 // InternalSolverLanguageParser.g:9610:3: ( ruleQualifiedName )
29270 // InternalSolverLanguageParser.g:9611:4: ruleQualifiedName
29271 {
29272 before(grammarAccess.getVariableAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
29273 pushFollow(FOLLOW_2);
29274 ruleQualifiedName();
29275
29276 state._fsp--;
29277
29278 after(grammarAccess.getVariableAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
29279
29280 }
29281
29282 after(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
29283
29284 }
29285
29286
29287 }
29288
29289 }
29290 catch (RecognitionException re) {
29291 reportError(re);
29292 recover(input,re);
29293 }
29294 finally {
29295
29296 restoreStackSize(stackSize);
29297
29298 }
29299 return ;
29300 }
29301 // $ANTLR end "rule__Variable__TypeAssignment_0"
29302
29303
29304 // $ANTLR start "rule__Variable__NameAssignment_1"
29305 // InternalSolverLanguageParser.g:9622:1: rule__Variable__NameAssignment_1 : ( RULE_ID ) ;
29306 public final void rule__Variable__NameAssignment_1() throws RecognitionException {
29307
29308 int stackSize = keepStackSize();
29309
29310 try {
29311 // InternalSolverLanguageParser.g:9626:1: ( ( RULE_ID ) )
29312 // InternalSolverLanguageParser.g:9627:2: ( RULE_ID )
29313 {
29314 // InternalSolverLanguageParser.g:9627:2: ( RULE_ID )
29315 // InternalSolverLanguageParser.g:9628:3: RULE_ID
29316 {
29317 before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
29318 match(input,RULE_ID,FOLLOW_2);
29319 after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
29320
29321 }
29322
29323
29324 }
29325
29326 }
29327 catch (RecognitionException re) {
29328 reportError(re);
29329 recover(input,re);
29330 }
29331 finally {
29332
29333 restoreStackSize(stackSize);
29334
29335 }
29336 return ;
29337 }
29338 // $ANTLR end "rule__Variable__NameAssignment_1"
24285 29339
24286 29340
24287 // $ANTLR start "rule__IfElse__ConditionAssignment_1" 29341 // $ANTLR start "rule__IfElse__ConditionAssignment_1"
24288 // InternalSolverLanguageParser.g:7943:1: rule__IfElse__ConditionAssignment_1 : ( ruleExpression ) ; 29342 // InternalSolverLanguageParser.g:9637:1: rule__IfElse__ConditionAssignment_1 : ( ruleExpression ) ;
24289 public final void rule__IfElse__ConditionAssignment_1() throws RecognitionException { 29343 public final void rule__IfElse__ConditionAssignment_1() throws RecognitionException {
24290 29344
24291 int stackSize = keepStackSize(); 29345 int stackSize = keepStackSize();
24292 29346
24293 try { 29347 try {
24294 // InternalSolverLanguageParser.g:7947:1: ( ( ruleExpression ) ) 29348 // InternalSolverLanguageParser.g:9641:1: ( ( ruleExpression ) )
24295 // InternalSolverLanguageParser.g:7948:2: ( ruleExpression ) 29349 // InternalSolverLanguageParser.g:9642:2: ( ruleExpression )
24296 { 29350 {
24297 // InternalSolverLanguageParser.g:7948:2: ( ruleExpression ) 29351 // InternalSolverLanguageParser.g:9642:2: ( ruleExpression )
24298 // InternalSolverLanguageParser.g:7949:3: ruleExpression 29352 // InternalSolverLanguageParser.g:9643:3: ruleExpression
24299 { 29353 {
24300 before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 29354 before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
24301 pushFollow(FOLLOW_2); 29355 pushFollow(FOLLOW_2);
@@ -24326,17 +29380,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24326 29380
24327 29381
24328 // $ANTLR start "rule__IfElse__ThenAssignment_3" 29382 // $ANTLR start "rule__IfElse__ThenAssignment_3"
24329 // InternalSolverLanguageParser.g:7958:1: rule__IfElse__ThenAssignment_3 : ( ruleExpression ) ; 29383 // InternalSolverLanguageParser.g:9652:1: rule__IfElse__ThenAssignment_3 : ( ruleExpression ) ;
24330 public final void rule__IfElse__ThenAssignment_3() throws RecognitionException { 29384 public final void rule__IfElse__ThenAssignment_3() throws RecognitionException {
24331 29385
24332 int stackSize = keepStackSize(); 29386 int stackSize = keepStackSize();
24333 29387
24334 try { 29388 try {
24335 // InternalSolverLanguageParser.g:7962:1: ( ( ruleExpression ) ) 29389 // InternalSolverLanguageParser.g:9656:1: ( ( ruleExpression ) )
24336 // InternalSolverLanguageParser.g:7963:2: ( ruleExpression ) 29390 // InternalSolverLanguageParser.g:9657:2: ( ruleExpression )
24337 { 29391 {
24338 // InternalSolverLanguageParser.g:7963:2: ( ruleExpression ) 29392 // InternalSolverLanguageParser.g:9657:2: ( ruleExpression )
24339 // InternalSolverLanguageParser.g:7964:3: ruleExpression 29393 // InternalSolverLanguageParser.g:9658:3: ruleExpression
24340 { 29394 {
24341 before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 29395 before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
24342 pushFollow(FOLLOW_2); 29396 pushFollow(FOLLOW_2);
@@ -24367,17 +29421,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24367 29421
24368 29422
24369 // $ANTLR start "rule__IfElse__ElseAssignment_5" 29423 // $ANTLR start "rule__IfElse__ElseAssignment_5"
24370 // InternalSolverLanguageParser.g:7973:1: rule__IfElse__ElseAssignment_5 : ( ruleExpression ) ; 29424 // InternalSolverLanguageParser.g:9667:1: rule__IfElse__ElseAssignment_5 : ( ruleExpression ) ;
24371 public final void rule__IfElse__ElseAssignment_5() throws RecognitionException { 29425 public final void rule__IfElse__ElseAssignment_5() throws RecognitionException {
24372 29426
24373 int stackSize = keepStackSize(); 29427 int stackSize = keepStackSize();
24374 29428
24375 try { 29429 try {
24376 // InternalSolverLanguageParser.g:7977:1: ( ( ruleExpression ) ) 29430 // InternalSolverLanguageParser.g:9671:1: ( ( ruleExpression ) )
24377 // InternalSolverLanguageParser.g:7978:2: ( ruleExpression ) 29431 // InternalSolverLanguageParser.g:9672:2: ( ruleExpression )
24378 { 29432 {
24379 // InternalSolverLanguageParser.g:7978:2: ( ruleExpression ) 29433 // InternalSolverLanguageParser.g:9672:2: ( ruleExpression )
24380 // InternalSolverLanguageParser.g:7979:3: ruleExpression 29434 // InternalSolverLanguageParser.g:9673:3: ruleExpression
24381 { 29435 {
24382 before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 29436 before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
24383 pushFollow(FOLLOW_2); 29437 pushFollow(FOLLOW_2);
@@ -24407,18 +29461,305 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24407 // $ANTLR end "rule__IfElse__ElseAssignment_5" 29461 // $ANTLR end "rule__IfElse__ElseAssignment_5"
24408 29462
24409 29463
29464 // $ANTLR start "rule__Let__BindingsAssignment_1"
29465 // InternalSolverLanguageParser.g:9682:1: rule__Let__BindingsAssignment_1 : ( ruleLetBinding ) ;
29466 public final void rule__Let__BindingsAssignment_1() throws RecognitionException {
29467
29468 int stackSize = keepStackSize();
29469
29470 try {
29471 // InternalSolverLanguageParser.g:9686:1: ( ( ruleLetBinding ) )
29472 // InternalSolverLanguageParser.g:9687:2: ( ruleLetBinding )
29473 {
29474 // InternalSolverLanguageParser.g:9687:2: ( ruleLetBinding )
29475 // InternalSolverLanguageParser.g:9688:3: ruleLetBinding
29476 {
29477 before(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
29478 pushFollow(FOLLOW_2);
29479 ruleLetBinding();
29480
29481 state._fsp--;
29482
29483 after(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
29484
29485 }
29486
29487
29488 }
29489
29490 }
29491 catch (RecognitionException re) {
29492 reportError(re);
29493 recover(input,re);
29494 }
29495 finally {
29496
29497 restoreStackSize(stackSize);
29498
29499 }
29500 return ;
29501 }
29502 // $ANTLR end "rule__Let__BindingsAssignment_1"
29503
29504
29505 // $ANTLR start "rule__Let__BindingsAssignment_2_1"
29506 // InternalSolverLanguageParser.g:9697:1: rule__Let__BindingsAssignment_2_1 : ( ruleLetBinding ) ;
29507 public final void rule__Let__BindingsAssignment_2_1() throws RecognitionException {
29508
29509 int stackSize = keepStackSize();
29510
29511 try {
29512 // InternalSolverLanguageParser.g:9701:1: ( ( ruleLetBinding ) )
29513 // InternalSolverLanguageParser.g:9702:2: ( ruleLetBinding )
29514 {
29515 // InternalSolverLanguageParser.g:9702:2: ( ruleLetBinding )
29516 // InternalSolverLanguageParser.g:9703:3: ruleLetBinding
29517 {
29518 before(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
29519 pushFollow(FOLLOW_2);
29520 ruleLetBinding();
29521
29522 state._fsp--;
29523
29524 after(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
29525
29526 }
29527
29528
29529 }
29530
29531 }
29532 catch (RecognitionException re) {
29533 reportError(re);
29534 recover(input,re);
29535 }
29536 finally {
29537
29538 restoreStackSize(stackSize);
29539
29540 }
29541 return ;
29542 }
29543 // $ANTLR end "rule__Let__BindingsAssignment_2_1"
29544
29545
29546 // $ANTLR start "rule__Let__BodyAssignment_4"
29547 // InternalSolverLanguageParser.g:9712:1: rule__Let__BodyAssignment_4 : ( ruleExpression ) ;
29548 public final void rule__Let__BodyAssignment_4() throws RecognitionException {
29549
29550 int stackSize = keepStackSize();
29551
29552 try {
29553 // InternalSolverLanguageParser.g:9716:1: ( ( ruleExpression ) )
29554 // InternalSolverLanguageParser.g:9717:2: ( ruleExpression )
29555 {
29556 // InternalSolverLanguageParser.g:9717:2: ( ruleExpression )
29557 // InternalSolverLanguageParser.g:9718:3: ruleExpression
29558 {
29559 before(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
29560 pushFollow(FOLLOW_2);
29561 ruleExpression();
29562
29563 state._fsp--;
29564
29565 after(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
29566
29567 }
29568
29569
29570 }
29571
29572 }
29573 catch (RecognitionException re) {
29574 reportError(re);
29575 recover(input,re);
29576 }
29577 finally {
29578
29579 restoreStackSize(stackSize);
29580
29581 }
29582 return ;
29583 }
29584 // $ANTLR end "rule__Let__BodyAssignment_4"
29585
29586
29587 // $ANTLR start "rule__LetBinding__VariableAssignment_0"
29588 // InternalSolverLanguageParser.g:9727:1: rule__LetBinding__VariableAssignment_0 : ( ruleVariable ) ;
29589 public final void rule__LetBinding__VariableAssignment_0() throws RecognitionException {
29590
29591 int stackSize = keepStackSize();
29592
29593 try {
29594 // InternalSolverLanguageParser.g:9731:1: ( ( ruleVariable ) )
29595 // InternalSolverLanguageParser.g:9732:2: ( ruleVariable )
29596 {
29597 // InternalSolverLanguageParser.g:9732:2: ( ruleVariable )
29598 // InternalSolverLanguageParser.g:9733:3: ruleVariable
29599 {
29600 before(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
29601 pushFollow(FOLLOW_2);
29602 ruleVariable();
29603
29604 state._fsp--;
29605
29606 after(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
29607
29608 }
29609
29610
29611 }
29612
29613 }
29614 catch (RecognitionException re) {
29615 reportError(re);
29616 recover(input,re);
29617 }
29618 finally {
29619
29620 restoreStackSize(stackSize);
29621
29622 }
29623 return ;
29624 }
29625 // $ANTLR end "rule__LetBinding__VariableAssignment_0"
29626
29627
29628 // $ANTLR start "rule__LetBinding__ValueAssignment_2"
29629 // InternalSolverLanguageParser.g:9742:1: rule__LetBinding__ValueAssignment_2 : ( ruleAdditiveExpression ) ;
29630 public final void rule__LetBinding__ValueAssignment_2() throws RecognitionException {
29631
29632 int stackSize = keepStackSize();
29633
29634 try {
29635 // InternalSolverLanguageParser.g:9746:1: ( ( ruleAdditiveExpression ) )
29636 // InternalSolverLanguageParser.g:9747:2: ( ruleAdditiveExpression )
29637 {
29638 // InternalSolverLanguageParser.g:9747:2: ( ruleAdditiveExpression )
29639 // InternalSolverLanguageParser.g:9748:3: ruleAdditiveExpression
29640 {
29641 before(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
29642 pushFollow(FOLLOW_2);
29643 ruleAdditiveExpression();
29644
29645 state._fsp--;
29646
29647 after(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
29648
29649 }
29650
29651
29652 }
29653
29654 }
29655 catch (RecognitionException re) {
29656 reportError(re);
29657 recover(input,re);
29658 }
29659 finally {
29660
29661 restoreStackSize(stackSize);
29662
29663 }
29664 return ;
29665 }
29666 // $ANTLR end "rule__LetBinding__ValueAssignment_2"
29667
29668
29669 // $ANTLR start "rule__ImplicationExpression__OpAssignment_1_1"
29670 // InternalSolverLanguageParser.g:9757:1: rule__ImplicationExpression__OpAssignment_1_1 : ( ruleImplicationOperator ) ;
29671 public final void rule__ImplicationExpression__OpAssignment_1_1() throws RecognitionException {
29672
29673 int stackSize = keepStackSize();
29674
29675 try {
29676 // InternalSolverLanguageParser.g:9761:1: ( ( ruleImplicationOperator ) )
29677 // InternalSolverLanguageParser.g:9762:2: ( ruleImplicationOperator )
29678 {
29679 // InternalSolverLanguageParser.g:9762:2: ( ruleImplicationOperator )
29680 // InternalSolverLanguageParser.g:9763:3: ruleImplicationOperator
29681 {
29682 before(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
29683 pushFollow(FOLLOW_2);
29684 ruleImplicationOperator();
29685
29686 state._fsp--;
29687
29688 after(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
29689
29690 }
29691
29692
29693 }
29694
29695 }
29696 catch (RecognitionException re) {
29697 reportError(re);
29698 recover(input,re);
29699 }
29700 finally {
29701
29702 restoreStackSize(stackSize);
29703
29704 }
29705 return ;
29706 }
29707 // $ANTLR end "rule__ImplicationExpression__OpAssignment_1_1"
29708
29709
29710 // $ANTLR start "rule__ImplicationExpression__RightAssignment_1_2"
29711 // InternalSolverLanguageParser.g:9772:1: rule__ImplicationExpression__RightAssignment_1_2 : ( ruleImplicationExpression ) ;
29712 public final void rule__ImplicationExpression__RightAssignment_1_2() throws RecognitionException {
29713
29714 int stackSize = keepStackSize();
29715
29716 try {
29717 // InternalSolverLanguageParser.g:9776:1: ( ( ruleImplicationExpression ) )
29718 // InternalSolverLanguageParser.g:9777:2: ( ruleImplicationExpression )
29719 {
29720 // InternalSolverLanguageParser.g:9777:2: ( ruleImplicationExpression )
29721 // InternalSolverLanguageParser.g:9778:3: ruleImplicationExpression
29722 {
29723 before(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
29724 pushFollow(FOLLOW_2);
29725 ruleImplicationExpression();
29726
29727 state._fsp--;
29728
29729 after(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
29730
29731 }
29732
29733
29734 }
29735
29736 }
29737 catch (RecognitionException re) {
29738 reportError(re);
29739 recover(input,re);
29740 }
29741 finally {
29742
29743 restoreStackSize(stackSize);
29744
29745 }
29746 return ;
29747 }
29748 // $ANTLR end "rule__ImplicationExpression__RightAssignment_1_2"
29749
29750
24410 // $ANTLR start "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1" 29751 // $ANTLR start "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1"
24411 // InternalSolverLanguageParser.g:7988:1: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 : ( ruleConjunctiveExpression ) ; 29752 // InternalSolverLanguageParser.g:9787:1: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 : ( ruleConjunctiveExpression ) ;
24412 public final void rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1() throws RecognitionException { 29753 public final void rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1() throws RecognitionException {
24413 29754
24414 int stackSize = keepStackSize(); 29755 int stackSize = keepStackSize();
24415 29756
24416 try { 29757 try {
24417 // InternalSolverLanguageParser.g:7992:1: ( ( ruleConjunctiveExpression ) ) 29758 // InternalSolverLanguageParser.g:9791:1: ( ( ruleConjunctiveExpression ) )
24418 // InternalSolverLanguageParser.g:7993:2: ( ruleConjunctiveExpression ) 29759 // InternalSolverLanguageParser.g:9792:2: ( ruleConjunctiveExpression )
24419 { 29760 {
24420 // InternalSolverLanguageParser.g:7993:2: ( ruleConjunctiveExpression ) 29761 // InternalSolverLanguageParser.g:9792:2: ( ruleConjunctiveExpression )
24421 // InternalSolverLanguageParser.g:7994:3: ruleConjunctiveExpression 29762 // InternalSolverLanguageParser.g:9793:3: ruleConjunctiveExpression
24422 { 29763 {
24423 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); 29764 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
24424 pushFollow(FOLLOW_2); 29765 pushFollow(FOLLOW_2);
@@ -24449,17 +29790,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24449 29790
24450 29791
24451 // $ANTLR start "rule__DisjunctiveExpression__BodyAssignment_1_1_2" 29792 // $ANTLR start "rule__DisjunctiveExpression__BodyAssignment_1_1_2"
24452 // InternalSolverLanguageParser.g:8003:1: rule__DisjunctiveExpression__BodyAssignment_1_1_2 : ( ruleConjunctiveExpression ) ; 29793 // InternalSolverLanguageParser.g:9802:1: rule__DisjunctiveExpression__BodyAssignment_1_1_2 : ( ruleConjunctiveExpression ) ;
24453 public final void rule__DisjunctiveExpression__BodyAssignment_1_1_2() throws RecognitionException { 29794 public final void rule__DisjunctiveExpression__BodyAssignment_1_1_2() throws RecognitionException {
24454 29795
24455 int stackSize = keepStackSize(); 29796 int stackSize = keepStackSize();
24456 29797
24457 try { 29798 try {
24458 // InternalSolverLanguageParser.g:8007:1: ( ( ruleConjunctiveExpression ) ) 29799 // InternalSolverLanguageParser.g:9806:1: ( ( ruleConjunctiveExpression ) )
24459 // InternalSolverLanguageParser.g:8008:2: ( ruleConjunctiveExpression ) 29800 // InternalSolverLanguageParser.g:9807:2: ( ruleConjunctiveExpression )
24460 { 29801 {
24461 // InternalSolverLanguageParser.g:8008:2: ( ruleConjunctiveExpression ) 29802 // InternalSolverLanguageParser.g:9807:2: ( ruleConjunctiveExpression )
24462 // InternalSolverLanguageParser.g:8009:3: ruleConjunctiveExpression 29803 // InternalSolverLanguageParser.g:9808:3: ruleConjunctiveExpression
24463 { 29804 {
24464 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); 29805 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
24465 pushFollow(FOLLOW_2); 29806 pushFollow(FOLLOW_2);
@@ -24490,17 +29831,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24490 29831
24491 29832
24492 // $ANTLR start "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1" 29833 // $ANTLR start "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1"
24493 // InternalSolverLanguageParser.g:8018:1: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 : ( ruleCase ) ; 29834 // InternalSolverLanguageParser.g:9817:1: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 : ( ruleCase ) ;
24494 public final void rule__DisjunctiveExpression__CasesAssignment_1_1_4_1() throws RecognitionException { 29835 public final void rule__DisjunctiveExpression__CasesAssignment_1_1_4_1() throws RecognitionException {
24495 29836
24496 int stackSize = keepStackSize(); 29837 int stackSize = keepStackSize();
24497 29838
24498 try { 29839 try {
24499 // InternalSolverLanguageParser.g:8022:1: ( ( ruleCase ) ) 29840 // InternalSolverLanguageParser.g:9821:1: ( ( ruleCase ) )
24500 // InternalSolverLanguageParser.g:8023:2: ( ruleCase ) 29841 // InternalSolverLanguageParser.g:9822:2: ( ruleCase )
24501 { 29842 {
24502 // InternalSolverLanguageParser.g:8023:2: ( ruleCase ) 29843 // InternalSolverLanguageParser.g:9822:2: ( ruleCase )
24503 // InternalSolverLanguageParser.g:8024:3: ruleCase 29844 // InternalSolverLanguageParser.g:9823:3: ruleCase
24504 { 29845 {
24505 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); 29846 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
24506 pushFollow(FOLLOW_2); 29847 pushFollow(FOLLOW_2);
@@ -24531,17 +29872,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24531 29872
24532 29873
24533 // $ANTLR start "rule__Case__ConditionAssignment_0" 29874 // $ANTLR start "rule__Case__ConditionAssignment_0"
24534 // InternalSolverLanguageParser.g:8033:1: rule__Case__ConditionAssignment_0 : ( ruleConjunctiveExpression ) ; 29875 // InternalSolverLanguageParser.g:9832:1: rule__Case__ConditionAssignment_0 : ( ruleConjunctiveExpression ) ;
24535 public final void rule__Case__ConditionAssignment_0() throws RecognitionException { 29876 public final void rule__Case__ConditionAssignment_0() throws RecognitionException {
24536 29877
24537 int stackSize = keepStackSize(); 29878 int stackSize = keepStackSize();
24538 29879
24539 try { 29880 try {
24540 // InternalSolverLanguageParser.g:8037:1: ( ( ruleConjunctiveExpression ) ) 29881 // InternalSolverLanguageParser.g:9836:1: ( ( ruleConjunctiveExpression ) )
24541 // InternalSolverLanguageParser.g:8038:2: ( ruleConjunctiveExpression ) 29882 // InternalSolverLanguageParser.g:9837:2: ( ruleConjunctiveExpression )
24542 { 29883 {
24543 // InternalSolverLanguageParser.g:8038:2: ( ruleConjunctiveExpression ) 29884 // InternalSolverLanguageParser.g:9837:2: ( ruleConjunctiveExpression )
24544 // InternalSolverLanguageParser.g:8039:3: ruleConjunctiveExpression 29885 // InternalSolverLanguageParser.g:9838:3: ruleConjunctiveExpression
24545 { 29886 {
24546 before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); 29887 before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
24547 pushFollow(FOLLOW_2); 29888 pushFollow(FOLLOW_2);
@@ -24572,17 +29913,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24572 29913
24573 29914
24574 // $ANTLR start "rule__Case__BodyAssignment_2" 29915 // $ANTLR start "rule__Case__BodyAssignment_2"
24575 // InternalSolverLanguageParser.g:8048:1: rule__Case__BodyAssignment_2 : ( ruleConjunctiveExpression ) ; 29916 // InternalSolverLanguageParser.g:9847:1: rule__Case__BodyAssignment_2 : ( ruleConjunctiveExpression ) ;
24576 public final void rule__Case__BodyAssignment_2() throws RecognitionException { 29917 public final void rule__Case__BodyAssignment_2() throws RecognitionException {
24577 29918
24578 int stackSize = keepStackSize(); 29919 int stackSize = keepStackSize();
24579 29920
24580 try { 29921 try {
24581 // InternalSolverLanguageParser.g:8052:1: ( ( ruleConjunctiveExpression ) ) 29922 // InternalSolverLanguageParser.g:9851:1: ( ( ruleConjunctiveExpression ) )
24582 // InternalSolverLanguageParser.g:8053:2: ( ruleConjunctiveExpression ) 29923 // InternalSolverLanguageParser.g:9852:2: ( ruleConjunctiveExpression )
24583 { 29924 {
24584 // InternalSolverLanguageParser.g:8053:2: ( ruleConjunctiveExpression ) 29925 // InternalSolverLanguageParser.g:9852:2: ( ruleConjunctiveExpression )
24585 // InternalSolverLanguageParser.g:8054:3: ruleConjunctiveExpression 29926 // InternalSolverLanguageParser.g:9853:3: ruleConjunctiveExpression
24586 { 29927 {
24587 before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); 29928 before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
24588 pushFollow(FOLLOW_2); 29929 pushFollow(FOLLOW_2);
@@ -24613,17 +29954,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24613 29954
24614 29955
24615 // $ANTLR start "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1" 29956 // $ANTLR start "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1"
24616 // InternalSolverLanguageParser.g:8063:1: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 : ( ruleComparisonExpression ) ; 29957 // InternalSolverLanguageParser.g:9862:1: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 : ( ruleComparisonExpression ) ;
24617 public final void rule__ConjunctiveExpression__ChildrenAssignment_1_1_1() throws RecognitionException { 29958 public final void rule__ConjunctiveExpression__ChildrenAssignment_1_1_1() throws RecognitionException {
24618 29959
24619 int stackSize = keepStackSize(); 29960 int stackSize = keepStackSize();
24620 29961
24621 try { 29962 try {
24622 // InternalSolverLanguageParser.g:8067:1: ( ( ruleComparisonExpression ) ) 29963 // InternalSolverLanguageParser.g:9866:1: ( ( ruleComparisonExpression ) )
24623 // InternalSolverLanguageParser.g:8068:2: ( ruleComparisonExpression ) 29964 // InternalSolverLanguageParser.g:9867:2: ( ruleComparisonExpression )
24624 { 29965 {
24625 // InternalSolverLanguageParser.g:8068:2: ( ruleComparisonExpression ) 29966 // InternalSolverLanguageParser.g:9867:2: ( ruleComparisonExpression )
24626 // InternalSolverLanguageParser.g:8069:3: ruleComparisonExpression 29967 // InternalSolverLanguageParser.g:9868:3: ruleComparisonExpression
24627 { 29968 {
24628 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); 29969 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
24629 pushFollow(FOLLOW_2); 29970 pushFollow(FOLLOW_2);
@@ -24654,17 +29995,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24654 29995
24655 29996
24656 // $ANTLR start "rule__ComparisonExpression__OpAssignment_1_1" 29997 // $ANTLR start "rule__ComparisonExpression__OpAssignment_1_1"
24657 // InternalSolverLanguageParser.g:8078:1: rule__ComparisonExpression__OpAssignment_1_1 : ( ruleComparisonOperator ) ; 29998 // InternalSolverLanguageParser.g:9877:1: rule__ComparisonExpression__OpAssignment_1_1 : ( ruleComparisonOperator ) ;
24658 public final void rule__ComparisonExpression__OpAssignment_1_1() throws RecognitionException { 29999 public final void rule__ComparisonExpression__OpAssignment_1_1() throws RecognitionException {
24659 30000
24660 int stackSize = keepStackSize(); 30001 int stackSize = keepStackSize();
24661 30002
24662 try { 30003 try {
24663 // InternalSolverLanguageParser.g:8082:1: ( ( ruleComparisonOperator ) ) 30004 // InternalSolverLanguageParser.g:9881:1: ( ( ruleComparisonOperator ) )
24664 // InternalSolverLanguageParser.g:8083:2: ( ruleComparisonOperator ) 30005 // InternalSolverLanguageParser.g:9882:2: ( ruleComparisonOperator )
24665 { 30006 {
24666 // InternalSolverLanguageParser.g:8083:2: ( ruleComparisonOperator ) 30007 // InternalSolverLanguageParser.g:9882:2: ( ruleComparisonOperator )
24667 // InternalSolverLanguageParser.g:8084:3: ruleComparisonOperator 30008 // InternalSolverLanguageParser.g:9883:3: ruleComparisonOperator
24668 { 30009 {
24669 before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); 30010 before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
24670 pushFollow(FOLLOW_2); 30011 pushFollow(FOLLOW_2);
@@ -24695,17 +30036,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24695 30036
24696 30037
24697 // $ANTLR start "rule__ComparisonExpression__RightAssignment_1_2" 30038 // $ANTLR start "rule__ComparisonExpression__RightAssignment_1_2"
24698 // InternalSolverLanguageParser.g:8093:1: rule__ComparisonExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; 30039 // InternalSolverLanguageParser.g:9892:1: rule__ComparisonExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ;
24699 public final void rule__ComparisonExpression__RightAssignment_1_2() throws RecognitionException { 30040 public final void rule__ComparisonExpression__RightAssignment_1_2() throws RecognitionException {
24700 30041
24701 int stackSize = keepStackSize(); 30042 int stackSize = keepStackSize();
24702 30043
24703 try { 30044 try {
24704 // InternalSolverLanguageParser.g:8097:1: ( ( ruleAdditiveExpression ) ) 30045 // InternalSolverLanguageParser.g:9896:1: ( ( ruleAdditiveExpression ) )
24705 // InternalSolverLanguageParser.g:8098:2: ( ruleAdditiveExpression ) 30046 // InternalSolverLanguageParser.g:9897:2: ( ruleAdditiveExpression )
24706 { 30047 {
24707 // InternalSolverLanguageParser.g:8098:2: ( ruleAdditiveExpression ) 30048 // InternalSolverLanguageParser.g:9897:2: ( ruleAdditiveExpression )
24708 // InternalSolverLanguageParser.g:8099:3: ruleAdditiveExpression 30049 // InternalSolverLanguageParser.g:9898:3: ruleAdditiveExpression
24709 { 30050 {
24710 before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); 30051 before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
24711 pushFollow(FOLLOW_2); 30052 pushFollow(FOLLOW_2);
@@ -24736,17 +30077,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24736 30077
24737 30078
24738 // $ANTLR start "rule__AdditiveExpression__OpAssignment_1_1" 30079 // $ANTLR start "rule__AdditiveExpression__OpAssignment_1_1"
24739 // InternalSolverLanguageParser.g:8108:1: rule__AdditiveExpression__OpAssignment_1_1 : ( ruleAdditiveBinaryOperator ) ; 30080 // InternalSolverLanguageParser.g:9907:1: rule__AdditiveExpression__OpAssignment_1_1 : ( ruleAdditiveBinaryOperator ) ;
24740 public final void rule__AdditiveExpression__OpAssignment_1_1() throws RecognitionException { 30081 public final void rule__AdditiveExpression__OpAssignment_1_1() throws RecognitionException {
24741 30082
24742 int stackSize = keepStackSize(); 30083 int stackSize = keepStackSize();
24743 30084
24744 try { 30085 try {
24745 // InternalSolverLanguageParser.g:8112:1: ( ( ruleAdditiveBinaryOperator ) ) 30086 // InternalSolverLanguageParser.g:9911:1: ( ( ruleAdditiveBinaryOperator ) )
24746 // InternalSolverLanguageParser.g:8113:2: ( ruleAdditiveBinaryOperator ) 30087 // InternalSolverLanguageParser.g:9912:2: ( ruleAdditiveBinaryOperator )
24747 { 30088 {
24748 // InternalSolverLanguageParser.g:8113:2: ( ruleAdditiveBinaryOperator ) 30089 // InternalSolverLanguageParser.g:9912:2: ( ruleAdditiveBinaryOperator )
24749 // InternalSolverLanguageParser.g:8114:3: ruleAdditiveBinaryOperator 30090 // InternalSolverLanguageParser.g:9913:3: ruleAdditiveBinaryOperator
24750 { 30091 {
24751 before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); 30092 before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
24752 pushFollow(FOLLOW_2); 30093 pushFollow(FOLLOW_2);
@@ -24777,17 +30118,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24777 30118
24778 30119
24779 // $ANTLR start "rule__AdditiveExpression__RightAssignment_1_2" 30120 // $ANTLR start "rule__AdditiveExpression__RightAssignment_1_2"
24780 // InternalSolverLanguageParser.g:8123:1: rule__AdditiveExpression__RightAssignment_1_2 : ( ruleMultiplicativeExpression ) ; 30121 // InternalSolverLanguageParser.g:9922:1: rule__AdditiveExpression__RightAssignment_1_2 : ( ruleMultiplicativeExpression ) ;
24781 public final void rule__AdditiveExpression__RightAssignment_1_2() throws RecognitionException { 30122 public final void rule__AdditiveExpression__RightAssignment_1_2() throws RecognitionException {
24782 30123
24783 int stackSize = keepStackSize(); 30124 int stackSize = keepStackSize();
24784 30125
24785 try { 30126 try {
24786 // InternalSolverLanguageParser.g:8127:1: ( ( ruleMultiplicativeExpression ) ) 30127 // InternalSolverLanguageParser.g:9926:1: ( ( ruleMultiplicativeExpression ) )
24787 // InternalSolverLanguageParser.g:8128:2: ( ruleMultiplicativeExpression ) 30128 // InternalSolverLanguageParser.g:9927:2: ( ruleMultiplicativeExpression )
24788 { 30129 {
24789 // InternalSolverLanguageParser.g:8128:2: ( ruleMultiplicativeExpression ) 30130 // InternalSolverLanguageParser.g:9927:2: ( ruleMultiplicativeExpression )
24790 // InternalSolverLanguageParser.g:8129:3: ruleMultiplicativeExpression 30131 // InternalSolverLanguageParser.g:9928:3: ruleMultiplicativeExpression
24791 { 30132 {
24792 before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); 30133 before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
24793 pushFollow(FOLLOW_2); 30134 pushFollow(FOLLOW_2);
@@ -24818,17 +30159,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24818 30159
24819 30160
24820 // $ANTLR start "rule__MultiplicativeExpression__OpAssignment_1_1" 30161 // $ANTLR start "rule__MultiplicativeExpression__OpAssignment_1_1"
24821 // InternalSolverLanguageParser.g:8138:1: rule__MultiplicativeExpression__OpAssignment_1_1 : ( ruleMultiplicativeBinaryOperator ) ; 30162 // InternalSolverLanguageParser.g:9937:1: rule__MultiplicativeExpression__OpAssignment_1_1 : ( ruleMultiplicativeBinaryOperator ) ;
24822 public final void rule__MultiplicativeExpression__OpAssignment_1_1() throws RecognitionException { 30163 public final void rule__MultiplicativeExpression__OpAssignment_1_1() throws RecognitionException {
24823 30164
24824 int stackSize = keepStackSize(); 30165 int stackSize = keepStackSize();
24825 30166
24826 try { 30167 try {
24827 // InternalSolverLanguageParser.g:8142:1: ( ( ruleMultiplicativeBinaryOperator ) ) 30168 // InternalSolverLanguageParser.g:9941:1: ( ( ruleMultiplicativeBinaryOperator ) )
24828 // InternalSolverLanguageParser.g:8143:2: ( ruleMultiplicativeBinaryOperator ) 30169 // InternalSolverLanguageParser.g:9942:2: ( ruleMultiplicativeBinaryOperator )
24829 { 30170 {
24830 // InternalSolverLanguageParser.g:8143:2: ( ruleMultiplicativeBinaryOperator ) 30171 // InternalSolverLanguageParser.g:9942:2: ( ruleMultiplicativeBinaryOperator )
24831 // InternalSolverLanguageParser.g:8144:3: ruleMultiplicativeBinaryOperator 30172 // InternalSolverLanguageParser.g:9943:3: ruleMultiplicativeBinaryOperator
24832 { 30173 {
24833 before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); 30174 before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
24834 pushFollow(FOLLOW_2); 30175 pushFollow(FOLLOW_2);
@@ -24859,17 +30200,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24859 30200
24860 30201
24861 // $ANTLR start "rule__MultiplicativeExpression__RightAssignment_1_2" 30202 // $ANTLR start "rule__MultiplicativeExpression__RightAssignment_1_2"
24862 // InternalSolverLanguageParser.g:8153:1: rule__MultiplicativeExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ; 30203 // InternalSolverLanguageParser.g:9952:1: rule__MultiplicativeExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ;
24863 public final void rule__MultiplicativeExpression__RightAssignment_1_2() throws RecognitionException { 30204 public final void rule__MultiplicativeExpression__RightAssignment_1_2() throws RecognitionException {
24864 30205
24865 int stackSize = keepStackSize(); 30206 int stackSize = keepStackSize();
24866 30207
24867 try { 30208 try {
24868 // InternalSolverLanguageParser.g:8157:1: ( ( ruleExponentialExpression ) ) 30209 // InternalSolverLanguageParser.g:9956:1: ( ( ruleExponentialExpression ) )
24869 // InternalSolverLanguageParser.g:8158:2: ( ruleExponentialExpression ) 30210 // InternalSolverLanguageParser.g:9957:2: ( ruleExponentialExpression )
24870 { 30211 {
24871 // InternalSolverLanguageParser.g:8158:2: ( ruleExponentialExpression ) 30212 // InternalSolverLanguageParser.g:9957:2: ( ruleExponentialExpression )
24872 // InternalSolverLanguageParser.g:8159:3: ruleExponentialExpression 30213 // InternalSolverLanguageParser.g:9958:3: ruleExponentialExpression
24873 { 30214 {
24874 before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 30215 before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
24875 pushFollow(FOLLOW_2); 30216 pushFollow(FOLLOW_2);
@@ -24900,17 +30241,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24900 30241
24901 30242
24902 // $ANTLR start "rule__ExponentialExpression__OpAssignment_1_1" 30243 // $ANTLR start "rule__ExponentialExpression__OpAssignment_1_1"
24903 // InternalSolverLanguageParser.g:8168:1: rule__ExponentialExpression__OpAssignment_1_1 : ( ruleExponentialOp ) ; 30244 // InternalSolverLanguageParser.g:9967:1: rule__ExponentialExpression__OpAssignment_1_1 : ( ruleExponentialOp ) ;
24904 public final void rule__ExponentialExpression__OpAssignment_1_1() throws RecognitionException { 30245 public final void rule__ExponentialExpression__OpAssignment_1_1() throws RecognitionException {
24905 30246
24906 int stackSize = keepStackSize(); 30247 int stackSize = keepStackSize();
24907 30248
24908 try { 30249 try {
24909 // InternalSolverLanguageParser.g:8172:1: ( ( ruleExponentialOp ) ) 30250 // InternalSolverLanguageParser.g:9971:1: ( ( ruleExponentialOp ) )
24910 // InternalSolverLanguageParser.g:8173:2: ( ruleExponentialOp ) 30251 // InternalSolverLanguageParser.g:9972:2: ( ruleExponentialOp )
24911 { 30252 {
24912 // InternalSolverLanguageParser.g:8173:2: ( ruleExponentialOp ) 30253 // InternalSolverLanguageParser.g:9972:2: ( ruleExponentialOp )
24913 // InternalSolverLanguageParser.g:8174:3: ruleExponentialOp 30254 // InternalSolverLanguageParser.g:9973:3: ruleExponentialOp
24914 { 30255 {
24915 before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); 30256 before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
24916 pushFollow(FOLLOW_2); 30257 pushFollow(FOLLOW_2);
@@ -24941,25 +30282,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24941 30282
24942 30283
24943 // $ANTLR start "rule__ExponentialExpression__RightAssignment_1_2" 30284 // $ANTLR start "rule__ExponentialExpression__RightAssignment_1_2"
24944 // InternalSolverLanguageParser.g:8183:1: rule__ExponentialExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ; 30285 // InternalSolverLanguageParser.g:9982:1: rule__ExponentialExpression__RightAssignment_1_2 : ( ruleCastExpression ) ;
24945 public final void rule__ExponentialExpression__RightAssignment_1_2() throws RecognitionException { 30286 public final void rule__ExponentialExpression__RightAssignment_1_2() throws RecognitionException {
24946 30287
24947 int stackSize = keepStackSize(); 30288 int stackSize = keepStackSize();
24948 30289
24949 try { 30290 try {
24950 // InternalSolverLanguageParser.g:8187:1: ( ( ruleExponentialExpression ) ) 30291 // InternalSolverLanguageParser.g:9986:1: ( ( ruleCastExpression ) )
24951 // InternalSolverLanguageParser.g:8188:2: ( ruleExponentialExpression ) 30292 // InternalSolverLanguageParser.g:9987:2: ( ruleCastExpression )
24952 { 30293 {
24953 // InternalSolverLanguageParser.g:8188:2: ( ruleExponentialExpression ) 30294 // InternalSolverLanguageParser.g:9987:2: ( ruleCastExpression )
24954 // InternalSolverLanguageParser.g:8189:3: ruleExponentialExpression 30295 // InternalSolverLanguageParser.g:9988:3: ruleCastExpression
24955 { 30296 {
24956 before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 30297 before(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
24957 pushFollow(FOLLOW_2); 30298 pushFollow(FOLLOW_2);
24958 ruleExponentialExpression(); 30299 ruleCastExpression();
24959 30300
24960 state._fsp--; 30301 state._fsp--;
24961 30302
24962 after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 30303 after(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
24963 30304
24964 } 30305 }
24965 30306
@@ -24981,18 +30322,67 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
24981 // $ANTLR end "rule__ExponentialExpression__RightAssignment_1_2" 30322 // $ANTLR end "rule__ExponentialExpression__RightAssignment_1_2"
24982 30323
24983 30324
30325 // $ANTLR start "rule__CastExpression__TypeAssignment_1_2"
30326 // InternalSolverLanguageParser.g:9997:1: rule__CastExpression__TypeAssignment_1_2 : ( ( ruleQualifiedName ) ) ;
30327 public final void rule__CastExpression__TypeAssignment_1_2() throws RecognitionException {
30328
30329 int stackSize = keepStackSize();
30330
30331 try {
30332 // InternalSolverLanguageParser.g:10001:1: ( ( ( ruleQualifiedName ) ) )
30333 // InternalSolverLanguageParser.g:10002:2: ( ( ruleQualifiedName ) )
30334 {
30335 // InternalSolverLanguageParser.g:10002:2: ( ( ruleQualifiedName ) )
30336 // InternalSolverLanguageParser.g:10003:3: ( ruleQualifiedName )
30337 {
30338 before(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
30339 // InternalSolverLanguageParser.g:10004:3: ( ruleQualifiedName )
30340 // InternalSolverLanguageParser.g:10005:4: ruleQualifiedName
30341 {
30342 before(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1());
30343 pushFollow(FOLLOW_2);
30344 ruleQualifiedName();
30345
30346 state._fsp--;
30347
30348 after(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1());
30349
30350 }
30351
30352 after(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
30353
30354 }
30355
30356
30357 }
30358
30359 }
30360 catch (RecognitionException re) {
30361 reportError(re);
30362 recover(input,re);
30363 }
30364 finally {
30365
30366 restoreStackSize(stackSize);
30367
30368 }
30369 return ;
30370 }
30371 // $ANTLR end "rule__CastExpression__TypeAssignment_1_2"
30372
30373
24984 // $ANTLR start "rule__UnaryExpression__OpAssignment_1_1" 30374 // $ANTLR start "rule__UnaryExpression__OpAssignment_1_1"
24985 // InternalSolverLanguageParser.g:8198:1: rule__UnaryExpression__OpAssignment_1_1 : ( ruleUnaryOp ) ; 30375 // InternalSolverLanguageParser.g:10016:1: rule__UnaryExpression__OpAssignment_1_1 : ( ruleUnaryOp ) ;
24986 public final void rule__UnaryExpression__OpAssignment_1_1() throws RecognitionException { 30376 public final void rule__UnaryExpression__OpAssignment_1_1() throws RecognitionException {
24987 30377
24988 int stackSize = keepStackSize(); 30378 int stackSize = keepStackSize();
24989 30379
24990 try { 30380 try {
24991 // InternalSolverLanguageParser.g:8202:1: ( ( ruleUnaryOp ) ) 30381 // InternalSolverLanguageParser.g:10020:1: ( ( ruleUnaryOp ) )
24992 // InternalSolverLanguageParser.g:8203:2: ( ruleUnaryOp ) 30382 // InternalSolverLanguageParser.g:10021:2: ( ruleUnaryOp )
24993 { 30383 {
24994 // InternalSolverLanguageParser.g:8203:2: ( ruleUnaryOp ) 30384 // InternalSolverLanguageParser.g:10021:2: ( ruleUnaryOp )
24995 // InternalSolverLanguageParser.g:8204:3: ruleUnaryOp 30385 // InternalSolverLanguageParser.g:10022:3: ruleUnaryOp
24996 { 30386 {
24997 before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 30387 before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
24998 pushFollow(FOLLOW_2); 30388 pushFollow(FOLLOW_2);
@@ -25023,17 +30413,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25023 30413
25024 30414
25025 // $ANTLR start "rule__UnaryExpression__BodyAssignment_1_2" 30415 // $ANTLR start "rule__UnaryExpression__BodyAssignment_1_2"
25026 // InternalSolverLanguageParser.g:8213:1: rule__UnaryExpression__BodyAssignment_1_2 : ( ruleAggregationExpression ) ; 30416 // InternalSolverLanguageParser.g:10031:1: rule__UnaryExpression__BodyAssignment_1_2 : ( ruleAggregationExpression ) ;
25027 public final void rule__UnaryExpression__BodyAssignment_1_2() throws RecognitionException { 30417 public final void rule__UnaryExpression__BodyAssignment_1_2() throws RecognitionException {
25028 30418
25029 int stackSize = keepStackSize(); 30419 int stackSize = keepStackSize();
25030 30420
25031 try { 30421 try {
25032 // InternalSolverLanguageParser.g:8217:1: ( ( ruleAggregationExpression ) ) 30422 // InternalSolverLanguageParser.g:10035:1: ( ( ruleAggregationExpression ) )
25033 // InternalSolverLanguageParser.g:8218:2: ( ruleAggregationExpression ) 30423 // InternalSolverLanguageParser.g:10036:2: ( ruleAggregationExpression )
25034 { 30424 {
25035 // InternalSolverLanguageParser.g:8218:2: ( ruleAggregationExpression ) 30425 // InternalSolverLanguageParser.g:10036:2: ( ruleAggregationExpression )
25036 // InternalSolverLanguageParser.g:8219:3: ruleAggregationExpression 30426 // InternalSolverLanguageParser.g:10037:3: ruleAggregationExpression
25037 { 30427 {
25038 before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 30428 before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
25039 pushFollow(FOLLOW_2); 30429 pushFollow(FOLLOW_2);
@@ -25063,26 +30453,190 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25063 // $ANTLR end "rule__UnaryExpression__BodyAssignment_1_2" 30453 // $ANTLR end "rule__UnaryExpression__BodyAssignment_1_2"
25064 30454
25065 30455
25066 // $ANTLR start "rule__Count__BodyAssignment_2" 30456 // $ANTLR start "rule__LocalVariables__VariablesAssignment_2_0"
25067 // InternalSolverLanguageParser.g:8228:1: rule__Count__BodyAssignment_2 : ( ruleExpression ) ; 30457 // InternalSolverLanguageParser.g:10046:1: rule__LocalVariables__VariablesAssignment_2_0 : ( ruleVariable ) ;
25068 public final void rule__Count__BodyAssignment_2() throws RecognitionException { 30458 public final void rule__LocalVariables__VariablesAssignment_2_0() throws RecognitionException {
30459
30460 int stackSize = keepStackSize();
30461
30462 try {
30463 // InternalSolverLanguageParser.g:10050:1: ( ( ruleVariable ) )
30464 // InternalSolverLanguageParser.g:10051:2: ( ruleVariable )
30465 {
30466 // InternalSolverLanguageParser.g:10051:2: ( ruleVariable )
30467 // InternalSolverLanguageParser.g:10052:3: ruleVariable
30468 {
30469 before(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
30470 pushFollow(FOLLOW_2);
30471 ruleVariable();
30472
30473 state._fsp--;
30474
30475 after(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
30476
30477 }
30478
30479
30480 }
30481
30482 }
30483 catch (RecognitionException re) {
30484 reportError(re);
30485 recover(input,re);
30486 }
30487 finally {
30488
30489 restoreStackSize(stackSize);
30490
30491 }
30492 return ;
30493 }
30494 // $ANTLR end "rule__LocalVariables__VariablesAssignment_2_0"
30495
30496
30497 // $ANTLR start "rule__LocalVariables__VariablesAssignment_2_1_1"
30498 // InternalSolverLanguageParser.g:10061:1: rule__LocalVariables__VariablesAssignment_2_1_1 : ( ruleVariable ) ;
30499 public final void rule__LocalVariables__VariablesAssignment_2_1_1() throws RecognitionException {
30500
30501 int stackSize = keepStackSize();
30502
30503 try {
30504 // InternalSolverLanguageParser.g:10065:1: ( ( ruleVariable ) )
30505 // InternalSolverLanguageParser.g:10066:2: ( ruleVariable )
30506 {
30507 // InternalSolverLanguageParser.g:10066:2: ( ruleVariable )
30508 // InternalSolverLanguageParser.g:10067:3: ruleVariable
30509 {
30510 before(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
30511 pushFollow(FOLLOW_2);
30512 ruleVariable();
30513
30514 state._fsp--;
30515
30516 after(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
30517
30518 }
30519
30520
30521 }
30522
30523 }
30524 catch (RecognitionException re) {
30525 reportError(re);
30526 recover(input,re);
30527 }
30528 finally {
30529
30530 restoreStackSize(stackSize);
30531
30532 }
30533 return ;
30534 }
30535 // $ANTLR end "rule__LocalVariables__VariablesAssignment_2_1_1"
30536
30537
30538 // $ANTLR start "rule__QuantifiedExpression__QuantifierAssignment_0"
30539 // InternalSolverLanguageParser.g:10076:1: rule__QuantifiedExpression__QuantifierAssignment_0 : ( ruleQuantifier ) ;
30540 public final void rule__QuantifiedExpression__QuantifierAssignment_0() throws RecognitionException {
25069 30541
25070 int stackSize = keepStackSize(); 30542 int stackSize = keepStackSize();
25071 30543
25072 try { 30544 try {
25073 // InternalSolverLanguageParser.g:8232:1: ( ( ruleExpression ) ) 30545 // InternalSolverLanguageParser.g:10080:1: ( ( ruleQuantifier ) )
25074 // InternalSolverLanguageParser.g:8233:2: ( ruleExpression ) 30546 // InternalSolverLanguageParser.g:10081:2: ( ruleQuantifier )
25075 { 30547 {
25076 // InternalSolverLanguageParser.g:8233:2: ( ruleExpression ) 30548 // InternalSolverLanguageParser.g:10081:2: ( ruleQuantifier )
25077 // InternalSolverLanguageParser.g:8234:3: ruleExpression 30549 // InternalSolverLanguageParser.g:10082:3: ruleQuantifier
25078 { 30550 {
25079 before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 30551 before(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
30552 pushFollow(FOLLOW_2);
30553 ruleQuantifier();
30554
30555 state._fsp--;
30556
30557 after(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
30558
30559 }
30560
30561
30562 }
30563
30564 }
30565 catch (RecognitionException re) {
30566 reportError(re);
30567 recover(input,re);
30568 }
30569 finally {
30570
30571 restoreStackSize(stackSize);
30572
30573 }
30574 return ;
30575 }
30576 // $ANTLR end "rule__QuantifiedExpression__QuantifierAssignment_0"
30577
30578
30579 // $ANTLR start "rule__QuantifiedExpression__LocalVariablesAssignment_1"
30580 // InternalSolverLanguageParser.g:10091:1: rule__QuantifiedExpression__LocalVariablesAssignment_1 : ( ruleLocalVariables ) ;
30581 public final void rule__QuantifiedExpression__LocalVariablesAssignment_1() throws RecognitionException {
30582
30583 int stackSize = keepStackSize();
30584
30585 try {
30586 // InternalSolverLanguageParser.g:10095:1: ( ( ruleLocalVariables ) )
30587 // InternalSolverLanguageParser.g:10096:2: ( ruleLocalVariables )
30588 {
30589 // InternalSolverLanguageParser.g:10096:2: ( ruleLocalVariables )
30590 // InternalSolverLanguageParser.g:10097:3: ruleLocalVariables
30591 {
30592 before(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
30593 pushFollow(FOLLOW_2);
30594 ruleLocalVariables();
30595
30596 state._fsp--;
30597
30598 after(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
30599
30600 }
30601
30602
30603 }
30604
30605 }
30606 catch (RecognitionException re) {
30607 reportError(re);
30608 recover(input,re);
30609 }
30610 finally {
30611
30612 restoreStackSize(stackSize);
30613
30614 }
30615 return ;
30616 }
30617 // $ANTLR end "rule__QuantifiedExpression__LocalVariablesAssignment_1"
30618
30619
30620 // $ANTLR start "rule__QuantifiedExpression__BodyAssignment_3"
30621 // InternalSolverLanguageParser.g:10106:1: rule__QuantifiedExpression__BodyAssignment_3 : ( ruleExpression ) ;
30622 public final void rule__QuantifiedExpression__BodyAssignment_3() throws RecognitionException {
30623
30624 int stackSize = keepStackSize();
30625
30626 try {
30627 // InternalSolverLanguageParser.g:10110:1: ( ( ruleExpression ) )
30628 // InternalSolverLanguageParser.g:10111:2: ( ruleExpression )
30629 {
30630 // InternalSolverLanguageParser.g:10111:2: ( ruleExpression )
30631 // InternalSolverLanguageParser.g:10112:3: ruleExpression
30632 {
30633 before(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
25080 pushFollow(FOLLOW_2); 30634 pushFollow(FOLLOW_2);
25081 ruleExpression(); 30635 ruleExpression();
25082 30636
25083 state._fsp--; 30637 state._fsp--;
25084 30638
25085 after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 30639 after(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
25086 30640
25087 } 30641 }
25088 30642
@@ -25101,29 +30655,37 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25101 } 30655 }
25102 return ; 30656 return ;
25103 } 30657 }
25104 // $ANTLR end "rule__Count__BodyAssignment_2" 30658 // $ANTLR end "rule__QuantifiedExpression__BodyAssignment_3"
25105 30659
25106 30660
25107 // $ANTLR start "rule__Aggregation__OpAssignment_0" 30661 // $ANTLR start "rule__Aggregation__OpAssignment_0"
25108 // InternalSolverLanguageParser.g:8243:1: rule__Aggregation__OpAssignment_0 : ( ruleAggregationOp ) ; 30662 // InternalSolverLanguageParser.g:10121:1: rule__Aggregation__OpAssignment_0 : ( ( ruleQualifiedName ) ) ;
25109 public final void rule__Aggregation__OpAssignment_0() throws RecognitionException { 30663 public final void rule__Aggregation__OpAssignment_0() throws RecognitionException {
25110 30664
25111 int stackSize = keepStackSize(); 30665 int stackSize = keepStackSize();
25112 30666
25113 try { 30667 try {
25114 // InternalSolverLanguageParser.g:8247:1: ( ( ruleAggregationOp ) ) 30668 // InternalSolverLanguageParser.g:10125:1: ( ( ( ruleQualifiedName ) ) )
25115 // InternalSolverLanguageParser.g:8248:2: ( ruleAggregationOp ) 30669 // InternalSolverLanguageParser.g:10126:2: ( ( ruleQualifiedName ) )
25116 { 30670 {
25117 // InternalSolverLanguageParser.g:8248:2: ( ruleAggregationOp ) 30671 // InternalSolverLanguageParser.g:10126:2: ( ( ruleQualifiedName ) )
25118 // InternalSolverLanguageParser.g:8249:3: ruleAggregationOp 30672 // InternalSolverLanguageParser.g:10127:3: ( ruleQualifiedName )
25119 { 30673 {
25120 before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); 30674 before(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
30675 // InternalSolverLanguageParser.g:10128:3: ( ruleQualifiedName )
30676 // InternalSolverLanguageParser.g:10129:4: ruleQualifiedName
30677 {
30678 before(grammarAccess.getAggregationAccess().getOpNamedElementQualifiedNameParserRuleCall_0_0_1());
25121 pushFollow(FOLLOW_2); 30679 pushFollow(FOLLOW_2);
25122 ruleAggregationOp(); 30680 ruleQualifiedName();
25123 30681
25124 state._fsp--; 30682 state._fsp--;
25125 30683
25126 after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); 30684 after(grammarAccess.getAggregationAccess().getOpNamedElementQualifiedNameParserRuleCall_0_0_1());
30685
30686 }
30687
30688 after(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
25127 30689
25128 } 30690 }
25129 30691
@@ -25145,26 +30707,67 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25145 // $ANTLR end "rule__Aggregation__OpAssignment_0" 30707 // $ANTLR end "rule__Aggregation__OpAssignment_0"
25146 30708
25147 30709
25148 // $ANTLR start "rule__Aggregation__BodyAssignment_2" 30710 // $ANTLR start "rule__Aggregation__LocalVariablesAssignment_1"
25149 // InternalSolverLanguageParser.g:8258:1: rule__Aggregation__BodyAssignment_2 : ( ruleExpression ) ; 30711 // InternalSolverLanguageParser.g:10140:1: rule__Aggregation__LocalVariablesAssignment_1 : ( ruleLocalVariables ) ;
25150 public final void rule__Aggregation__BodyAssignment_2() throws RecognitionException { 30712 public final void rule__Aggregation__LocalVariablesAssignment_1() throws RecognitionException {
25151 30713
25152 int stackSize = keepStackSize(); 30714 int stackSize = keepStackSize();
25153 30715
25154 try { 30716 try {
25155 // InternalSolverLanguageParser.g:8262:1: ( ( ruleExpression ) ) 30717 // InternalSolverLanguageParser.g:10144:1: ( ( ruleLocalVariables ) )
25156 // InternalSolverLanguageParser.g:8263:2: ( ruleExpression ) 30718 // InternalSolverLanguageParser.g:10145:2: ( ruleLocalVariables )
25157 { 30719 {
25158 // InternalSolverLanguageParser.g:8263:2: ( ruleExpression ) 30720 // InternalSolverLanguageParser.g:10145:2: ( ruleLocalVariables )
25159 // InternalSolverLanguageParser.g:8264:3: ruleExpression 30721 // InternalSolverLanguageParser.g:10146:3: ruleLocalVariables
25160 { 30722 {
25161 before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 30723 before(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
30724 pushFollow(FOLLOW_2);
30725 ruleLocalVariables();
30726
30727 state._fsp--;
30728
30729 after(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
30730
30731 }
30732
30733
30734 }
30735
30736 }
30737 catch (RecognitionException re) {
30738 reportError(re);
30739 recover(input,re);
30740 }
30741 finally {
30742
30743 restoreStackSize(stackSize);
30744
30745 }
30746 return ;
30747 }
30748 // $ANTLR end "rule__Aggregation__LocalVariablesAssignment_1"
30749
30750
30751 // $ANTLR start "rule__Aggregation__BodyAssignment_3"
30752 // InternalSolverLanguageParser.g:10155:1: rule__Aggregation__BodyAssignment_3 : ( ruleExpression ) ;
30753 public final void rule__Aggregation__BodyAssignment_3() throws RecognitionException {
30754
30755 int stackSize = keepStackSize();
30756
30757 try {
30758 // InternalSolverLanguageParser.g:10159:1: ( ( ruleExpression ) )
30759 // InternalSolverLanguageParser.g:10160:2: ( ruleExpression )
30760 {
30761 // InternalSolverLanguageParser.g:10160:2: ( ruleExpression )
30762 // InternalSolverLanguageParser.g:10161:3: ruleExpression
30763 {
30764 before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
25162 pushFollow(FOLLOW_2); 30765 pushFollow(FOLLOW_2);
25163 ruleExpression(); 30766 ruleExpression();
25164 30767
25165 state._fsp--; 30768 state._fsp--;
25166 30769
25167 after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 30770 after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
25168 30771
25169 } 30772 }
25170 30773
@@ -25183,29 +30786,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25183 } 30786 }
25184 return ; 30787 return ;
25185 } 30788 }
25186 // $ANTLR end "rule__Aggregation__BodyAssignment_2" 30789 // $ANTLR end "rule__Aggregation__BodyAssignment_3"
25187 30790
25188 30791
25189 // $ANTLR start "rule__Aggregation__ConditionAssignment_4" 30792 // $ANTLR start "rule__Aggregation__ConditionAssignment_4_1"
25190 // InternalSolverLanguageParser.g:8273:1: rule__Aggregation__ConditionAssignment_4 : ( ruleExpression ) ; 30793 // InternalSolverLanguageParser.g:10170:1: rule__Aggregation__ConditionAssignment_4_1 : ( ruleExpression ) ;
25191 public final void rule__Aggregation__ConditionAssignment_4() throws RecognitionException { 30794 public final void rule__Aggregation__ConditionAssignment_4_1() throws RecognitionException {
25192 30795
25193 int stackSize = keepStackSize(); 30796 int stackSize = keepStackSize();
25194 30797
25195 try { 30798 try {
25196 // InternalSolverLanguageParser.g:8277:1: ( ( ruleExpression ) ) 30799 // InternalSolverLanguageParser.g:10174:1: ( ( ruleExpression ) )
25197 // InternalSolverLanguageParser.g:8278:2: ( ruleExpression ) 30800 // InternalSolverLanguageParser.g:10175:2: ( ruleExpression )
25198 { 30801 {
25199 // InternalSolverLanguageParser.g:8278:2: ( ruleExpression ) 30802 // InternalSolverLanguageParser.g:10175:2: ( ruleExpression )
25200 // InternalSolverLanguageParser.g:8279:3: ruleExpression 30803 // InternalSolverLanguageParser.g:10176:3: ruleExpression
25201 { 30804 {
25202 before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 30805 before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
25203 pushFollow(FOLLOW_2); 30806 pushFollow(FOLLOW_2);
25204 ruleExpression(); 30807 ruleExpression();
25205 30808
25206 state._fsp--; 30809 state._fsp--;
25207 30810
25208 after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 30811 after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
25209 30812
25210 } 30813 }
25211 30814
@@ -25224,21 +30827,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25224 } 30827 }
25225 return ; 30828 return ;
25226 } 30829 }
25227 // $ANTLR end "rule__Aggregation__ConditionAssignment_4" 30830 // $ANTLR end "rule__Aggregation__ConditionAssignment_4_1"
25228 30831
25229 30832
25230 // $ANTLR start "rule__Call__FunctorAssignment_0" 30833 // $ANTLR start "rule__Call__FunctorAssignment_0"
25231 // InternalSolverLanguageParser.g:8288:1: rule__Call__FunctorAssignment_0 : ( ruleReference ) ; 30834 // InternalSolverLanguageParser.g:10185:1: rule__Call__FunctorAssignment_0 : ( ruleReference ) ;
25232 public final void rule__Call__FunctorAssignment_0() throws RecognitionException { 30835 public final void rule__Call__FunctorAssignment_0() throws RecognitionException {
25233 30836
25234 int stackSize = keepStackSize(); 30837 int stackSize = keepStackSize();
25235 30838
25236 try { 30839 try {
25237 // InternalSolverLanguageParser.g:8292:1: ( ( ruleReference ) ) 30840 // InternalSolverLanguageParser.g:10189:1: ( ( ruleReference ) )
25238 // InternalSolverLanguageParser.g:8293:2: ( ruleReference ) 30841 // InternalSolverLanguageParser.g:10190:2: ( ruleReference )
25239 { 30842 {
25240 // InternalSolverLanguageParser.g:8293:2: ( ruleReference ) 30843 // InternalSolverLanguageParser.g:10190:2: ( ruleReference )
25241 // InternalSolverLanguageParser.g:8294:3: ruleReference 30844 // InternalSolverLanguageParser.g:10191:3: ruleReference
25242 { 30845 {
25243 before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); 30846 before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
25244 pushFollow(FOLLOW_2); 30847 pushFollow(FOLLOW_2);
@@ -25269,17 +30872,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25269 30872
25270 30873
25271 // $ANTLR start "rule__Call__TransitiveClosureAssignment_1_0" 30874 // $ANTLR start "rule__Call__TransitiveClosureAssignment_1_0"
25272 // InternalSolverLanguageParser.g:8303:1: rule__Call__TransitiveClosureAssignment_1_0 : ( RULE_TRANSITIVE_CLOSURE ) ; 30875 // InternalSolverLanguageParser.g:10200:1: rule__Call__TransitiveClosureAssignment_1_0 : ( RULE_TRANSITIVE_CLOSURE ) ;
25273 public final void rule__Call__TransitiveClosureAssignment_1_0() throws RecognitionException { 30876 public final void rule__Call__TransitiveClosureAssignment_1_0() throws RecognitionException {
25274 30877
25275 int stackSize = keepStackSize(); 30878 int stackSize = keepStackSize();
25276 30879
25277 try { 30880 try {
25278 // InternalSolverLanguageParser.g:8307:1: ( ( RULE_TRANSITIVE_CLOSURE ) ) 30881 // InternalSolverLanguageParser.g:10204:1: ( ( RULE_TRANSITIVE_CLOSURE ) )
25279 // InternalSolverLanguageParser.g:8308:2: ( RULE_TRANSITIVE_CLOSURE ) 30882 // InternalSolverLanguageParser.g:10205:2: ( RULE_TRANSITIVE_CLOSURE )
25280 { 30883 {
25281 // InternalSolverLanguageParser.g:8308:2: ( RULE_TRANSITIVE_CLOSURE ) 30884 // InternalSolverLanguageParser.g:10205:2: ( RULE_TRANSITIVE_CLOSURE )
25282 // InternalSolverLanguageParser.g:8309:3: RULE_TRANSITIVE_CLOSURE 30885 // InternalSolverLanguageParser.g:10206:3: RULE_TRANSITIVE_CLOSURE
25283 { 30886 {
25284 before(grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); 30887 before(grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0());
25285 match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_2); 30888 match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_2);
@@ -25306,17 +30909,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25306 30909
25307 30910
25308 // $ANTLR start "rule__Call__ReflexiveTransitiveClosureAssignment_1_1" 30911 // $ANTLR start "rule__Call__ReflexiveTransitiveClosureAssignment_1_1"
25309 // InternalSolverLanguageParser.g:8318:1: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 : ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ; 30912 // InternalSolverLanguageParser.g:10215:1: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 : ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ;
25310 public final void rule__Call__ReflexiveTransitiveClosureAssignment_1_1() throws RecognitionException { 30913 public final void rule__Call__ReflexiveTransitiveClosureAssignment_1_1() throws RecognitionException {
25311 30914
25312 int stackSize = keepStackSize(); 30915 int stackSize = keepStackSize();
25313 30916
25314 try { 30917 try {
25315 // InternalSolverLanguageParser.g:8322:1: ( ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 30918 // InternalSolverLanguageParser.g:10219:1: ( ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
25316 // InternalSolverLanguageParser.g:8323:2: ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 30919 // InternalSolverLanguageParser.g:10220:2: ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
25317 { 30920 {
25318 // InternalSolverLanguageParser.g:8323:2: ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 30921 // InternalSolverLanguageParser.g:10220:2: ( RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
25319 // InternalSolverLanguageParser.g:8324:3: RULE_REFLEXIVE_TRANSITIVE_CLOSURE 30922 // InternalSolverLanguageParser.g:10221:3: RULE_REFLEXIVE_TRANSITIVE_CLOSURE
25320 { 30923 {
25321 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); 30924 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0());
25322 match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_2); 30925 match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_2);
@@ -25343,17 +30946,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25343 30946
25344 30947
25345 // $ANTLR start "rule__Call__ArgumentListAssignment_2" 30948 // $ANTLR start "rule__Call__ArgumentListAssignment_2"
25346 // InternalSolverLanguageParser.g:8333:1: rule__Call__ArgumentListAssignment_2 : ( ruleArgumentList ) ; 30949 // InternalSolverLanguageParser.g:10230:1: rule__Call__ArgumentListAssignment_2 : ( ruleArgumentList ) ;
25347 public final void rule__Call__ArgumentListAssignment_2() throws RecognitionException { 30950 public final void rule__Call__ArgumentListAssignment_2() throws RecognitionException {
25348 30951
25349 int stackSize = keepStackSize(); 30952 int stackSize = keepStackSize();
25350 30953
25351 try { 30954 try {
25352 // InternalSolverLanguageParser.g:8337:1: ( ( ruleArgumentList ) ) 30955 // InternalSolverLanguageParser.g:10234:1: ( ( ruleArgumentList ) )
25353 // InternalSolverLanguageParser.g:8338:2: ( ruleArgumentList ) 30956 // InternalSolverLanguageParser.g:10235:2: ( ruleArgumentList )
25354 { 30957 {
25355 // InternalSolverLanguageParser.g:8338:2: ( ruleArgumentList ) 30958 // InternalSolverLanguageParser.g:10235:2: ( ruleArgumentList )
25356 // InternalSolverLanguageParser.g:8339:3: ruleArgumentList 30959 // InternalSolverLanguageParser.g:10236:3: ruleArgumentList
25357 { 30960 {
25358 before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 30961 before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
25359 pushFollow(FOLLOW_2); 30962 pushFollow(FOLLOW_2);
@@ -25384,17 +30987,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25384 30987
25385 30988
25386 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_0" 30989 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_0"
25387 // InternalSolverLanguageParser.g:8348:1: rule__ArgumentList__ArgumentsAssignment_2_0 : ( ruleArgument ) ; 30990 // InternalSolverLanguageParser.g:10245:1: rule__ArgumentList__ArgumentsAssignment_2_0 : ( ruleArgument ) ;
25388 public final void rule__ArgumentList__ArgumentsAssignment_2_0() throws RecognitionException { 30991 public final void rule__ArgumentList__ArgumentsAssignment_2_0() throws RecognitionException {
25389 30992
25390 int stackSize = keepStackSize(); 30993 int stackSize = keepStackSize();
25391 30994
25392 try { 30995 try {
25393 // InternalSolverLanguageParser.g:8352:1: ( ( ruleArgument ) ) 30996 // InternalSolverLanguageParser.g:10249:1: ( ( ruleArgument ) )
25394 // InternalSolverLanguageParser.g:8353:2: ( ruleArgument ) 30997 // InternalSolverLanguageParser.g:10250:2: ( ruleArgument )
25395 { 30998 {
25396 // InternalSolverLanguageParser.g:8353:2: ( ruleArgument ) 30999 // InternalSolverLanguageParser.g:10250:2: ( ruleArgument )
25397 // InternalSolverLanguageParser.g:8354:3: ruleArgument 31000 // InternalSolverLanguageParser.g:10251:3: ruleArgument
25398 { 31001 {
25399 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); 31002 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
25400 pushFollow(FOLLOW_2); 31003 pushFollow(FOLLOW_2);
@@ -25425,17 +31028,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25425 31028
25426 31029
25427 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_1_1" 31030 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_1_1"
25428 // InternalSolverLanguageParser.g:8363:1: rule__ArgumentList__ArgumentsAssignment_2_1_1 : ( ruleArgument ) ; 31031 // InternalSolverLanguageParser.g:10260:1: rule__ArgumentList__ArgumentsAssignment_2_1_1 : ( ruleArgument ) ;
25429 public final void rule__ArgumentList__ArgumentsAssignment_2_1_1() throws RecognitionException { 31032 public final void rule__ArgumentList__ArgumentsAssignment_2_1_1() throws RecognitionException {
25430 31033
25431 int stackSize = keepStackSize(); 31034 int stackSize = keepStackSize();
25432 31035
25433 try { 31036 try {
25434 // InternalSolverLanguageParser.g:8367:1: ( ( ruleArgument ) ) 31037 // InternalSolverLanguageParser.g:10264:1: ( ( ruleArgument ) )
25435 // InternalSolverLanguageParser.g:8368:2: ( ruleArgument ) 31038 // InternalSolverLanguageParser.g:10265:2: ( ruleArgument )
25436 { 31039 {
25437 // InternalSolverLanguageParser.g:8368:2: ( ruleArgument ) 31040 // InternalSolverLanguageParser.g:10265:2: ( ruleArgument )
25438 // InternalSolverLanguageParser.g:8369:3: ruleArgument 31041 // InternalSolverLanguageParser.g:10266:3: ruleArgument
25439 { 31042 {
25440 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); 31043 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
25441 pushFollow(FOLLOW_2); 31044 pushFollow(FOLLOW_2);
@@ -25466,17 +31069,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25466 31069
25467 31070
25468 // $ANTLR start "rule__ExpressionArgument__BodyAssignment" 31071 // $ANTLR start "rule__ExpressionArgument__BodyAssignment"
25469 // InternalSolverLanguageParser.g:8378:1: rule__ExpressionArgument__BodyAssignment : ( ruleComparisonExpression ) ; 31072 // InternalSolverLanguageParser.g:10275:1: rule__ExpressionArgument__BodyAssignment : ( ruleComparisonExpression ) ;
25470 public final void rule__ExpressionArgument__BodyAssignment() throws RecognitionException { 31073 public final void rule__ExpressionArgument__BodyAssignment() throws RecognitionException {
25471 31074
25472 int stackSize = keepStackSize(); 31075 int stackSize = keepStackSize();
25473 31076
25474 try { 31077 try {
25475 // InternalSolverLanguageParser.g:8382:1: ( ( ruleComparisonExpression ) ) 31078 // InternalSolverLanguageParser.g:10279:1: ( ( ruleComparisonExpression ) )
25476 // InternalSolverLanguageParser.g:8383:2: ( ruleComparisonExpression ) 31079 // InternalSolverLanguageParser.g:10280:2: ( ruleComparisonExpression )
25477 { 31080 {
25478 // InternalSolverLanguageParser.g:8383:2: ( ruleComparisonExpression ) 31081 // InternalSolverLanguageParser.g:10280:2: ( ruleComparisonExpression )
25479 // InternalSolverLanguageParser.g:8384:3: ruleComparisonExpression 31082 // InternalSolverLanguageParser.g:10281:3: ruleComparisonExpression
25480 { 31083 {
25481 before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 31084 before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
25482 pushFollow(FOLLOW_2); 31085 pushFollow(FOLLOW_2);
@@ -25507,21 +31110,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25507 31110
25508 31111
25509 // $ANTLR start "rule__TypedArgument__TypeAssignment_0" 31112 // $ANTLR start "rule__TypedArgument__TypeAssignment_0"
25510 // InternalSolverLanguageParser.g:8393:1: rule__TypedArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; 31113 // InternalSolverLanguageParser.g:10290:1: rule__TypedArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
25511 public final void rule__TypedArgument__TypeAssignment_0() throws RecognitionException { 31114 public final void rule__TypedArgument__TypeAssignment_0() throws RecognitionException {
25512 31115
25513 int stackSize = keepStackSize(); 31116 int stackSize = keepStackSize();
25514 31117
25515 try { 31118 try {
25516 // InternalSolverLanguageParser.g:8397:1: ( ( ( ruleQualifiedName ) ) ) 31119 // InternalSolverLanguageParser.g:10294:1: ( ( ( ruleQualifiedName ) ) )
25517 // InternalSolverLanguageParser.g:8398:2: ( ( ruleQualifiedName ) ) 31120 // InternalSolverLanguageParser.g:10295:2: ( ( ruleQualifiedName ) )
25518 { 31121 {
25519 // InternalSolverLanguageParser.g:8398:2: ( ( ruleQualifiedName ) ) 31122 // InternalSolverLanguageParser.g:10295:2: ( ( ruleQualifiedName ) )
25520 // InternalSolverLanguageParser.g:8399:3: ( ruleQualifiedName ) 31123 // InternalSolverLanguageParser.g:10296:3: ( ruleQualifiedName )
25521 { 31124 {
25522 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); 31125 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
25523 // InternalSolverLanguageParser.g:8400:3: ( ruleQualifiedName ) 31126 // InternalSolverLanguageParser.g:10297:3: ( ruleQualifiedName )
25524 // InternalSolverLanguageParser.g:8401:4: ruleQualifiedName 31127 // InternalSolverLanguageParser.g:10298:4: ruleQualifiedName
25525 { 31128 {
25526 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); 31129 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
25527 pushFollow(FOLLOW_2); 31130 pushFollow(FOLLOW_2);
@@ -25556,21 +31159,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25556 31159
25557 31160
25558 // $ANTLR start "rule__TypedArgument__VariableAssignment_1" 31161 // $ANTLR start "rule__TypedArgument__VariableAssignment_1"
25559 // InternalSolverLanguageParser.g:8412:1: rule__TypedArgument__VariableAssignment_1 : ( ( ruleQualifiedName ) ) ; 31162 // InternalSolverLanguageParser.g:10309:1: rule__TypedArgument__VariableAssignment_1 : ( ( ruleQualifiedName ) ) ;
25560 public final void rule__TypedArgument__VariableAssignment_1() throws RecognitionException { 31163 public final void rule__TypedArgument__VariableAssignment_1() throws RecognitionException {
25561 31164
25562 int stackSize = keepStackSize(); 31165 int stackSize = keepStackSize();
25563 31166
25564 try { 31167 try {
25565 // InternalSolverLanguageParser.g:8416:1: ( ( ( ruleQualifiedName ) ) ) 31168 // InternalSolverLanguageParser.g:10313:1: ( ( ( ruleQualifiedName ) ) )
25566 // InternalSolverLanguageParser.g:8417:2: ( ( ruleQualifiedName ) ) 31169 // InternalSolverLanguageParser.g:10314:2: ( ( ruleQualifiedName ) )
25567 { 31170 {
25568 // InternalSolverLanguageParser.g:8417:2: ( ( ruleQualifiedName ) ) 31171 // InternalSolverLanguageParser.g:10314:2: ( ( ruleQualifiedName ) )
25569 // InternalSolverLanguageParser.g:8418:3: ( ruleQualifiedName ) 31172 // InternalSolverLanguageParser.g:10315:3: ( ruleQualifiedName )
25570 { 31173 {
25571 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); 31174 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
25572 // InternalSolverLanguageParser.g:8419:3: ( ruleQualifiedName ) 31175 // InternalSolverLanguageParser.g:10316:3: ( ruleQualifiedName )
25573 // InternalSolverLanguageParser.g:8420:4: ruleQualifiedName 31176 // InternalSolverLanguageParser.g:10317:4: ruleQualifiedName
25574 { 31177 {
25575 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); 31178 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1());
25576 pushFollow(FOLLOW_2); 31179 pushFollow(FOLLOW_2);
@@ -25605,21 +31208,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25605 31208
25606 31209
25607 // $ANTLR start "rule__TypedStarArgument__TypeAssignment_0" 31210 // $ANTLR start "rule__TypedStarArgument__TypeAssignment_0"
25608 // InternalSolverLanguageParser.g:8431:1: rule__TypedStarArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; 31211 // InternalSolverLanguageParser.g:10328:1: rule__TypedStarArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
25609 public final void rule__TypedStarArgument__TypeAssignment_0() throws RecognitionException { 31212 public final void rule__TypedStarArgument__TypeAssignment_0() throws RecognitionException {
25610 31213
25611 int stackSize = keepStackSize(); 31214 int stackSize = keepStackSize();
25612 31215
25613 try { 31216 try {
25614 // InternalSolverLanguageParser.g:8435:1: ( ( ( ruleQualifiedName ) ) ) 31217 // InternalSolverLanguageParser.g:10332:1: ( ( ( ruleQualifiedName ) ) )
25615 // InternalSolverLanguageParser.g:8436:2: ( ( ruleQualifiedName ) ) 31218 // InternalSolverLanguageParser.g:10333:2: ( ( ruleQualifiedName ) )
25616 { 31219 {
25617 // InternalSolverLanguageParser.g:8436:2: ( ( ruleQualifiedName ) ) 31220 // InternalSolverLanguageParser.g:10333:2: ( ( ruleQualifiedName ) )
25618 // InternalSolverLanguageParser.g:8437:3: ( ruleQualifiedName ) 31221 // InternalSolverLanguageParser.g:10334:3: ( ruleQualifiedName )
25619 { 31222 {
25620 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); 31223 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
25621 // InternalSolverLanguageParser.g:8438:3: ( ruleQualifiedName ) 31224 // InternalSolverLanguageParser.g:10335:3: ( ruleQualifiedName )
25622 // InternalSolverLanguageParser.g:8439:4: ruleQualifiedName 31225 // InternalSolverLanguageParser.g:10336:4: ruleQualifiedName
25623 { 31226 {
25624 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); 31227 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
25625 pushFollow(FOLLOW_2); 31228 pushFollow(FOLLOW_2);
@@ -25654,21 +31257,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25654 31257
25655 31258
25656 // $ANTLR start "rule__Reference__ReferredAssignment" 31259 // $ANTLR start "rule__Reference__ReferredAssignment"
25657 // InternalSolverLanguageParser.g:8450:1: rule__Reference__ReferredAssignment : ( ( ruleQualifiedName ) ) ; 31260 // InternalSolverLanguageParser.g:10347:1: rule__Reference__ReferredAssignment : ( ( ruleQualifiedName ) ) ;
25658 public final void rule__Reference__ReferredAssignment() throws RecognitionException { 31261 public final void rule__Reference__ReferredAssignment() throws RecognitionException {
25659 31262
25660 int stackSize = keepStackSize(); 31263 int stackSize = keepStackSize();
25661 31264
25662 try { 31265 try {
25663 // InternalSolverLanguageParser.g:8454:1: ( ( ( ruleQualifiedName ) ) ) 31266 // InternalSolverLanguageParser.g:10351:1: ( ( ( ruleQualifiedName ) ) )
25664 // InternalSolverLanguageParser.g:8455:2: ( ( ruleQualifiedName ) ) 31267 // InternalSolverLanguageParser.g:10352:2: ( ( ruleQualifiedName ) )
25665 { 31268 {
25666 // InternalSolverLanguageParser.g:8455:2: ( ( ruleQualifiedName ) ) 31269 // InternalSolverLanguageParser.g:10352:2: ( ( ruleQualifiedName ) )
25667 // InternalSolverLanguageParser.g:8456:3: ( ruleQualifiedName ) 31270 // InternalSolverLanguageParser.g:10353:3: ( ruleQualifiedName )
25668 { 31271 {
25669 before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); 31272 before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0());
25670 // InternalSolverLanguageParser.g:8457:3: ( ruleQualifiedName ) 31273 // InternalSolverLanguageParser.g:10354:3: ( ruleQualifiedName )
25671 // InternalSolverLanguageParser.g:8458:4: ruleQualifiedName 31274 // InternalSolverLanguageParser.g:10355:4: ruleQualifiedName
25672 { 31275 {
25673 before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); 31276 before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1());
25674 pushFollow(FOLLOW_2); 31277 pushFollow(FOLLOW_2);
@@ -25703,17 +31306,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25703 31306
25704 31307
25705 // $ANTLR start "rule__Interval__LowerBoundAssignment_1" 31308 // $ANTLR start "rule__Interval__LowerBoundAssignment_1"
25706 // InternalSolverLanguageParser.g:8469:1: rule__Interval__LowerBoundAssignment_1 : ( ruleExpression ) ; 31309 // InternalSolverLanguageParser.g:10366:1: rule__Interval__LowerBoundAssignment_1 : ( ruleExpression ) ;
25707 public final void rule__Interval__LowerBoundAssignment_1() throws RecognitionException { 31310 public final void rule__Interval__LowerBoundAssignment_1() throws RecognitionException {
25708 31311
25709 int stackSize = keepStackSize(); 31312 int stackSize = keepStackSize();
25710 31313
25711 try { 31314 try {
25712 // InternalSolverLanguageParser.g:8473:1: ( ( ruleExpression ) ) 31315 // InternalSolverLanguageParser.g:10370:1: ( ( ruleExpression ) )
25713 // InternalSolverLanguageParser.g:8474:2: ( ruleExpression ) 31316 // InternalSolverLanguageParser.g:10371:2: ( ruleExpression )
25714 { 31317 {
25715 // InternalSolverLanguageParser.g:8474:2: ( ruleExpression ) 31318 // InternalSolverLanguageParser.g:10371:2: ( ruleExpression )
25716 // InternalSolverLanguageParser.g:8475:3: ruleExpression 31319 // InternalSolverLanguageParser.g:10372:3: ruleExpression
25717 { 31320 {
25718 before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 31321 before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
25719 pushFollow(FOLLOW_2); 31322 pushFollow(FOLLOW_2);
@@ -25744,17 +31347,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25744 31347
25745 31348
25746 // $ANTLR start "rule__Interval__UpperBoundAssignment_3" 31349 // $ANTLR start "rule__Interval__UpperBoundAssignment_3"
25747 // InternalSolverLanguageParser.g:8484:1: rule__Interval__UpperBoundAssignment_3 : ( ruleExpression ) ; 31350 // InternalSolverLanguageParser.g:10381:1: rule__Interval__UpperBoundAssignment_3 : ( ruleExpression ) ;
25748 public final void rule__Interval__UpperBoundAssignment_3() throws RecognitionException { 31351 public final void rule__Interval__UpperBoundAssignment_3() throws RecognitionException {
25749 31352
25750 int stackSize = keepStackSize(); 31353 int stackSize = keepStackSize();
25751 31354
25752 try { 31355 try {
25753 // InternalSolverLanguageParser.g:8488:1: ( ( ruleExpression ) ) 31356 // InternalSolverLanguageParser.g:10385:1: ( ( ruleExpression ) )
25754 // InternalSolverLanguageParser.g:8489:2: ( ruleExpression ) 31357 // InternalSolverLanguageParser.g:10386:2: ( ruleExpression )
25755 { 31358 {
25756 // InternalSolverLanguageParser.g:8489:2: ( ruleExpression ) 31359 // InternalSolverLanguageParser.g:10386:2: ( ruleExpression )
25757 // InternalSolverLanguageParser.g:8490:3: ruleExpression 31360 // InternalSolverLanguageParser.g:10387:3: ruleExpression
25758 { 31361 {
25759 before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 31362 before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
25760 pushFollow(FOLLOW_2); 31363 pushFollow(FOLLOW_2);
@@ -25785,17 +31388,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25785 31388
25786 31389
25787 // $ANTLR start "rule__LogicLiteral__ValueAssignment" 31390 // $ANTLR start "rule__LogicLiteral__ValueAssignment"
25788 // InternalSolverLanguageParser.g:8499:1: rule__LogicLiteral__ValueAssignment : ( ruleLogicValue ) ; 31391 // InternalSolverLanguageParser.g:10396:1: rule__LogicLiteral__ValueAssignment : ( ruleLogicValue ) ;
25789 public final void rule__LogicLiteral__ValueAssignment() throws RecognitionException { 31392 public final void rule__LogicLiteral__ValueAssignment() throws RecognitionException {
25790 31393
25791 int stackSize = keepStackSize(); 31394 int stackSize = keepStackSize();
25792 31395
25793 try { 31396 try {
25794 // InternalSolverLanguageParser.g:8503:1: ( ( ruleLogicValue ) ) 31397 // InternalSolverLanguageParser.g:10400:1: ( ( ruleLogicValue ) )
25795 // InternalSolverLanguageParser.g:8504:2: ( ruleLogicValue ) 31398 // InternalSolverLanguageParser.g:10401:2: ( ruleLogicValue )
25796 { 31399 {
25797 // InternalSolverLanguageParser.g:8504:2: ( ruleLogicValue ) 31400 // InternalSolverLanguageParser.g:10401:2: ( ruleLogicValue )
25798 // InternalSolverLanguageParser.g:8505:3: ruleLogicValue 31401 // InternalSolverLanguageParser.g:10402:3: ruleLogicValue
25799 { 31402 {
25800 before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); 31403 before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
25801 pushFollow(FOLLOW_2); 31404 pushFollow(FOLLOW_2);
@@ -25826,17 +31429,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25826 31429
25827 31430
25828 // $ANTLR start "rule__NumericLiteral__ValueAssignment" 31431 // $ANTLR start "rule__NumericLiteral__ValueAssignment"
25829 // InternalSolverLanguageParser.g:8514:1: rule__NumericLiteral__ValueAssignment : ( ruleReal ) ; 31432 // InternalSolverLanguageParser.g:10411:1: rule__NumericLiteral__ValueAssignment : ( ruleReal ) ;
25830 public final void rule__NumericLiteral__ValueAssignment() throws RecognitionException { 31433 public final void rule__NumericLiteral__ValueAssignment() throws RecognitionException {
25831 31434
25832 int stackSize = keepStackSize(); 31435 int stackSize = keepStackSize();
25833 31436
25834 try { 31437 try {
25835 // InternalSolverLanguageParser.g:8518:1: ( ( ruleReal ) ) 31438 // InternalSolverLanguageParser.g:10415:1: ( ( ruleReal ) )
25836 // InternalSolverLanguageParser.g:8519:2: ( ruleReal ) 31439 // InternalSolverLanguageParser.g:10416:2: ( ruleReal )
25837 { 31440 {
25838 // InternalSolverLanguageParser.g:8519:2: ( ruleReal ) 31441 // InternalSolverLanguageParser.g:10416:2: ( ruleReal )
25839 // InternalSolverLanguageParser.g:8520:3: ruleReal 31442 // InternalSolverLanguageParser.g:10417:3: ruleReal
25840 { 31443 {
25841 before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 31444 before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
25842 pushFollow(FOLLOW_2); 31445 pushFollow(FOLLOW_2);
@@ -25867,17 +31470,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25867 31470
25868 31471
25869 // $ANTLR start "rule__StringLiteral__ValueAssignment" 31472 // $ANTLR start "rule__StringLiteral__ValueAssignment"
25870 // InternalSolverLanguageParser.g:8529:1: rule__StringLiteral__ValueAssignment : ( RULE_STRING ) ; 31473 // InternalSolverLanguageParser.g:10426:1: rule__StringLiteral__ValueAssignment : ( RULE_STRING ) ;
25871 public final void rule__StringLiteral__ValueAssignment() throws RecognitionException { 31474 public final void rule__StringLiteral__ValueAssignment() throws RecognitionException {
25872 31475
25873 int stackSize = keepStackSize(); 31476 int stackSize = keepStackSize();
25874 31477
25875 try { 31478 try {
25876 // InternalSolverLanguageParser.g:8533:1: ( ( RULE_STRING ) ) 31479 // InternalSolverLanguageParser.g:10430:1: ( ( RULE_STRING ) )
25877 // InternalSolverLanguageParser.g:8534:2: ( RULE_STRING ) 31480 // InternalSolverLanguageParser.g:10431:2: ( RULE_STRING )
25878 { 31481 {
25879 // InternalSolverLanguageParser.g:8534:2: ( RULE_STRING ) 31482 // InternalSolverLanguageParser.g:10431:2: ( RULE_STRING )
25880 // InternalSolverLanguageParser.g:8535:3: RULE_STRING 31483 // InternalSolverLanguageParser.g:10432:3: RULE_STRING
25881 { 31484 {
25882 before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); 31485 before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0());
25883 match(input,RULE_STRING,FOLLOW_2); 31486 match(input,RULE_STRING,FOLLOW_2);
@@ -25904,21 +31507,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25904 31507
25905 31508
25906 // $ANTLR start "rule__ClassDefinition__AbstractAssignment_0" 31509 // $ANTLR start "rule__ClassDefinition__AbstractAssignment_0"
25907 // InternalSolverLanguageParser.g:8544:1: rule__ClassDefinition__AbstractAssignment_0 : ( ( Abstract ) ) ; 31510 // InternalSolverLanguageParser.g:10441:1: rule__ClassDefinition__AbstractAssignment_0 : ( ( Abstract ) ) ;
25908 public final void rule__ClassDefinition__AbstractAssignment_0() throws RecognitionException { 31511 public final void rule__ClassDefinition__AbstractAssignment_0() throws RecognitionException {
25909 31512
25910 int stackSize = keepStackSize(); 31513 int stackSize = keepStackSize();
25911 31514
25912 try { 31515 try {
25913 // InternalSolverLanguageParser.g:8548:1: ( ( ( Abstract ) ) ) 31516 // InternalSolverLanguageParser.g:10445:1: ( ( ( Abstract ) ) )
25914 // InternalSolverLanguageParser.g:8549:2: ( ( Abstract ) ) 31517 // InternalSolverLanguageParser.g:10446:2: ( ( Abstract ) )
25915 { 31518 {
25916 // InternalSolverLanguageParser.g:8549:2: ( ( Abstract ) ) 31519 // InternalSolverLanguageParser.g:10446:2: ( ( Abstract ) )
25917 // InternalSolverLanguageParser.g:8550:3: ( Abstract ) 31520 // InternalSolverLanguageParser.g:10447:3: ( Abstract )
25918 { 31521 {
25919 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); 31522 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
25920 // InternalSolverLanguageParser.g:8551:3: ( Abstract ) 31523 // InternalSolverLanguageParser.g:10448:3: ( Abstract )
25921 // InternalSolverLanguageParser.g:8552:4: Abstract 31524 // InternalSolverLanguageParser.g:10449:4: Abstract
25922 { 31525 {
25923 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); 31526 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
25924 match(input,Abstract,FOLLOW_2); 31527 match(input,Abstract,FOLLOW_2);
@@ -25949,17 +31552,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25949 31552
25950 31553
25951 // $ANTLR start "rule__ClassDefinition__NameAssignment_2" 31554 // $ANTLR start "rule__ClassDefinition__NameAssignment_2"
25952 // InternalSolverLanguageParser.g:8563:1: rule__ClassDefinition__NameAssignment_2 : ( RULE_ID ) ; 31555 // InternalSolverLanguageParser.g:10460:1: rule__ClassDefinition__NameAssignment_2 : ( RULE_ID ) ;
25953 public final void rule__ClassDefinition__NameAssignment_2() throws RecognitionException { 31556 public final void rule__ClassDefinition__NameAssignment_2() throws RecognitionException {
25954 31557
25955 int stackSize = keepStackSize(); 31558 int stackSize = keepStackSize();
25956 31559
25957 try { 31560 try {
25958 // InternalSolverLanguageParser.g:8567:1: ( ( RULE_ID ) ) 31561 // InternalSolverLanguageParser.g:10464:1: ( ( RULE_ID ) )
25959 // InternalSolverLanguageParser.g:8568:2: ( RULE_ID ) 31562 // InternalSolverLanguageParser.g:10465:2: ( RULE_ID )
25960 { 31563 {
25961 // InternalSolverLanguageParser.g:8568:2: ( RULE_ID ) 31564 // InternalSolverLanguageParser.g:10465:2: ( RULE_ID )
25962 // InternalSolverLanguageParser.g:8569:3: RULE_ID 31565 // InternalSolverLanguageParser.g:10466:3: RULE_ID
25963 { 31566 {
25964 before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 31567 before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
25965 match(input,RULE_ID,FOLLOW_2); 31568 match(input,RULE_ID,FOLLOW_2);
@@ -25986,21 +31589,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
25986 31589
25987 31590
25988 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_1" 31591 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_1"
25989 // InternalSolverLanguageParser.g:8578:1: rule__ClassDefinition__SuperclassesAssignment_3_1 : ( ( ruleQualifiedName ) ) ; 31592 // InternalSolverLanguageParser.g:10475:1: rule__ClassDefinition__SuperclassesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
25990 public final void rule__ClassDefinition__SuperclassesAssignment_3_1() throws RecognitionException { 31593 public final void rule__ClassDefinition__SuperclassesAssignment_3_1() throws RecognitionException {
25991 31594
25992 int stackSize = keepStackSize(); 31595 int stackSize = keepStackSize();
25993 31596
25994 try { 31597 try {
25995 // InternalSolverLanguageParser.g:8582:1: ( ( ( ruleQualifiedName ) ) ) 31598 // InternalSolverLanguageParser.g:10479:1: ( ( ( ruleQualifiedName ) ) )
25996 // InternalSolverLanguageParser.g:8583:2: ( ( ruleQualifiedName ) ) 31599 // InternalSolverLanguageParser.g:10480:2: ( ( ruleQualifiedName ) )
25997 { 31600 {
25998 // InternalSolverLanguageParser.g:8583:2: ( ( ruleQualifiedName ) ) 31601 // InternalSolverLanguageParser.g:10480:2: ( ( ruleQualifiedName ) )
25999 // InternalSolverLanguageParser.g:8584:3: ( ruleQualifiedName ) 31602 // InternalSolverLanguageParser.g:10481:3: ( ruleQualifiedName )
26000 { 31603 {
26001 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 31604 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
26002 // InternalSolverLanguageParser.g:8585:3: ( ruleQualifiedName ) 31605 // InternalSolverLanguageParser.g:10482:3: ( ruleQualifiedName )
26003 // InternalSolverLanguageParser.g:8586:4: ruleQualifiedName 31606 // InternalSolverLanguageParser.g:10483:4: ruleQualifiedName
26004 { 31607 {
26005 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); 31608 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1());
26006 pushFollow(FOLLOW_2); 31609 pushFollow(FOLLOW_2);
@@ -26035,21 +31638,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26035 31638
26036 31639
26037 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_2_1" 31640 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_2_1"
26038 // InternalSolverLanguageParser.g:8597:1: rule__ClassDefinition__SuperclassesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ; 31641 // InternalSolverLanguageParser.g:10494:1: rule__ClassDefinition__SuperclassesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
26039 public final void rule__ClassDefinition__SuperclassesAssignment_3_2_1() throws RecognitionException { 31642 public final void rule__ClassDefinition__SuperclassesAssignment_3_2_1() throws RecognitionException {
26040 31643
26041 int stackSize = keepStackSize(); 31644 int stackSize = keepStackSize();
26042 31645
26043 try { 31646 try {
26044 // InternalSolverLanguageParser.g:8601:1: ( ( ( ruleQualifiedName ) ) ) 31647 // InternalSolverLanguageParser.g:10498:1: ( ( ( ruleQualifiedName ) ) )
26045 // InternalSolverLanguageParser.g:8602:2: ( ( ruleQualifiedName ) ) 31648 // InternalSolverLanguageParser.g:10499:2: ( ( ruleQualifiedName ) )
26046 { 31649 {
26047 // InternalSolverLanguageParser.g:8602:2: ( ( ruleQualifiedName ) ) 31650 // InternalSolverLanguageParser.g:10499:2: ( ( ruleQualifiedName ) )
26048 // InternalSolverLanguageParser.g:8603:3: ( ruleQualifiedName ) 31651 // InternalSolverLanguageParser.g:10500:3: ( ruleQualifiedName )
26049 { 31652 {
26050 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 31653 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
26051 // InternalSolverLanguageParser.g:8604:3: ( ruleQualifiedName ) 31654 // InternalSolverLanguageParser.g:10501:3: ( ruleQualifiedName )
26052 // InternalSolverLanguageParser.g:8605:4: ruleQualifiedName 31655 // InternalSolverLanguageParser.g:10502:4: ruleQualifiedName
26053 { 31656 {
26054 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); 31657 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1());
26055 pushFollow(FOLLOW_2); 31658 pushFollow(FOLLOW_2);
@@ -26084,17 +31687,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26084 31687
26085 31688
26086 // $ANTLR start "rule__ClassDefinition__MembersAssignment_5" 31689 // $ANTLR start "rule__ClassDefinition__MembersAssignment_5"
26087 // InternalSolverLanguageParser.g:8616:1: rule__ClassDefinition__MembersAssignment_5 : ( ruleMemberDefinition ) ; 31690 // InternalSolverLanguageParser.g:10513:1: rule__ClassDefinition__MembersAssignment_5 : ( ruleMemberDefinition ) ;
26088 public final void rule__ClassDefinition__MembersAssignment_5() throws RecognitionException { 31691 public final void rule__ClassDefinition__MembersAssignment_5() throws RecognitionException {
26089 31692
26090 int stackSize = keepStackSize(); 31693 int stackSize = keepStackSize();
26091 31694
26092 try { 31695 try {
26093 // InternalSolverLanguageParser.g:8620:1: ( ( ruleMemberDefinition ) ) 31696 // InternalSolverLanguageParser.g:10517:1: ( ( ruleMemberDefinition ) )
26094 // InternalSolverLanguageParser.g:8621:2: ( ruleMemberDefinition ) 31697 // InternalSolverLanguageParser.g:10518:2: ( ruleMemberDefinition )
26095 { 31698 {
26096 // InternalSolverLanguageParser.g:8621:2: ( ruleMemberDefinition ) 31699 // InternalSolverLanguageParser.g:10518:2: ( ruleMemberDefinition )
26097 // InternalSolverLanguageParser.g:8622:3: ruleMemberDefinition 31700 // InternalSolverLanguageParser.g:10519:3: ruleMemberDefinition
26098 { 31701 {
26099 before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); 31702 before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
26100 pushFollow(FOLLOW_2); 31703 pushFollow(FOLLOW_2);
@@ -26125,21 +31728,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26125 31728
26126 31729
26127 // $ANTLR start "rule__MemberDefinition__ContainmentAssignment_0" 31730 // $ANTLR start "rule__MemberDefinition__ContainmentAssignment_0"
26128 // InternalSolverLanguageParser.g:8631:1: rule__MemberDefinition__ContainmentAssignment_0 : ( ( Contains ) ) ; 31731 // InternalSolverLanguageParser.g:10528:1: rule__MemberDefinition__ContainmentAssignment_0 : ( ( Contains ) ) ;
26129 public final void rule__MemberDefinition__ContainmentAssignment_0() throws RecognitionException { 31732 public final void rule__MemberDefinition__ContainmentAssignment_0() throws RecognitionException {
26130 31733
26131 int stackSize = keepStackSize(); 31734 int stackSize = keepStackSize();
26132 31735
26133 try { 31736 try {
26134 // InternalSolverLanguageParser.g:8635:1: ( ( ( Contains ) ) ) 31737 // InternalSolverLanguageParser.g:10532:1: ( ( ( Contains ) ) )
26135 // InternalSolverLanguageParser.g:8636:2: ( ( Contains ) ) 31738 // InternalSolverLanguageParser.g:10533:2: ( ( Contains ) )
26136 { 31739 {
26137 // InternalSolverLanguageParser.g:8636:2: ( ( Contains ) ) 31740 // InternalSolverLanguageParser.g:10533:2: ( ( Contains ) )
26138 // InternalSolverLanguageParser.g:8637:3: ( Contains ) 31741 // InternalSolverLanguageParser.g:10534:3: ( Contains )
26139 { 31742 {
26140 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); 31743 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
26141 // InternalSolverLanguageParser.g:8638:3: ( Contains ) 31744 // InternalSolverLanguageParser.g:10535:3: ( Contains )
26142 // InternalSolverLanguageParser.g:8639:4: Contains 31745 // InternalSolverLanguageParser.g:10536:4: Contains
26143 { 31746 {
26144 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); 31747 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
26145 match(input,Contains,FOLLOW_2); 31748 match(input,Contains,FOLLOW_2);
@@ -26170,21 +31773,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26170 31773
26171 31774
26172 // $ANTLR start "rule__MemberDefinition__TypeAssignment_1" 31775 // $ANTLR start "rule__MemberDefinition__TypeAssignment_1"
26173 // InternalSolverLanguageParser.g:8650:1: rule__MemberDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ; 31776 // InternalSolverLanguageParser.g:10547:1: rule__MemberDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
26174 public final void rule__MemberDefinition__TypeAssignment_1() throws RecognitionException { 31777 public final void rule__MemberDefinition__TypeAssignment_1() throws RecognitionException {
26175 31778
26176 int stackSize = keepStackSize(); 31779 int stackSize = keepStackSize();
26177 31780
26178 try { 31781 try {
26179 // InternalSolverLanguageParser.g:8654:1: ( ( ( ruleQualifiedName ) ) ) 31782 // InternalSolverLanguageParser.g:10551:1: ( ( ( ruleQualifiedName ) ) )
26180 // InternalSolverLanguageParser.g:8655:2: ( ( ruleQualifiedName ) ) 31783 // InternalSolverLanguageParser.g:10552:2: ( ( ruleQualifiedName ) )
26181 { 31784 {
26182 // InternalSolverLanguageParser.g:8655:2: ( ( ruleQualifiedName ) ) 31785 // InternalSolverLanguageParser.g:10552:2: ( ( ruleQualifiedName ) )
26183 // InternalSolverLanguageParser.g:8656:3: ( ruleQualifiedName ) 31786 // InternalSolverLanguageParser.g:10553:3: ( ruleQualifiedName )
26184 { 31787 {
26185 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 31788 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
26186 // InternalSolverLanguageParser.g:8657:3: ( ruleQualifiedName ) 31789 // InternalSolverLanguageParser.g:10554:3: ( ruleQualifiedName )
26187 // InternalSolverLanguageParser.g:8658:4: ruleQualifiedName 31790 // InternalSolverLanguageParser.g:10555:4: ruleQualifiedName
26188 { 31791 {
26189 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); 31792 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
26190 pushFollow(FOLLOW_2); 31793 pushFollow(FOLLOW_2);
@@ -26219,17 +31822,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26219 31822
26220 31823
26221 // $ANTLR start "rule__MemberDefinition__MultiplicityAssignment_2" 31824 // $ANTLR start "rule__MemberDefinition__MultiplicityAssignment_2"
26222 // InternalSolverLanguageParser.g:8669:1: rule__MemberDefinition__MultiplicityAssignment_2 : ( ruleMultiplicity ) ; 31825 // InternalSolverLanguageParser.g:10566:1: rule__MemberDefinition__MultiplicityAssignment_2 : ( ruleMultiplicity ) ;
26223 public final void rule__MemberDefinition__MultiplicityAssignment_2() throws RecognitionException { 31826 public final void rule__MemberDefinition__MultiplicityAssignment_2() throws RecognitionException {
26224 31827
26225 int stackSize = keepStackSize(); 31828 int stackSize = keepStackSize();
26226 31829
26227 try { 31830 try {
26228 // InternalSolverLanguageParser.g:8673:1: ( ( ruleMultiplicity ) ) 31831 // InternalSolverLanguageParser.g:10570:1: ( ( ruleMultiplicity ) )
26229 // InternalSolverLanguageParser.g:8674:2: ( ruleMultiplicity ) 31832 // InternalSolverLanguageParser.g:10571:2: ( ruleMultiplicity )
26230 { 31833 {
26231 // InternalSolverLanguageParser.g:8674:2: ( ruleMultiplicity ) 31834 // InternalSolverLanguageParser.g:10571:2: ( ruleMultiplicity )
26232 // InternalSolverLanguageParser.g:8675:3: ruleMultiplicity 31835 // InternalSolverLanguageParser.g:10572:3: ruleMultiplicity
26233 { 31836 {
26234 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 31837 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
26235 pushFollow(FOLLOW_2); 31838 pushFollow(FOLLOW_2);
@@ -26260,17 +31863,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26260 31863
26261 31864
26262 // $ANTLR start "rule__MemberDefinition__NameAssignment_3" 31865 // $ANTLR start "rule__MemberDefinition__NameAssignment_3"
26263 // InternalSolverLanguageParser.g:8684:1: rule__MemberDefinition__NameAssignment_3 : ( RULE_ID ) ; 31866 // InternalSolverLanguageParser.g:10581:1: rule__MemberDefinition__NameAssignment_3 : ( RULE_ID ) ;
26264 public final void rule__MemberDefinition__NameAssignment_3() throws RecognitionException { 31867 public final void rule__MemberDefinition__NameAssignment_3() throws RecognitionException {
26265 31868
26266 int stackSize = keepStackSize(); 31869 int stackSize = keepStackSize();
26267 31870
26268 try { 31871 try {
26269 // InternalSolverLanguageParser.g:8688:1: ( ( RULE_ID ) ) 31872 // InternalSolverLanguageParser.g:10585:1: ( ( RULE_ID ) )
26270 // InternalSolverLanguageParser.g:8689:2: ( RULE_ID ) 31873 // InternalSolverLanguageParser.g:10586:2: ( RULE_ID )
26271 { 31874 {
26272 // InternalSolverLanguageParser.g:8689:2: ( RULE_ID ) 31875 // InternalSolverLanguageParser.g:10586:2: ( RULE_ID )
26273 // InternalSolverLanguageParser.g:8690:3: RULE_ID 31876 // InternalSolverLanguageParser.g:10587:3: RULE_ID
26274 { 31877 {
26275 before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 31878 before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
26276 match(input,RULE_ID,FOLLOW_2); 31879 match(input,RULE_ID,FOLLOW_2);
@@ -26297,21 +31900,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26297 31900
26298 31901
26299 // $ANTLR start "rule__MemberDefinition__OppositeAssignment_4_1" 31902 // $ANTLR start "rule__MemberDefinition__OppositeAssignment_4_1"
26300 // InternalSolverLanguageParser.g:8699:1: rule__MemberDefinition__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ; 31903 // InternalSolverLanguageParser.g:10596:1: rule__MemberDefinition__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ;
26301 public final void rule__MemberDefinition__OppositeAssignment_4_1() throws RecognitionException { 31904 public final void rule__MemberDefinition__OppositeAssignment_4_1() throws RecognitionException {
26302 31905
26303 int stackSize = keepStackSize(); 31906 int stackSize = keepStackSize();
26304 31907
26305 try { 31908 try {
26306 // InternalSolverLanguageParser.g:8703:1: ( ( ( ruleQualifiedName ) ) ) 31909 // InternalSolverLanguageParser.g:10600:1: ( ( ( ruleQualifiedName ) ) )
26307 // InternalSolverLanguageParser.g:8704:2: ( ( ruleQualifiedName ) ) 31910 // InternalSolverLanguageParser.g:10601:2: ( ( ruleQualifiedName ) )
26308 { 31911 {
26309 // InternalSolverLanguageParser.g:8704:2: ( ( ruleQualifiedName ) ) 31912 // InternalSolverLanguageParser.g:10601:2: ( ( ruleQualifiedName ) )
26310 // InternalSolverLanguageParser.g:8705:3: ( ruleQualifiedName ) 31913 // InternalSolverLanguageParser.g:10602:3: ( ruleQualifiedName )
26311 { 31914 {
26312 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 31915 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
26313 // InternalSolverLanguageParser.g:8706:3: ( ruleQualifiedName ) 31916 // InternalSolverLanguageParser.g:10603:3: ( ruleQualifiedName )
26314 // InternalSolverLanguageParser.g:8707:4: ruleQualifiedName 31917 // InternalSolverLanguageParser.g:10604:4: ruleQualifiedName
26315 { 31918 {
26316 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); 31919 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1());
26317 pushFollow(FOLLOW_2); 31920 pushFollow(FOLLOW_2);
@@ -26346,17 +31949,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26346 31949
26347 31950
26348 // $ANTLR start "rule__ExactMultiplicity__MultiplicityAssignment_1" 31951 // $ANTLR start "rule__ExactMultiplicity__MultiplicityAssignment_1"
26349 // InternalSolverLanguageParser.g:8718:1: rule__ExactMultiplicity__MultiplicityAssignment_1 : ( ruleUpperMultiplicty ) ; 31952 // InternalSolverLanguageParser.g:10615:1: rule__ExactMultiplicity__MultiplicityAssignment_1 : ( ruleUpperMultiplicty ) ;
26350 public final void rule__ExactMultiplicity__MultiplicityAssignment_1() throws RecognitionException { 31953 public final void rule__ExactMultiplicity__MultiplicityAssignment_1() throws RecognitionException {
26351 31954
26352 int stackSize = keepStackSize(); 31955 int stackSize = keepStackSize();
26353 31956
26354 try { 31957 try {
26355 // InternalSolverLanguageParser.g:8722:1: ( ( ruleUpperMultiplicty ) ) 31958 // InternalSolverLanguageParser.g:10619:1: ( ( ruleUpperMultiplicty ) )
26356 // InternalSolverLanguageParser.g:8723:2: ( ruleUpperMultiplicty ) 31959 // InternalSolverLanguageParser.g:10620:2: ( ruleUpperMultiplicty )
26357 { 31960 {
26358 // InternalSolverLanguageParser.g:8723:2: ( ruleUpperMultiplicty ) 31961 // InternalSolverLanguageParser.g:10620:2: ( ruleUpperMultiplicty )
26359 // InternalSolverLanguageParser.g:8724:3: ruleUpperMultiplicty 31962 // InternalSolverLanguageParser.g:10621:3: ruleUpperMultiplicty
26360 { 31963 {
26361 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 31964 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
26362 pushFollow(FOLLOW_2); 31965 pushFollow(FOLLOW_2);
@@ -26387,17 +31990,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26387 31990
26388 31991
26389 // $ANTLR start "rule__BoundedMultiplicity__LowerBoundAssignment_1" 31992 // $ANTLR start "rule__BoundedMultiplicity__LowerBoundAssignment_1"
26390 // InternalSolverLanguageParser.g:8733:1: rule__BoundedMultiplicity__LowerBoundAssignment_1 : ( RULE_INT ) ; 31993 // InternalSolverLanguageParser.g:10630:1: rule__BoundedMultiplicity__LowerBoundAssignment_1 : ( RULE_INT ) ;
26391 public final void rule__BoundedMultiplicity__LowerBoundAssignment_1() throws RecognitionException { 31994 public final void rule__BoundedMultiplicity__LowerBoundAssignment_1() throws RecognitionException {
26392 31995
26393 int stackSize = keepStackSize(); 31996 int stackSize = keepStackSize();
26394 31997
26395 try { 31998 try {
26396 // InternalSolverLanguageParser.g:8737:1: ( ( RULE_INT ) ) 31999 // InternalSolverLanguageParser.g:10634:1: ( ( RULE_INT ) )
26397 // InternalSolverLanguageParser.g:8738:2: ( RULE_INT ) 32000 // InternalSolverLanguageParser.g:10635:2: ( RULE_INT )
26398 { 32001 {
26399 // InternalSolverLanguageParser.g:8738:2: ( RULE_INT ) 32002 // InternalSolverLanguageParser.g:10635:2: ( RULE_INT )
26400 // InternalSolverLanguageParser.g:8739:3: RULE_INT 32003 // InternalSolverLanguageParser.g:10636:3: RULE_INT
26401 { 32004 {
26402 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); 32005 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
26403 match(input,RULE_INT,FOLLOW_2); 32006 match(input,RULE_INT,FOLLOW_2);
@@ -26424,17 +32027,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26424 32027
26425 32028
26426 // $ANTLR start "rule__BoundedMultiplicity__UpperBoundAssignment_3" 32029 // $ANTLR start "rule__BoundedMultiplicity__UpperBoundAssignment_3"
26427 // InternalSolverLanguageParser.g:8748:1: rule__BoundedMultiplicity__UpperBoundAssignment_3 : ( ruleUpperMultiplicty ) ; 32030 // InternalSolverLanguageParser.g:10645:1: rule__BoundedMultiplicity__UpperBoundAssignment_3 : ( ruleUpperMultiplicty ) ;
26428 public final void rule__BoundedMultiplicity__UpperBoundAssignment_3() throws RecognitionException { 32031 public final void rule__BoundedMultiplicity__UpperBoundAssignment_3() throws RecognitionException {
26429 32032
26430 int stackSize = keepStackSize(); 32033 int stackSize = keepStackSize();
26431 32034
26432 try { 32035 try {
26433 // InternalSolverLanguageParser.g:8752:1: ( ( ruleUpperMultiplicty ) ) 32036 // InternalSolverLanguageParser.g:10649:1: ( ( ruleUpperMultiplicty ) )
26434 // InternalSolverLanguageParser.g:8753:2: ( ruleUpperMultiplicty ) 32037 // InternalSolverLanguageParser.g:10650:2: ( ruleUpperMultiplicty )
26435 { 32038 {
26436 // InternalSolverLanguageParser.g:8753:2: ( ruleUpperMultiplicty ) 32039 // InternalSolverLanguageParser.g:10650:2: ( ruleUpperMultiplicty )
26437 // InternalSolverLanguageParser.g:8754:3: ruleUpperMultiplicty 32040 // InternalSolverLanguageParser.g:10651:3: ruleUpperMultiplicty
26438 { 32041 {
26439 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); 32042 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
26440 pushFollow(FOLLOW_2); 32043 pushFollow(FOLLOW_2);
@@ -26465,21 +32068,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26465 32068
26466 32069
26467 // $ANTLR start "rule__ExactScopeDefinition__TypeAssignment_1" 32070 // $ANTLR start "rule__ExactScopeDefinition__TypeAssignment_1"
26468 // InternalSolverLanguageParser.g:8763:1: rule__ExactScopeDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ; 32071 // InternalSolverLanguageParser.g:10660:1: rule__ExactScopeDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
26469 public final void rule__ExactScopeDefinition__TypeAssignment_1() throws RecognitionException { 32072 public final void rule__ExactScopeDefinition__TypeAssignment_1() throws RecognitionException {
26470 32073
26471 int stackSize = keepStackSize(); 32074 int stackSize = keepStackSize();
26472 32075
26473 try { 32076 try {
26474 // InternalSolverLanguageParser.g:8767:1: ( ( ( ruleQualifiedName ) ) ) 32077 // InternalSolverLanguageParser.g:10664:1: ( ( ( ruleQualifiedName ) ) )
26475 // InternalSolverLanguageParser.g:8768:2: ( ( ruleQualifiedName ) ) 32078 // InternalSolverLanguageParser.g:10665:2: ( ( ruleQualifiedName ) )
26476 { 32079 {
26477 // InternalSolverLanguageParser.g:8768:2: ( ( ruleQualifiedName ) ) 32080 // InternalSolverLanguageParser.g:10665:2: ( ( ruleQualifiedName ) )
26478 // InternalSolverLanguageParser.g:8769:3: ( ruleQualifiedName ) 32081 // InternalSolverLanguageParser.g:10666:3: ( ruleQualifiedName )
26479 { 32082 {
26480 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 32083 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
26481 // InternalSolverLanguageParser.g:8770:3: ( ruleQualifiedName ) 32084 // InternalSolverLanguageParser.g:10667:3: ( ruleQualifiedName )
26482 // InternalSolverLanguageParser.g:8771:4: ruleQualifiedName 32085 // InternalSolverLanguageParser.g:10668:4: ruleQualifiedName
26483 { 32086 {
26484 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); 32087 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
26485 pushFollow(FOLLOW_2); 32088 pushFollow(FOLLOW_2);
@@ -26514,17 +32117,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26514 32117
26515 32118
26516 // $ANTLR start "rule__ExactScopeDefinition__ExactScopeAssignment_3" 32119 // $ANTLR start "rule__ExactScopeDefinition__ExactScopeAssignment_3"
26517 // InternalSolverLanguageParser.g:8782:1: rule__ExactScopeDefinition__ExactScopeAssignment_3 : ( RULE_INT ) ; 32120 // InternalSolverLanguageParser.g:10679:1: rule__ExactScopeDefinition__ExactScopeAssignment_3 : ( RULE_INT ) ;
26518 public final void rule__ExactScopeDefinition__ExactScopeAssignment_3() throws RecognitionException { 32121 public final void rule__ExactScopeDefinition__ExactScopeAssignment_3() throws RecognitionException {
26519 32122
26520 int stackSize = keepStackSize(); 32123 int stackSize = keepStackSize();
26521 32124
26522 try { 32125 try {
26523 // InternalSolverLanguageParser.g:8786:1: ( ( RULE_INT ) ) 32126 // InternalSolverLanguageParser.g:10683:1: ( ( RULE_INT ) )
26524 // InternalSolverLanguageParser.g:8787:2: ( RULE_INT ) 32127 // InternalSolverLanguageParser.g:10684:2: ( RULE_INT )
26525 { 32128 {
26526 // InternalSolverLanguageParser.g:8787:2: ( RULE_INT ) 32129 // InternalSolverLanguageParser.g:10684:2: ( RULE_INT )
26527 // InternalSolverLanguageParser.g:8788:3: RULE_INT 32130 // InternalSolverLanguageParser.g:10685:3: RULE_INT
26528 { 32131 {
26529 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); 32132 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0());
26530 match(input,RULE_INT,FOLLOW_2); 32133 match(input,RULE_INT,FOLLOW_2);
@@ -26551,17 +32154,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26551 32154
26552 32155
26553 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0" 32156 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0"
26554 // InternalSolverLanguageParser.g:8797:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 : ( RULE_INT ) ; 32157 // InternalSolverLanguageParser.g:10694:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 : ( RULE_INT ) ;
26555 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0() throws RecognitionException { 32158 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0() throws RecognitionException {
26556 32159
26557 int stackSize = keepStackSize(); 32160 int stackSize = keepStackSize();
26558 32161
26559 try { 32162 try {
26560 // InternalSolverLanguageParser.g:8801:1: ( ( RULE_INT ) ) 32163 // InternalSolverLanguageParser.g:10698:1: ( ( RULE_INT ) )
26561 // InternalSolverLanguageParser.g:8802:2: ( RULE_INT ) 32164 // InternalSolverLanguageParser.g:10699:2: ( RULE_INT )
26562 { 32165 {
26563 // InternalSolverLanguageParser.g:8802:2: ( RULE_INT ) 32166 // InternalSolverLanguageParser.g:10699:2: ( RULE_INT )
26564 // InternalSolverLanguageParser.g:8803:3: RULE_INT 32167 // InternalSolverLanguageParser.g:10700:3: RULE_INT
26565 { 32168 {
26566 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 32169 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
26567 match(input,RULE_INT,FOLLOW_2); 32170 match(input,RULE_INT,FOLLOW_2);
@@ -26588,21 +32191,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26588 32191
26589 32192
26590 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_0_1" 32193 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_0_1"
26591 // InternalSolverLanguageParser.g:8812:1: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 : ( ( ruleQualifiedName ) ) ; 32194 // InternalSolverLanguageParser.g:10709:1: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 : ( ( ruleQualifiedName ) ) ;
26592 public final void rule__BoundedScopeDefinition__TypeAssignment_1_0_1() throws RecognitionException { 32195 public final void rule__BoundedScopeDefinition__TypeAssignment_1_0_1() throws RecognitionException {
26593 32196
26594 int stackSize = keepStackSize(); 32197 int stackSize = keepStackSize();
26595 32198
26596 try { 32199 try {
26597 // InternalSolverLanguageParser.g:8816:1: ( ( ( ruleQualifiedName ) ) ) 32200 // InternalSolverLanguageParser.g:10713:1: ( ( ( ruleQualifiedName ) ) )
26598 // InternalSolverLanguageParser.g:8817:2: ( ( ruleQualifiedName ) ) 32201 // InternalSolverLanguageParser.g:10714:2: ( ( ruleQualifiedName ) )
26599 { 32202 {
26600 // InternalSolverLanguageParser.g:8817:2: ( ( ruleQualifiedName ) ) 32203 // InternalSolverLanguageParser.g:10714:2: ( ( ruleQualifiedName ) )
26601 // InternalSolverLanguageParser.g:8818:3: ( ruleQualifiedName ) 32204 // InternalSolverLanguageParser.g:10715:3: ( ruleQualifiedName )
26602 { 32205 {
26603 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 32206 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
26604 // InternalSolverLanguageParser.g:8819:3: ( ruleQualifiedName ) 32207 // InternalSolverLanguageParser.g:10716:3: ( ruleQualifiedName )
26605 // InternalSolverLanguageParser.g:8820:4: ruleQualifiedName 32208 // InternalSolverLanguageParser.g:10717:4: ruleQualifiedName
26606 { 32209 {
26607 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); 32210 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1());
26608 pushFollow(FOLLOW_2); 32211 pushFollow(FOLLOW_2);
@@ -26637,17 +32240,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26637 32240
26638 32241
26639 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3" 32242 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3"
26640 // InternalSolverLanguageParser.g:8831:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 : ( RULE_INT ) ; 32243 // InternalSolverLanguageParser.g:10728:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 : ( RULE_INT ) ;
26641 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3() throws RecognitionException { 32244 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3() throws RecognitionException {
26642 32245
26643 int stackSize = keepStackSize(); 32246 int stackSize = keepStackSize();
26644 32247
26645 try { 32248 try {
26646 // InternalSolverLanguageParser.g:8835:1: ( ( RULE_INT ) ) 32249 // InternalSolverLanguageParser.g:10732:1: ( ( RULE_INT ) )
26647 // InternalSolverLanguageParser.g:8836:2: ( RULE_INT ) 32250 // InternalSolverLanguageParser.g:10733:2: ( RULE_INT )
26648 { 32251 {
26649 // InternalSolverLanguageParser.g:8836:2: ( RULE_INT ) 32252 // InternalSolverLanguageParser.g:10733:2: ( RULE_INT )
26650 // InternalSolverLanguageParser.g:8837:3: RULE_INT 32253 // InternalSolverLanguageParser.g:10734:3: RULE_INT
26651 { 32254 {
26652 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); 32255 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
26653 match(input,RULE_INT,FOLLOW_2); 32256 match(input,RULE_INT,FOLLOW_2);
@@ -26674,17 +32277,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26674 32277
26675 32278
26676 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0" 32279 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0"
26677 // InternalSolverLanguageParser.g:8846:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 : ( RULE_INT ) ; 32280 // InternalSolverLanguageParser.g:10743:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 : ( RULE_INT ) ;
26678 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0() throws RecognitionException { 32281 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0() throws RecognitionException {
26679 32282
26680 int stackSize = keepStackSize(); 32283 int stackSize = keepStackSize();
26681 32284
26682 try { 32285 try {
26683 // InternalSolverLanguageParser.g:8850:1: ( ( RULE_INT ) ) 32286 // InternalSolverLanguageParser.g:10747:1: ( ( RULE_INT ) )
26684 // InternalSolverLanguageParser.g:8851:2: ( RULE_INT ) 32287 // InternalSolverLanguageParser.g:10748:2: ( RULE_INT )
26685 { 32288 {
26686 // InternalSolverLanguageParser.g:8851:2: ( RULE_INT ) 32289 // InternalSolverLanguageParser.g:10748:2: ( RULE_INT )
26687 // InternalSolverLanguageParser.g:8852:3: RULE_INT 32290 // InternalSolverLanguageParser.g:10749:3: RULE_INT
26688 { 32291 {
26689 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 32292 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
26690 match(input,RULE_INT,FOLLOW_2); 32293 match(input,RULE_INT,FOLLOW_2);
@@ -26711,21 +32314,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26711 32314
26712 32315
26713 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_1_2" 32316 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_1_2"
26714 // InternalSolverLanguageParser.g:8861:1: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 : ( ( ruleQualifiedName ) ) ; 32317 // InternalSolverLanguageParser.g:10758:1: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 : ( ( ruleQualifiedName ) ) ;
26715 public final void rule__BoundedScopeDefinition__TypeAssignment_1_1_2() throws RecognitionException { 32318 public final void rule__BoundedScopeDefinition__TypeAssignment_1_1_2() throws RecognitionException {
26716 32319
26717 int stackSize = keepStackSize(); 32320 int stackSize = keepStackSize();
26718 32321
26719 try { 32322 try {
26720 // InternalSolverLanguageParser.g:8865:1: ( ( ( ruleQualifiedName ) ) ) 32323 // InternalSolverLanguageParser.g:10762:1: ( ( ( ruleQualifiedName ) ) )
26721 // InternalSolverLanguageParser.g:8866:2: ( ( ruleQualifiedName ) ) 32324 // InternalSolverLanguageParser.g:10763:2: ( ( ruleQualifiedName ) )
26722 { 32325 {
26723 // InternalSolverLanguageParser.g:8866:2: ( ( ruleQualifiedName ) ) 32326 // InternalSolverLanguageParser.g:10763:2: ( ( ruleQualifiedName ) )
26724 // InternalSolverLanguageParser.g:8867:3: ( ruleQualifiedName ) 32327 // InternalSolverLanguageParser.g:10764:3: ( ruleQualifiedName )
26725 { 32328 {
26726 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 32329 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
26727 // InternalSolverLanguageParser.g:8868:3: ( ruleQualifiedName ) 32330 // InternalSolverLanguageParser.g:10765:3: ( ruleQualifiedName )
26728 // InternalSolverLanguageParser.g:8869:4: ruleQualifiedName 32331 // InternalSolverLanguageParser.g:10766:4: ruleQualifiedName
26729 { 32332 {
26730 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); 32333 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1());
26731 pushFollow(FOLLOW_2); 32334 pushFollow(FOLLOW_2);
@@ -26760,17 +32363,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26760 32363
26761 32364
26762 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1" 32365 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1"
26763 // InternalSolverLanguageParser.g:8880:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 : ( RULE_INT ) ; 32366 // InternalSolverLanguageParser.g:10777:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 : ( RULE_INT ) ;
26764 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1() throws RecognitionException { 32367 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1() throws RecognitionException {
26765 32368
26766 int stackSize = keepStackSize(); 32369 int stackSize = keepStackSize();
26767 32370
26768 try { 32371 try {
26769 // InternalSolverLanguageParser.g:8884:1: ( ( RULE_INT ) ) 32372 // InternalSolverLanguageParser.g:10781:1: ( ( RULE_INT ) )
26770 // InternalSolverLanguageParser.g:8885:2: ( RULE_INT ) 32373 // InternalSolverLanguageParser.g:10782:2: ( RULE_INT )
26771 { 32374 {
26772 // InternalSolverLanguageParser.g:8885:2: ( RULE_INT ) 32375 // InternalSolverLanguageParser.g:10782:2: ( RULE_INT )
26773 // InternalSolverLanguageParser.g:8886:3: RULE_INT 32376 // InternalSolverLanguageParser.g:10783:3: RULE_INT
26774 { 32377 {
26775 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); 32378 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
26776 match(input,RULE_INT,FOLLOW_2); 32379 match(input,RULE_INT,FOLLOW_2);
@@ -26797,17 +32400,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26797 32400
26798 32401
26799 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0" 32402 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0"
26800 // InternalSolverLanguageParser.g:8895:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 : ( RULE_INT ) ; 32403 // InternalSolverLanguageParser.g:10792:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 : ( RULE_INT ) ;
26801 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0() throws RecognitionException { 32404 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0() throws RecognitionException {
26802 32405
26803 int stackSize = keepStackSize(); 32406 int stackSize = keepStackSize();
26804 32407
26805 try { 32408 try {
26806 // InternalSolverLanguageParser.g:8899:1: ( ( RULE_INT ) ) 32409 // InternalSolverLanguageParser.g:10796:1: ( ( RULE_INT ) )
26807 // InternalSolverLanguageParser.g:8900:2: ( RULE_INT ) 32410 // InternalSolverLanguageParser.g:10797:2: ( RULE_INT )
26808 { 32411 {
26809 // InternalSolverLanguageParser.g:8900:2: ( RULE_INT ) 32412 // InternalSolverLanguageParser.g:10797:2: ( RULE_INT )
26810 // InternalSolverLanguageParser.g:8901:3: RULE_INT 32413 // InternalSolverLanguageParser.g:10798:3: RULE_INT
26811 { 32414 {
26812 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 32415 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
26813 match(input,RULE_INT,FOLLOW_2); 32416 match(input,RULE_INT,FOLLOW_2);
@@ -26834,21 +32437,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26834 32437
26835 32438
26836 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2" 32439 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2"
26837 // InternalSolverLanguageParser.g:8910:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 : ( ( ruleQualifiedName ) ) ; 32440 // InternalSolverLanguageParser.g:10807:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 : ( ( ruleQualifiedName ) ) ;
26838 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2() throws RecognitionException { 32441 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2() throws RecognitionException {
26839 32442
26840 int stackSize = keepStackSize(); 32443 int stackSize = keepStackSize();
26841 32444
26842 try { 32445 try {
26843 // InternalSolverLanguageParser.g:8914:1: ( ( ( ruleQualifiedName ) ) ) 32446 // InternalSolverLanguageParser.g:10811:1: ( ( ( ruleQualifiedName ) ) )
26844 // InternalSolverLanguageParser.g:8915:2: ( ( ruleQualifiedName ) ) 32447 // InternalSolverLanguageParser.g:10812:2: ( ( ruleQualifiedName ) )
26845 { 32448 {
26846 // InternalSolverLanguageParser.g:8915:2: ( ( ruleQualifiedName ) ) 32449 // InternalSolverLanguageParser.g:10812:2: ( ( ruleQualifiedName ) )
26847 // InternalSolverLanguageParser.g:8916:3: ( ruleQualifiedName ) 32450 // InternalSolverLanguageParser.g:10813:3: ( ruleQualifiedName )
26848 { 32451 {
26849 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); 32452 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0());
26850 // InternalSolverLanguageParser.g:8917:3: ( ruleQualifiedName ) 32453 // InternalSolverLanguageParser.g:10814:3: ( ruleQualifiedName )
26851 // InternalSolverLanguageParser.g:8918:4: ruleQualifiedName 32454 // InternalSolverLanguageParser.g:10815:4: ruleQualifiedName
26852 { 32455 {
26853 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); 32456 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1());
26854 pushFollow(FOLLOW_2); 32457 pushFollow(FOLLOW_2);
@@ -26883,21 +32486,21 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26883 32486
26884 32487
26885 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0" 32488 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0"
26886 // InternalSolverLanguageParser.g:8929:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 : ( ( ruleQualifiedName ) ) ; 32489 // InternalSolverLanguageParser.g:10826:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 : ( ( ruleQualifiedName ) ) ;
26887 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0() throws RecognitionException { 32490 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0() throws RecognitionException {
26888 32491
26889 int stackSize = keepStackSize(); 32492 int stackSize = keepStackSize();
26890 32493
26891 try { 32494 try {
26892 // InternalSolverLanguageParser.g:8933:1: ( ( ( ruleQualifiedName ) ) ) 32495 // InternalSolverLanguageParser.g:10830:1: ( ( ( ruleQualifiedName ) ) )
26893 // InternalSolverLanguageParser.g:8934:2: ( ( ruleQualifiedName ) ) 32496 // InternalSolverLanguageParser.g:10831:2: ( ( ruleQualifiedName ) )
26894 { 32497 {
26895 // InternalSolverLanguageParser.g:8934:2: ( ( ruleQualifiedName ) ) 32498 // InternalSolverLanguageParser.g:10831:2: ( ( ruleQualifiedName ) )
26896 // InternalSolverLanguageParser.g:8935:3: ( ruleQualifiedName ) 32499 // InternalSolverLanguageParser.g:10832:3: ( ruleQualifiedName )
26897 { 32500 {
26898 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 32501 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
26899 // InternalSolverLanguageParser.g:8936:3: ( ruleQualifiedName ) 32502 // InternalSolverLanguageParser.g:10833:3: ( ruleQualifiedName )
26900 // InternalSolverLanguageParser.g:8937:4: ruleQualifiedName 32503 // InternalSolverLanguageParser.g:10834:4: ruleQualifiedName
26901 { 32504 {
26902 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); 32505 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1());
26903 pushFollow(FOLLOW_2); 32506 pushFollow(FOLLOW_2);
@@ -26932,17 +32535,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26932 32535
26933 32536
26934 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2" 32537 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2"
26935 // InternalSolverLanguageParser.g:8948:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 : ( RULE_INT ) ; 32538 // InternalSolverLanguageParser.g:10845:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 : ( RULE_INT ) ;
26936 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2() throws RecognitionException { 32539 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2() throws RecognitionException {
26937 32540
26938 int stackSize = keepStackSize(); 32541 int stackSize = keepStackSize();
26939 32542
26940 try { 32543 try {
26941 // InternalSolverLanguageParser.g:8952:1: ( ( RULE_INT ) ) 32544 // InternalSolverLanguageParser.g:10849:1: ( ( RULE_INT ) )
26942 // InternalSolverLanguageParser.g:8953:2: ( RULE_INT ) 32545 // InternalSolverLanguageParser.g:10850:2: ( RULE_INT )
26943 { 32546 {
26944 // InternalSolverLanguageParser.g:8953:2: ( RULE_INT ) 32547 // InternalSolverLanguageParser.g:10850:2: ( RULE_INT )
26945 // InternalSolverLanguageParser.g:8954:3: RULE_INT 32548 // InternalSolverLanguageParser.g:10851:3: RULE_INT
26946 { 32549 {
26947 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); 32550 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
26948 match(input,RULE_INT,FOLLOW_2); 32551 match(input,RULE_INT,FOLLOW_2);
@@ -26969,17 +32572,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
26969 32572
26970 32573
26971 // $ANTLR start "rule__ObjectiveDefinition__KindAssignment_0" 32574 // $ANTLR start "rule__ObjectiveDefinition__KindAssignment_0"
26972 // InternalSolverLanguageParser.g:8963:1: rule__ObjectiveDefinition__KindAssignment_0 : ( ruleObjectiveKind ) ; 32575 // InternalSolverLanguageParser.g:10860:1: rule__ObjectiveDefinition__KindAssignment_0 : ( ruleObjectiveKind ) ;
26973 public final void rule__ObjectiveDefinition__KindAssignment_0() throws RecognitionException { 32576 public final void rule__ObjectiveDefinition__KindAssignment_0() throws RecognitionException {
26974 32577
26975 int stackSize = keepStackSize(); 32578 int stackSize = keepStackSize();
26976 32579
26977 try { 32580 try {
26978 // InternalSolverLanguageParser.g:8967:1: ( ( ruleObjectiveKind ) ) 32581 // InternalSolverLanguageParser.g:10864:1: ( ( ruleObjectiveKind ) )
26979 // InternalSolverLanguageParser.g:8968:2: ( ruleObjectiveKind ) 32582 // InternalSolverLanguageParser.g:10865:2: ( ruleObjectiveKind )
26980 { 32583 {
26981 // InternalSolverLanguageParser.g:8968:2: ( ruleObjectiveKind ) 32584 // InternalSolverLanguageParser.g:10865:2: ( ruleObjectiveKind )
26982 // InternalSolverLanguageParser.g:8969:3: ruleObjectiveKind 32585 // InternalSolverLanguageParser.g:10866:3: ruleObjectiveKind
26983 { 32586 {
26984 before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 32587 before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
26985 pushFollow(FOLLOW_2); 32588 pushFollow(FOLLOW_2);
@@ -27010,17 +32613,17 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
27010 32613
27011 32614
27012 // $ANTLR start "rule__ObjectiveDefinition__ObjectiveAssignment_1" 32615 // $ANTLR start "rule__ObjectiveDefinition__ObjectiveAssignment_1"
27013 // InternalSolverLanguageParser.g:8978:1: rule__ObjectiveDefinition__ObjectiveAssignment_1 : ( ruleExpression ) ; 32616 // InternalSolverLanguageParser.g:10875:1: rule__ObjectiveDefinition__ObjectiveAssignment_1 : ( ruleExpression ) ;
27014 public final void rule__ObjectiveDefinition__ObjectiveAssignment_1() throws RecognitionException { 32617 public final void rule__ObjectiveDefinition__ObjectiveAssignment_1() throws RecognitionException {
27015 32618
27016 int stackSize = keepStackSize(); 32619 int stackSize = keepStackSize();
27017 32620
27018 try { 32621 try {
27019 // InternalSolverLanguageParser.g:8982:1: ( ( ruleExpression ) ) 32622 // InternalSolverLanguageParser.g:10879:1: ( ( ruleExpression ) )
27020 // InternalSolverLanguageParser.g:8983:2: ( ruleExpression ) 32623 // InternalSolverLanguageParser.g:10880:2: ( ruleExpression )
27021 { 32624 {
27022 // InternalSolverLanguageParser.g:8983:2: ( ruleExpression ) 32625 // InternalSolverLanguageParser.g:10880:2: ( ruleExpression )
27023 // InternalSolverLanguageParser.g:8984:3: ruleExpression 32626 // InternalSolverLanguageParser.g:10881:3: ruleExpression
27024 { 32627 {
27025 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 32628 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
27026 pushFollow(FOLLOW_2); 32629 pushFollow(FOLLOW_2);
@@ -27053,28 +32656,43 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
27053 32656
27054 32657
27055 protected DFA2 dfa2 = new DFA2(this); 32658 protected DFA2 dfa2 = new DFA2(this);
32659 protected DFA8 dfa8 = new DFA8(this);
27056 protected DFA9 dfa9 = new DFA9(this); 32660 protected DFA9 dfa9 = new DFA9(this);
27057 protected DFA11 dfa11 = new DFA11(this); 32661 protected DFA11 dfa11 = new DFA11(this);
27058 protected DFA14 dfa14 = new DFA14(this); 32662 protected DFA14 dfa14 = new DFA14(this);
27059 static final String dfa_1s = "\15\uffff"; 32663 static final String dfa_1s = "\33\uffff";
27060 static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; 32664 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\1\uffff\3\54\1\105\2\uffff\1\54";
27061 static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\7\uffff"; 32665 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\1\uffff\2\74\2\105\2\uffff\1\74";
27062 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"; 32666 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\2\uffff\1\6\4\uffff\1\10\1\7\1\uffff";
27063 static final String dfa_5s = "\15\uffff}>"; 32667 static final String dfa_5s = "\33\uffff}>";
27064 static final String[] dfa_6s = { 32668 static final String[] dfa_6s = {
27065 "\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", 32669 "\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",
27066 "", 32670 "",
27067 "\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", 32671 "\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",
32672 "\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",
32673 "\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",
27068 "", 32674 "",
27069 "", 32675 "",
27070 "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", 32676 "\1\20\70\uffff\1\17\4\uffff\1\16",
27071 "", 32677 "",
27072 "", 32678 "",
27073 "", 32679 "",
32680 "\1\21",
27074 "", 32681 "",
27075 "", 32682 "",
32683 "\1\23\5\uffff\1\22\15\uffff\1\25\4\uffff\1\24",
32684 "\1\23\23\uffff\1\25\4\uffff\1\24",
27076 "", 32685 "",
27077 "" 32686 "\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",
32687 "\1\26",
32688 "",
32689 "\1\31\5\uffff\1\27\11\uffff\1\30",
32690 "\1\31\17\uffff\1\30",
32691 "\1\23\5\uffff\1\22\15\uffff\1\25\4\uffff\1\24",
32692 "\1\32",
32693 "",
32694 "",
32695 "\1\31\5\uffff\1\27\11\uffff\1\30"
27078 }; 32696 };
27079 32697
27080 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 32698 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -27098,26 +32716,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
27098 this.transition = dfa_6; 32716 this.transition = dfa_6;
27099 } 32717 }
27100 public String getDescription() { 32718 public String getDescription() {
27101 return "1586:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );"; 32719 return "1773:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleMetricDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleExternMetricDefinition ) | ( ruleExternAggregatorDefinition ) | ( ruleExternDatatypeDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );";
27102 } 32720 }
27103 } 32721 }
27104 static final String dfa_7s = "\12\uffff"; 32722 static final String dfa_7s = "\10\uffff";
27105 static final String dfa_8s = "\1\uffff\2\7\6\uffff\1\7"; 32723 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3";
27106 static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; 32724 static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30";
27107 static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; 32725 static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104";
27108 static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\1\1\2\1\uffff"; 32726 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff";
27109 static final String dfa_12s = "\12\uffff}>"; 32727 static final String dfa_12s = "\10\uffff}>";
27110 static final String[] dfa_13s = { 32728 static final String[] dfa_13s = {
27111 "\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", 32729 "\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",
27112 "\1\7\4\uffff\1\7\15\uffff\7\7\3\uffff\1\7\1\uffff\1\10\5\7\1\6\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7", 32730 "\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",
27113 "\1\7\4\uffff\1\7\15\uffff\7\7\3\uffff\1\7\1\uffff\1\10\5\7\1\uffff\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7", 32731 "\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",
27114 "",
27115 "",
27116 "", 32732 "",
27117 "\1\11",
27118 "", 32733 "",
32734 "\1\7",
27119 "", 32735 "",
27120 "\1\7\4\uffff\1\7\15\uffff\7\7\3\uffff\1\7\1\uffff\1\10\5\7\1\6\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7" 32736 "\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"
27121 }; 32737 };
27122 32738
27123 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); 32739 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
@@ -27128,11 +32744,11 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
27128 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); 32744 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
27129 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); 32745 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
27130 32746
27131 class DFA9 extends DFA { 32747 class DFA8 extends DFA {
27132 32748
27133 public DFA9(BaseRecognizer recognizer) { 32749 public DFA8(BaseRecognizer recognizer) {
27134 this.recognizer = recognizer; 32750 this.recognizer = recognizer;
27135 this.decisionNumber = 9; 32751 this.decisionNumber = 8;
27136 this.eot = dfa_7; 32752 this.eot = dfa_7;
27137 this.eof = dfa_8; 32753 this.eof = dfa_8;
27138 this.min = dfa_9; 32754 this.min = dfa_9;
@@ -27142,156 +32758,207 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
27142 this.transition = dfa_13; 32758 this.transition = dfa_13;
27143 } 32759 }
27144 public String getDescription() { 32760 public String getDescription() {
27145 return "1793:1: rule__AtomicExpression__Alternatives : ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) );"; 32761 return "1971:1: rule__AggregationExpression__Alternatives : ( ( ruleAtomicExpression ) | ( ruleQuantifiedExpression ) | ( ruleAggregation ) );";
32762 }
32763 }
32764 static final String dfa_14s = "\12\uffff";
32765 static final String dfa_15s = "\1\uffff\2\7\6\uffff\1\7";
32766 static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30";
32767 static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104";
32768 static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\1\1\2\1\uffff";
32769 static final String dfa_19s = "\12\uffff}>";
32770 static final String[] dfa_20s = {
32771 "\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",
32772 "\1\7\1\uffff\1\7\5\uffff\11\7\1\uffff\1\7\1\uffff\1\10\5\7\1\6\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7",
32773 "\1\7\1\uffff\1\7\5\uffff\11\7\1\uffff\1\7\1\uffff\1\10\5\7\1\uffff\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7",
32774 "",
32775 "",
32776 "",
32777 "\1\11",
32778 "",
32779 "",
32780 "\1\7\1\uffff\1\7\5\uffff\11\7\1\uffff\1\7\1\uffff\1\10\5\7\1\6\6\7\1\uffff\2\7\1\uffff\2\7\3\uffff\2\10\1\7"
32781 };
32782
32783 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
32784 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
32785 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
32786 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
32787 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
32788 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
32789 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
32790
32791 class DFA9 extends DFA {
32792
32793 public DFA9(BaseRecognizer recognizer) {
32794 this.recognizer = recognizer;
32795 this.decisionNumber = 9;
32796 this.eot = dfa_14;
32797 this.eof = dfa_15;
32798 this.min = dfa_16;
32799 this.max = dfa_17;
32800 this.accept = dfa_18;
32801 this.special = dfa_19;
32802 this.transition = dfa_20;
32803 }
32804 public String getDescription() {
32805 return "1998:1: rule__AtomicExpression__Alternatives : ( ( ruleReference ) | ( ruleCall ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_4__0 ) ) );";
27146 } 32806 }
27147 } 32807 }
27148 static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; 32808 static final String dfa_21s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff";
27149 static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; 32809 static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\uffff\1\13\1\40\1\uffff";
27150 static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; 32810 static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\uffff\1\106\1\105\1\uffff";
27151 static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; 32811 static final String dfa_24s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4";
27152 static final String[] dfa_18s = { 32812 static final String[] dfa_25s = {
27153 "\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", 32813 "\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",
27154 "\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", 32814 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\7\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\6\1\uffff\2\3\1\uffff\1\6",
27155 "\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", 32815 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\7\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\6\1\uffff\2\3\1\uffff\1\6",
27156 "", 32816 "",
27157 "", 32817 "",
27158 "\1\10", 32818 "\1\10",
27159 "\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",
27160 "", 32819 "",
27161 "\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", 32820 "\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",
32821 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\7\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\6\1\uffff\2\3\1\uffff\1\6",
27162 "" 32822 ""
27163 }; 32823 };
27164 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); 32824 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
27165 static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); 32825 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
27166 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); 32826 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
27167 static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); 32827 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
27168 static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); 32828 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s);
27169 32829
27170 class DFA11 extends DFA { 32830 class DFA11 extends DFA {
27171 32831
27172 public DFA11(BaseRecognizer recognizer) { 32832 public DFA11(BaseRecognizer recognizer) {
27173 this.recognizer = recognizer; 32833 this.recognizer = recognizer;
27174 this.decisionNumber = 11; 32834 this.decisionNumber = 11;
27175 this.eot = dfa_7; 32835 this.eot = dfa_14;
27176 this.eof = dfa_14; 32836 this.eof = dfa_21;
27177 this.min = dfa_15; 32837 this.min = dfa_22;
27178 this.max = dfa_16; 32838 this.max = dfa_23;
27179 this.accept = dfa_17; 32839 this.accept = dfa_24;
27180 this.special = dfa_12; 32840 this.special = dfa_19;
27181 this.transition = dfa_18; 32841 this.transition = dfa_25;
27182 } 32842 }
27183 public String getDescription() { 32843 public String getDescription() {
27184 return "1853:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );"; 32844 return "2058:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );";
27185 } 32845 }
27186 } 32846 }
27187 static final String dfa_19s = "\17\uffff"; 32847 static final String dfa_26s = "\17\uffff";
27188 static final String dfa_20s = "\13\uffff\2\7\1\uffff\1\7"; 32848 static final String dfa_27s = "\13\uffff\2\6\1\uffff\1\6";
27189 static final String dfa_21s = "\1\30\1\115\3\61\1\122\3\uffff\1\115\3\61\1\122\1\61"; 32849 static final String dfa_28s = "\1\27\1\100\3\44\1\105\3\uffff\1\100\3\44\1\105\1\44";
27190 static final String dfa_22s = "\1\30\1\123\1\77\2\63\1\122\3\uffff\1\122\1\77\2\121\1\122\1\121"; 32850 static final String dfa_29s = "\1\27\1\106\1\62\2\47\1\105\3\uffff\1\105\1\62\2\104\1\105\1\104";
27191 static final String dfa_23s = "\6\uffff\1\2\1\3\1\1\6\uffff"; 32851 static final String dfa_30s = "\6\uffff\1\3\1\2\1\1\6\uffff";
27192 static final String dfa_24s = "\17\uffff}>"; 32852 static final String dfa_31s = "\17\uffff}>";
27193 static final String[] dfa_25s = { 32853 static final String[] dfa_32s = {
27194 "\1\1", 32854 "\1\1",
27195 "\1\3\4\uffff\1\2\1\4", 32855 "\1\3\4\uffff\1\2\1\4",
27196 "\1\6\1\10\1\7\13\uffff\1\5", 32856 "\1\7\1\10\1\uffff\1\6\12\uffff\1\5",
27197 "\1\6\1\10\1\7", 32857 "\1\7\1\10\1\uffff\1\6",
27198 "\1\11\1\uffff\1\6", 32858 "\1\11\2\uffff\1\7",
27199 "\1\12", 32859 "\1\12",
27200 "", 32860 "",
27201 "", 32861 "",
27202 "", 32862 "",
27203 "\1\14\4\uffff\1\13", 32863 "\1\14\4\uffff\1\13",
27204 "\1\6\1\10\1\7\13\uffff\1\5", 32864 "\1\7\1\10\1\uffff\1\6\12\uffff\1\5",
27205 "\1\6\15\uffff\1\15\21\uffff\1\7", 32865 "\1\7\15\uffff\1\15\21\uffff\1\6",
27206 "\1\6\37\uffff\1\7", 32866 "\1\7\37\uffff\1\6",
27207 "\1\16", 32867 "\1\16",
27208 "\1\6\15\uffff\1\15\21\uffff\1\7" 32868 "\1\7\15\uffff\1\15\21\uffff\1\6"
27209 }; 32869 };
27210 32870
27211 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); 32871 static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
27212 static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); 32872 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
27213 static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); 32873 static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
27214 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); 32874 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
27215 static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); 32875 static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
27216 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); 32876 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
27217 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); 32877 static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s);
27218 32878
27219 class DFA14 extends DFA { 32879 class DFA14 extends DFA {
27220 32880
27221 public DFA14(BaseRecognizer recognizer) { 32881 public DFA14(BaseRecognizer recognizer) {
27222 this.recognizer = recognizer; 32882 this.recognizer = recognizer;
27223 this.decisionNumber = 14; 32883 this.decisionNumber = 14;
27224 this.eot = dfa_19; 32884 this.eot = dfa_26;
27225 this.eof = dfa_20; 32885 this.eof = dfa_27;
27226 this.min = dfa_21; 32886 this.min = dfa_28;
27227 this.max = dfa_22; 32887 this.max = dfa_29;
27228 this.accept = dfa_23; 32888 this.accept = dfa_30;
27229 this.special = dfa_24; 32889 this.special = dfa_31;
27230 this.transition = dfa_25; 32890 this.transition = dfa_32;
27231 } 32891 }
27232 public String getDescription() { 32892 public String getDescription() {
27233 return "1952:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );"; 32893 return "2157:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );";
27234 } 32894 }
27235 } 32895 }
27236 32896
27237 32897
27238 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 32898 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
27239 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 32899 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
27240 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x53401FC179FD6362L,0x00000000000C3040L}); 32900 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L});
27241 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); 32901 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
27242 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000000L,0x0000000000000012L}); 32902 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000000L});
27243 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); 32903 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0010000000000000L});
27244 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); 32904 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L});
27245 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0001000000000000L}); 32905 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000800000000L});
27246 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); 32906 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L});
27247 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000400000L}); 32907 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000200000L});
27248 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000020L}); 32908 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000010L});
27249 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0200000000000000L}); 32909 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000100000000000L});
27250 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); 32910 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L});
27251 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); 32911 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L});
27252 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); 32912 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L});
27253 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); 32913 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L});
27254 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000004L}); 32914 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L});
27255 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); 32915 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L});
27256 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); 32916 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000000L});
27257 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000400000000000L}); 32917 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0001000000000002L});
27258 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x2000000000000000L}); 32918 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
27259 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x2000000000000002L}); 32919 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004000000L});
27260 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x008E200000000000L,0x0000000000000028L}); 32920 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000001000000L});
27261 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x5000000000000000L}); 32921 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0001040000000000L});
27262 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x5000000000000002L}); 32922 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000004000000000L});
27263 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000001L}); 32923 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000200000000L});
27264 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); 32924 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0020000000000000L});
27265 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); 32925 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0020000000000002L});
27266 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); 32926 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000000L});
27267 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); 32927 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x014004B100000000L});
27268 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); 32928 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0002800000000000L});
27269 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); 32929 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0002800000000002L});
27270 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0400000000000000L}); 32930 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0008400000000000L});
27271 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); 32931 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0008400000000002L});
27272 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); 32932 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0800000000000000L});
27273 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); 32933 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000010000000000L});
27274 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0800000000000000L}); 32934 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L});
27275 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000800000000000L}); 32935 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0200000000000000L});
27276 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); 32936 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L});
27277 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000008000000000L}); 32937 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x1200000000000000L});
27278 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000200000L}); 32938 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x6000000000000000L});
27279 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000080040L}); 32939 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000200000000000L});
27280 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); 32940 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL});
27281 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); 32941 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L});
27282 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); 32942 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L});
27283 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000082L,0x0000000000042000L}); 32943 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000400000000000L});
27284 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042000L}); 32944 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000400000000L});
27285 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); 32945 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0400000000000000L});
27286 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000400L,0x0000000000000004L}); 32946 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000020000000L});
27287 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); 32947 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000100000L});
27288 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); 32948 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000040020L});
27289 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); 32949 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x1000000000002000L});
27290 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0004000000000000L}); 32950 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L});
27291 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); 32951 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000042L,0x0000000000000021L});
27292 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0002000000000000L}); 32952 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000021L});
27293 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0008000000000000L}); 32953 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L});
27294 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x8000000000000000L}); 32954 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0020000000000400L});
27295 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x8000000000000002L}); 32955 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L});
32956 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
32957 public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000002000000000L});
32958 public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L});
32959 public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000001000000000L});
32960 public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000008000000000L});
32961 public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0004000000000000L});
32962 public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0004000000000002L});
27296 32963
27297} \ No newline at end of file 32964} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.tokens b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.tokens
index 81343db5..736b2f0a 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.tokens
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/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.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.g b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.g
index 309435e3..77e9557a 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.g
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.g
@@ -11,24 +11,20 @@ package org.eclipse.viatra.solver.language.ide.contentassist.antlr.lexer;
11import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; 11import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.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.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.java
index 86514bf5..541338df 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/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.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.tokens b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.tokens
index 133cc9d6..178103e2 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/lexer/InternalSolverLanguageLexer.tokens
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/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.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java
index 4beca20e..5ee4eb1b 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java
+++ b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java
@@ -51,11 +51,8 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
51 public void completeDefaultDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 51 public void completeDefaultDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
52 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 52 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
53 } 53 }
54 public void completeExternPredicateDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
55 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
56 }
57 public void completeMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 54 public void completeMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
58 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 55 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
59 } 56 }
60 public void completeMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 57 public void completeMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
61 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 58 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
@@ -63,10 +60,40 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
63 public void completeMetricDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 60 public void completeMetricDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
64 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 61 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
65 } 62 }
63 public void completeExternPredicateDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
64 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
65 }
66 public void completeExternPredicateDefinition_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
67 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
68 }
66 public void completeExternMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 69 public void completeExternMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
70 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
71 }
72 public void completeExternMetricDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
73 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
74 }
75 public void completeExternMetricDefinition_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
76 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
77 }
78 public void completeExternAggregatorDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
79 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
80 }
81 public void completeExternAggregatorDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
82 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
83 }
84 public void completeExternAggregatorDefinition_InputType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
85 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
86 }
87 public void completeExternDatatypeDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
67 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 88 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
68 } 89 }
69 public void completeExternMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 90 public void completeExternDatatypeDefinition_Supertypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
91 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
92 }
93 public void completeVariable_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
94 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
95 }
96 public void completeVariable_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
70 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 97 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
71 } 98 }
72 public void completeIfElse_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 99 public void completeIfElse_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -78,6 +105,24 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
78 public void completeIfElse_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 105 public void completeIfElse_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
79 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 106 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
80 } 107 }
108 public void completeLet_Bindings(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
109 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
110 }
111 public void completeLet_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
112 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
113 }
114 public void completeLetBinding_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
115 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
116 }
117 public void completeLetBinding_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
118 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
119 }
120 public void completeImplicationExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
121 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
122 }
123 public void completeImplicationExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
124 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
125 }
81 public void completeDisjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 126 public void completeDisjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
82 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 127 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
83 } 128 }
@@ -120,16 +165,31 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
120 public void completeExponentialExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 165 public void completeExponentialExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
121 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 166 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
122 } 167 }
168 public void completeCastExpression_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
169 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
170 }
123 public void completeUnaryExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 171 public void completeUnaryExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
124 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 172 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
125 } 173 }
126 public void completeUnaryExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 174 public void completeUnaryExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
127 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 175 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
128 } 176 }
129 public void completeCount_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 177 public void completeLocalVariables_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
178 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
179 }
180 public void completeQuantifiedExpression_Quantifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
181 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
182 }
183 public void completeQuantifiedExpression_LocalVariables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
184 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
185 }
186 public void completeQuantifiedExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
130 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 187 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
131 } 188 }
132 public void completeAggregation_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 189 public void completeAggregation_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
190 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
191 }
192 public void completeAggregation_LocalVariables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
133 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 193 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
134 } 194 }
135 public void completeAggregation_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 195 public void completeAggregation_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -246,9 +306,6 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
246 public void completeObjectiveDefinition_Objective(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 306 public void completeObjectiveDefinition_Objective(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
247 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 307 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
248 } 308 }
249 public void completeNamedElement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
250 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
251 }
252 309
253 public void complete_Problem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 310 public void complete_Problem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
254 // subclasses may override 311 // subclasses may override
@@ -268,16 +325,22 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
268 public void complete_DefaultDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 325 public void complete_DefaultDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
269 // subclasses may override 326 // subclasses may override
270 } 327 }
328 public void complete_MetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
329 // subclasses may override
330 }
271 public void complete_ExternPredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 331 public void complete_ExternPredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
272 // subclasses may override 332 // subclasses may override
273 } 333 }
274 public void complete_MetricType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 334 public void complete_ExternMetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
275 // subclasses may override 335 // subclasses may override
276 } 336 }
277 public void complete_MetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 337 public void complete_ExternAggregatorDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
278 // subclasses may override 338 // subclasses may override
279 } 339 }
280 public void complete_ExternMetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 340 public void complete_ExternDatatypeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
341 // subclasses may override
342 }
343 public void complete_Variable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
281 // subclasses may override 344 // subclasses may override
282 } 345 }
283 public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 346 public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -286,6 +349,18 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
286 public void complete_IfElse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 349 public void complete_IfElse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
287 // subclasses may override 350 // subclasses may override
288 } 351 }
352 public void complete_Let(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
353 // subclasses may override
354 }
355 public void complete_LetBinding(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
356 // subclasses may override
357 }
358 public void complete_ImplicationOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
359 // subclasses may override
360 }
361 public void complete_ImplicationExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
362 // subclasses may override
363 }
289 public void complete_DisjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 364 public void complete_DisjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
290 // subclasses may override 365 // subclasses may override
291 } 366 }
@@ -295,9 +370,6 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
295 public void complete_ConjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 370 public void complete_ConjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
296 // subclasses may override 371 // subclasses may override
297 } 372 }
298 public void complete_BinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
299 // subclasses may override
300 }
301 public void complete_ComparisonOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 373 public void complete_ComparisonOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
302 // subclasses may override 374 // subclasses may override
303 } 375 }
@@ -322,6 +394,9 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
322 public void complete_ExponentialExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 394 public void complete_ExponentialExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
323 // subclasses may override 395 // subclasses may override
324 } 396 }
397 public void complete_CastExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
398 // subclasses may override
399 }
325 public void complete_UnaryOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 400 public void complete_UnaryOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
326 // subclasses may override 401 // subclasses may override
327 } 402 }
@@ -331,10 +406,13 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
331 public void complete_AggregationExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 406 public void complete_AggregationExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
332 // subclasses may override 407 // subclasses may override
333 } 408 }
334 public void complete_Count(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 409 public void complete_LocalVariables(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
335 // subclasses may override 410 // subclasses may override
336 } 411 }
337 public void complete_AggregationOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 412 public void complete_Quantifier(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
413 // subclasses may override
414 }
415 public void complete_QuantifiedExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
338 // subclasses may override 416 // subclasses may override
339 } 417 }
340 public void complete_Aggregation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 418 public void complete_Aggregation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -454,7 +532,4 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
454 public void complete_FULL_STOP(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 532 public void complete_FULL_STOP(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
455 // subclasses may override 533 // subclasses may override
456 } 534 }
457 public void complete_NamedElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
458 // subclasses may override
459 }
460} 535}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
index a71f12bf..d0f29da0 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
index 2972aaaa..1a22dc64 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
index 0aec0cb3..88122ad9 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
Binary files differ
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
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
index 1f192d67..419d8640 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -1,30 +1,30 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!-- 1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin> 2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package"> 3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated satellite --> 4 <!-- @generated satellite -->
5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/> 5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/>
6 </extension> 6 </extension>
7 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> 7 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
8 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> 8 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries">
9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/> 10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/>
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/> 11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.differentFrequency"/> 18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.differentFrequency"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForUHF"/> 19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForUHF"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForUHF"/> 20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForUHF"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForKaComm"/> 21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForKaComm"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForKaComm"/> 22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForKaComm"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForXComm"/> 23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForXComm"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForXComm"/> 24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForXComm"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighPathLengthForSatelite"/> 25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighPathLengthForSatelite"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForSatelite"/> 26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForSatelite"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForGroundStation"/> 27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForGroundStation"/>
28 </group> 28 </group>
29 </extension> 29 </extension>
30</plugin> 30</plugin>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend
index 41482b28..e4bdb086 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend
@@ -4,10 +4,21 @@ import java.util.HashMap
4import java.util.Map 4import java.util.Map
5import java.util.Set 5import java.util.Set
6import org.eclipse.xtend.lib.annotations.Data 6import org.eclipse.xtend.lib.annotations.Data
7import org.eclipse.xtend2.lib.StringConcatenationClient
7 8
8@Data abstract class AbstractNodeDescriptor { 9@Data abstract class AbstractNodeDescriptor {
9 long dataHash 10 long dataHash
10 11
12 protected def StringConcatenationClient prettyPrint() {
13 '''(«dataHash»)[«class.simpleName»]'''
14 }
15
16 override toString() {
17 '''
18 «prettyPrint»
19 '''
20 }
21
11// @Pure 22// @Pure
12// @Override 23// @Override
13// override public boolean equals(Object obj) { 24// override public boolean equals(Object obj) {
@@ -24,34 +35,45 @@ import org.eclipse.xtend.lib.annotations.Data
24// } 35// }
25} 36}
26 37
27@Data class LocalNodeDescriptor extends AbstractNodeDescriptor{ 38@Data class LocalNodeDescriptor extends AbstractNodeDescriptor {
28 Set<String> types 39 Set<String> types
29 String id; 40 String id;
41
30 new(String id, Set<String> types) { 42 new(String id, Set<String> types) {
31 super(calcualteDataHash(id,types)) 43 super(calcualteDataHash(id, types))
32 this.types = types 44 this.types = types
33 this.id = id 45 this.id = id
34 } 46 }
35 47
36 def private static calcualteDataHash(String id, Set<String> types) { 48 def private static calcualteDataHash(String id, Set<String> types) {
37 val int prime = 31; 49 val int prime = 31;
38 var result = 0 50 var result = 0
39 if(id !== null) 51 if (id !== null)
40 result = id.hashCode(); 52 result = id.hashCode();
41 if(types !== null) { 53 if (types !== null) {
42 result = prime * result + types.hashCode 54 result = prime * result + types.hashCode
43 } 55 }
44 return result 56 return result
45 } 57 }
46 58
47 override hashCode() { 59 override hashCode() {
48 return this.dataHash.hashCode 60 return this.dataHash.hashCode
49 } 61 }
50 62
63 override equals(Object other) {
64 other.class == LocalNodeDescriptor && (other as AbstractNodeDescriptor).hashCode == hashCode
65 }
66
67 override protected prettyPrint() {
68 '''(«dataHash»)[«IF id !== null»id = "«id»"«IF types === null || !types.empty», «ENDIF»«ENDIF»«IF types === null»TYPES = null«ELSE»«FOR type : types SEPARATOR ", "»«type»«ENDFOR»«ENDIF»]'''
69 }
70
51 override toString() { 71 override toString() {
52 return class.name + this.dataHash 72 '''
73 «prettyPrint»
74 '''
53 } 75 }
54 76
55// @Pure 77// @Pure
56// @Override 78// @Override
57// override public boolean equals(Object obj) { 79// override public boolean equals(Object obj) {
@@ -66,7 +88,6 @@ import org.eclipse.xtend.lib.annotations.Data
66// return false; 88// return false;
67// return true; 89// return true;
68// } 90// }
69
70// @Pure 91// @Pure
71// override public boolean equals(Object obj) { 92// override public boolean equals(Object obj) {
72// if (this === obj) 93// if (this === obj)
@@ -97,49 +118,74 @@ import org.eclipse.xtend.lib.annotations.Data
97 String type 118 String type
98} 119}
99 120
100@Data class FurtherNodeDescriptor<NodeRep> extends AbstractNodeDescriptor{ 121@Data class FurtherNodeDescriptor<NodeRep> extends AbstractNodeDescriptor {
101 122
102 NodeRep previousRepresentation 123 NodeRep previousRepresentation
103 Map<IncomingRelation<NodeRep>,Integer> incomingEdges 124 Map<IncomingRelation<NodeRep>, Integer> incomingEdges
104 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges 125 Map<OutgoingRelation<NodeRep>, Integer> outgoingEdges
105 126
106 new( 127 new(NodeRep previousRepresentation, Map<IncomingRelation<NodeRep>, Integer> incomingEdges,
107 NodeRep previousRepresentation, 128 Map<OutgoingRelation<NodeRep>, Integer> outgoingEdges) {
108 Map<IncomingRelation<NodeRep>,Integer> incomingEdges, 129 super(calculateDataHash(previousRepresentation, incomingEdges, outgoingEdges))
109 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges) 130 this.previousRepresentation = previousRepresentation
110 { 131 this.incomingEdges = new HashMap(incomingEdges)
111 super(calculateDataHash(previousRepresentation,incomingEdges,outgoingEdges)) 132 this.outgoingEdges = new HashMap(outgoingEdges)
112 this.previousRepresentation = previousRepresentation
113 this.incomingEdges = new HashMap(incomingEdges)
114 this.outgoingEdges = new HashMap(outgoingEdges)
115 }
116
117 static def private <NodeRep> int calculateDataHash(
118 NodeRep previousRepresentation,
119 Map<IncomingRelation<NodeRep>,Integer> incomingEdges,
120 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges)
121 {
122 val int prime = 31;
123 var int result = previousRepresentation.hashCode;
124 if(incomingEdges !== null)
125 result = prime * result + incomingEdges.hashCode();
126 if(outgoingEdges !== null)
127 result = prime * result + outgoingEdges.hashCode();
128 return result;
129 }
130
131 override hashCode() {
132 return this.dataHash.hashCode
133 } 133 }
134 134
135 static def private <NodeRep> int calculateDataHash(NodeRep previousRepresentation,
136 Map<IncomingRelation<NodeRep>, Integer> incomingEdges, Map<OutgoingRelation<NodeRep>, Integer> outgoingEdges) {
137 val int prime = 31;
138 var int result = previousRepresentation.hashCode;
139 if (incomingEdges !== null)
140 result = prime * result + incomingEdges.hashCode();
141 if (outgoingEdges !== null)
142 result = prime * result + outgoingEdges.hashCode();
143 return result;
144 }
145
146 override hashCode() {
147 return this.dataHash.hashCode
148 }
149
150 override equals(Object other) {
151 other.class == FurtherNodeDescriptor && (other as AbstractNodeDescriptor).hashCode == hashCode
152 }
153
154 override prettyPrint() {
155 '''
156 («dataHash»)[
157 PREV = «previousRepresentation?.prettyPrint»
158 «IF incomingEdges === null»
159 IN null
160 «ELSE»
161 «FOR edge : incomingEdges.entrySet»
162 IN «edge.value» «edge.key.type» = «edge.key.from.prettyPrint»
163 «ENDFOR»
164 «ENDIF»
165 «IF outgoingEdges === null»
166 OUT null
167 «ELSE»
168 «FOR edge : outgoingEdges.entrySet»
169 OUT «edge.value» «edge.key.type» = «edge.key.to.prettyPrint»
170 «ENDFOR»
171 «ENDIF»
172 ]'''
173 }
174
175 private def StringConcatenationClient prettyPrint(NodeRep rep) {
176 if (rep instanceof AbstractNodeDescriptor) {
177 rep.prettyPrint
178 } else {
179 '''«rep»'''
180 }
181 }
182
135 override toString() { 183 override toString() {
136 return class.name + dataHash 184 '''
137// return '''[«previousRepresentation»,(«FOR 185 «prettyPrint»
138// in: incomingEdges.entrySet»(«in.key.type.name»=«in.key.from»,«in.value»)«ENDFOR»),(«FOR 186 '''
139// out: outgoingEdges.entrySet»(«out.key.type.name»=«out.key.to»,«out.value»)«ENDFOR»),«FOR
140// att: attributeValues»(«att.type.name»=«att.value»)«ENDFOR»]'''
141 } 187 }
142 188
143// @Pure 189// @Pure
144// @Override 190// @Override
145// override public boolean equals(Object obj) { 191// override public boolean equals(Object obj) {
@@ -154,7 +200,6 @@ import org.eclipse.xtend.lib.annotations.Data
154// return false; 200// return false;
155// return true; 201// return true;
156// } 202// }
157
158// @Pure 203// @Pure
159// override public boolean equals(Object obj) { 204// override public boolean equals(Object obj) {
160// if (this === obj) 205// if (this === obj)
@@ -191,24 +236,23 @@ import org.eclipse.xtend.lib.annotations.Data
191// return true; 236// return true;
192// } 237// }
193} 238}
194
195/* 239/*
196@Data 240 * @Data
197class ModelDescriptor { 241 * class ModelDescriptor {
198 int dataHash 242 * int dataHash
199 int unknownElements 243 * int unknownElements
200 Map<? extends AbstractNodeDescriptor,Integer> knownElements 244 * Map<? extends AbstractNodeDescriptor,Integer> knownElements
201 245 *
202 public new(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements) { 246 * public new(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements) {
203 this.dataHash = calculateDataHash(knownElements,unknownElements) 247 * this.dataHash = calculateDataHash(knownElements,unknownElements)
204 this.unknownElements = unknownElements 248 * this.unknownElements = unknownElements
205 this.knownElements = knownElements 249 * this.knownElements = knownElements
206 } 250 * }
207 251 *
208 def private static calculateDataHash(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements) 252 * def private static calculateDataHash(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements)
209 { 253 * {
210 val int prime = 31; 254 * val int prime = 31;
211 return knownElements.hashCode * prime + unknownElements.hashCode 255 * return knownElements.hashCode * prime + unknownElements.hashCode
212 } 256 * }
213} 257 * }
214*/ \ No newline at end of file 258 */
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodOptions.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodOptions.xtend
new file mode 100644
index 00000000..c6e03f75
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodOptions.xtend
@@ -0,0 +1,22 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
5import java.util.Set
6import org.eclipse.xtend.lib.annotations.Data
7
8@Data
9class NeighbourhoodOptions {
10 public static val FixPointRange = -1
11 public static val GraphWidthRange = -2
12 public static val FullParallels = Integer.MAX_VALUE
13 public static val MaxNumbers = Integer.MAX_VALUE
14
15 public static val DEFAULT = new NeighbourhoodOptions(FixPointRange, FullParallels, MaxNumbers, null, null)
16
17 val int range
18 val int parallels
19 val int maxNumber
20 val Set<TypeDeclaration> relevantTypes
21 val Set<RelationDeclaration> relevantRelations
22}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend
index d474877d..ddf7d712 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend
@@ -5,7 +5,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5 5
6class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepresentation<Integer, Integer>{ 6class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepresentation<Integer, Integer>{
7 7
8 protected new() { 8 new() {
9 super(false, true) 9 super(false, true)
10 } 10 }
11 11
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend
index d1bf0348..3048167e 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend
@@ -4,32 +4,34 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink 6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialPrimitiveInterpretation
10import java.util.ArrayList
8import java.util.HashMap 11import java.util.HashMap
9import java.util.HashSet 12import java.util.HashSet
10import java.util.LinkedList
11import java.util.List 13import java.util.List
12import java.util.Map 14import java.util.Map
13import java.util.Set 15import java.util.Set
14 16
15import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 17import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialPrimitiveInterpretation
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation
18 18
19abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresentation,NodeRepresentation> { 19abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresentation, NodeRepresentation> {
20 private val boolean deepRepresentation 20 val boolean deepRepresentation
21 private val boolean mergeSimilarNeighbourhood 21 val boolean mergeSimilarNeighbourhood
22 22
23 protected new(boolean deeprepresentation, boolean mergeSimilarNeighbourhood) { 23 protected new(boolean deeprepresentation, boolean mergeSimilarNeighbourhood) {
24 this.deepRepresentation = deeprepresentation 24 this.deepRepresentation = deeprepresentation
25 this.mergeSimilarNeighbourhood = mergeSimilarNeighbourhood 25 this.mergeSimilarNeighbourhood = mergeSimilarNeighbourhood
26 } 26 }
27 27
28 public static val FixPointRage = -1 28 public static val FixPointRange = NeighbourhoodOptions.FixPointRange
29 public static val GraphWidthRange = -2 29 public static val GraphWidthRange = NeighbourhoodOptions.GraphWidthRange
30 public static val FullParallels = Integer.MAX_VALUE 30 public static val FullParallels = NeighbourhoodOptions.FullParallels
31 public static val MaxNumbers = Integer.MAX_VALUE 31 public static val MaxNumbers = NeighbourhoodOptions.MaxNumbers
32 32
33 static val FOCUSED_ELEMENT_NAME = "<<THIS>>"
34
33 /** 35 /**
34 * Creates a neighbourhood representation with traces 36 * Creates a neighbourhood representation with traces
35 * @param model The model to be represented. 37 * @param model The model to be represented.
@@ -37,10 +39,15 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
37 * @param parallels The maximal number of parallel references to be differentiated. 39 * @param parallels The maximal number of parallel references to be differentiated.
38 * @param maxNumber The maximal number of elements in a equivalence class that chan be differentiated. 40 * @param maxNumber The maximal number of elements in a equivalence class that chan be differentiated.
39 */ 41 */
40 def public createRepresentation(PartialInterpretation model, int range, int parallels, int maxNumber) { 42 def createRepresentation(PartialInterpretation model, int range, int parallels, int maxNumber) {
41 return createRepresentation(model,range,parallels,maxNumber,null,null) 43 return createRepresentation(model, range, parallels, maxNumber, null, null)
44 }
45
46 def createRepresentation(PartialInterpretation model, NeighbourhoodOptions options) {
47 createRepresentation(model, options.range, options.parallels, options.maxNumber, options.relevantTypes,
48 options.relevantRelations)
42 } 49 }
43 50
44 /** 51 /**
45 * Creates a neighbourhood representation with traces 52 * Creates a neighbourhood representation with traces
46 * @param model The model to be represented. 53 * @param model The model to be represented.
@@ -48,45 +55,50 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
48 * @param parallels The maximal number of parallel references to be differentiated. 55 * @param parallels The maximal number of parallel references to be differentiated.
49 * @param maxNumber The maximal number of elements in a equivalence class that chan be differentiated. 56 * @param maxNumber The maximal number of elements in a equivalence class that chan be differentiated.
50 */ 57 */
51 def public createRepresentation( 58 def createRepresentation(PartialInterpretation model, int range, int parallels, int maxNumber,
52 PartialInterpretation model, 59 Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) {
53 int range, int parallels, int maxNumber, 60 createRepresentationWithFocus(model, range, parallels, maxNumber, relevantTypes, relevantRelations, null)
54 Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) 61 }
55 { 62
63 def createRepresentationWithFocus(PartialInterpretation model, NeighbourhoodOptions options,
64 DefinedElement focusedElement) {
65 createRepresentationWithFocus(model, options.range, options.parallels, options.maxNumber, options.relevantTypes,
66 options.relevantRelations, focusedElement)
67 }
68
69 def createRepresentationWithFocus(PartialInterpretation model, int range, int parallels, int maxNumber,
70 Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations, DefinedElement focusedElement) {
56 val Map<DefinedElement, Set<String>> types = new HashMap 71 val Map<DefinedElement, Set<String>> types = new HashMap
57 fillTypes(model,types,relevantTypes) 72 fillTypes(model, types, relevantTypes)
58 val Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations = new HashMap; 73 val Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations = new HashMap;
59 val Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations = new HashMap; 74 val Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations = new HashMap;
60 fillReferences(model,IncomingRelations,OutgoingRelations,relevantRelations) 75 fillReferences(model, IncomingRelations, OutgoingRelations, relevantRelations)
61 76
62 val res = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range,parallels,maxNumber); 77 val res = doRecursiveNeighbourCalculation(model, types, IncomingRelations, OutgoingRelations, range, parallels,
63 78 maxNumber, focusedElement);
79
64 return res; 80 return res;
65 } 81 }
66 82
67 def private isRelevant(TypeDeclaration t, Set<TypeDeclaration> relevantTypes) { 83 def private isRelevant(TypeDeclaration t, Set<TypeDeclaration> relevantTypes) {
68 if(relevantTypes === null) { 84 if (relevantTypes === null) {
69 return true 85 return true
70 } else { 86 } else {
71 return relevantTypes.contains(t) 87 return relevantTypes.contains(t)
72 } 88 }
73 } 89 }
90
74 def private isRelevant(RelationDeclaration r, Set<RelationDeclaration> relevantRelations) { 91 def private isRelevant(RelationDeclaration r, Set<RelationDeclaration> relevantRelations) {
75 if(relevantRelations === null) { 92 if (relevantRelations === null) {
76 return true 93 return true
77 } else { 94 } else {
78 return relevantRelations.contains(r) 95 return relevantRelations.contains(r)
79 } 96 }
80 } 97 }
81 /**
82 * Gets the largest
83 */
84/**
85 98
99 /**
86 * Gets the minimal neighbourhood size such that every reachable node appears in the shape of every other at least once. 100 * Gets the minimal neighbourhood size such that every reachable node appears in the shape of every other at least once.
87
88 */ 101 */
89
90 def private getWidth(Map<DefinedElement, Set<String>> types, 102 def private getWidth(Map<DefinedElement, Set<String>> types,
91 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 103 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
92 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations) { 104 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations) {
@@ -99,6 +111,7 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
99 reachable.put(element, new HashSet) 111 reachable.put(element, new HashSet)
100 newReachable.put(element, set) 112 newReachable.put(element, set)
101 } 113 }
114
102 var int width = 0 115 var int width = 0
103 var boolean newAdded 116 var boolean newAdded
104 do { 117 do {
@@ -122,7 +135,6 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
122 } while (newAdded) 135 } while (newAdded)
123 return width 136 return width
124 } 137 }
125
126 /** 138 /**
127 * Creates a neighbourhood representation with traces 139 * Creates a neighbourhood representation with traces
128 * @param model The model to be represented. 140 * @param model The model to be represented.
@@ -131,68 +143,71 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
131 * @param range The range of the neighbourhood. 143 * @param range The range of the neighbourhood.
132 * @param parallels The maximal number of parallel references to be differentiated. 144 * @param parallels The maximal number of parallel references to be differentiated.
133 */ 145 */
134 def private NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> doRecursiveNeighbourCalculation( 146 def private NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> doRecursiveNeighbourCalculation(
135 PartialInterpretation model, 147 PartialInterpretation model, Map<DefinedElement, Set<String>> types,
136 Map<DefinedElement, Set<String>> types,
137 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 148 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
138 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, 149 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, int range, int parallels,
139 int range, int parallels, int maxNumber) 150 int maxNumber, DefinedElement focusedElement) {
140 { 151 if (range == 0) {
141 if(range == 0){ 152 val r = calculateLocalNodeDescriptors(model, types, maxNumber, focusedElement)
142 val r = calculateLocalNodeDescriptors(model,types,maxNumber) 153 val res = this.createLocalRepresentation(r.value, r.key)
143 val res = this.createLocalRepresentation(r.value,r.key) 154 if (res.modelRepresentation === null) {
144 if(res.modelRepresentation === null) {
145 throw new IllegalArgumentException('''Model representation is null''') 155 throw new IllegalArgumentException('''Model representation is null''')
146 } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) { 156 } else if (res.nodeRepresentations === null || res.nodeRepresentations.empty) {
147 throw new IllegalArgumentException('''No node representation''') 157 throw new IllegalArgumentException('''No node representation''')
148 } else if(res.previousRepresentation !== null) { 158 } else if (res.previousRepresentation !== null) {
149 throw new IllegalArgumentException('''The previous representation of the first neighbourhood have to be null''') 159 throw new IllegalArgumentException('''The previous representation of the first neighbourhood have to be null''')
150 } else return res 160 } else
151 } else if(range > 0) { 161 return res
152 val previous = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range-1,parallels,maxNumber) 162 } else if (range > 0) {
153 val r = calculateFurtherNodeDescriptors(model,previous,IncomingRelations,OutgoingRelations,parallels,maxNumber) 163 val previous = doRecursiveNeighbourCalculation(model, types, IncomingRelations, OutgoingRelations,
154 //println('''Level «range» finished.''') 164 range - 1, parallels, maxNumber, focusedElement)
155 val res = createFurtherRepresentation(r.key,r.value,previous,deepRepresentation) 165 val r = calculateFurtherNodeDescriptors(model, previous, IncomingRelations, OutgoingRelations, parallels,
156 if(res.modelRepresentation === null) { 166 maxNumber)
167 // println('''Level «range» finished.''')
168 val res = createFurtherRepresentation(r.key, r.value, previous, deepRepresentation)
169 if (res.modelRepresentation === null) {
157 throw new IllegalArgumentException('''Model representation is null''') 170 throw new IllegalArgumentException('''Model representation is null''')
158 } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) { 171 } else if (res.nodeRepresentations === null || res.nodeRepresentations.empty) {
159 throw new IllegalArgumentException('''No node representation''') 172 throw new IllegalArgumentException('''No node representation''')
160 } else if(res.previousRepresentation === null && deepRepresentation) { 173 } else if (res.previousRepresentation === null && deepRepresentation) {
161 throw new IllegalArgumentException('''Need previous representations''') 174 throw new IllegalArgumentException('''Need previous representations''')
162 } else return res 175 } else
163 } else if (range == FixPointRage) { 176 return res
164 return refineUntilFixpoint(model,types,IncomingRelations,OutgoingRelations,parallels,maxNumber) 177 } else if (range == FixPointRange) {
178 return refineUntilFixpoint(model, types, IncomingRelations, OutgoingRelations, parallels, maxNumber,
179 focusedElement)
165 } else if (range == GraphWidthRange) { 180 } else if (range == GraphWidthRange) {
166 val width = this.getWidth(types,IncomingRelations,OutgoingRelations) 181 val width = this.getWidth(types, IncomingRelations, OutgoingRelations)
167 //println(width) 182 // println(width)
168 return doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,width,parallels,maxNumber) 183 return doRecursiveNeighbourCalculation(model, types, IncomingRelations, OutgoingRelations, width, parallels,
184 maxNumber, focusedElement)
169 } 185 }
170 } 186 }
171 187
172 def private refineUntilFixpoint( 188 def private refineUntilFixpoint(PartialInterpretation model, Map<DefinedElement, Set<String>> types,
173 PartialInterpretation model,
174 Map<DefinedElement, Set<String>> types,
175 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 189 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
176 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, 190 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, int parallels, int maxNumbers,
177 int parallels, int maxNumbers) 191 DefinedElement focusedElement) {
178 {
179 var lastRange = 0 192 var lastRange = 0
180 val last = calculateLocalNodeDescriptors(model,types,maxNumbers) 193 val last = calculateLocalNodeDescriptors(model, types, maxNumbers, focusedElement)
181 var lastRepresentation = this.createLocalRepresentation(last.value,last.key) 194 var lastRepresentation = this.createLocalRepresentation(last.value, last.key)
182 //println('''Level 0 finished.''') 195 // println('''Level 0 finished.''')
183 var boolean hasRefined 196 var boolean hasRefined
184 do { 197 do {
185 val nextRange = lastRange+1 198 val nextRange = lastRange + 1
186 val next = calculateFurtherNodeDescriptors(model,lastRepresentation,IncomingRelations,OutgoingRelations,parallels,maxNumbers) 199 val next = calculateFurtherNodeDescriptors(model, lastRepresentation, IncomingRelations, OutgoingRelations,
187 val nextRepresentation = createFurtherRepresentation(next.key,next.value,lastRepresentation,deepRepresentation) 200 parallels, maxNumbers)
188 201 val nextRepresentation = createFurtherRepresentation(next.key, next.value, lastRepresentation,
189 val previousNumberOfTypes =lastRepresentation.nodeRepresentations.values.toSet.size 202 deepRepresentation)
203
204 val previousNumberOfTypes = lastRepresentation.nodeRepresentations.values.toSet.size
190 val nextNumberOfTypes = nextRepresentation.nodeRepresentations.values.toSet.size 205 val nextNumberOfTypes = nextRepresentation.nodeRepresentations.values.toSet.size
191 hasRefined = nextNumberOfTypes > previousNumberOfTypes 206 hasRefined = nextNumberOfTypes > previousNumberOfTypes
192 207
193 lastRange = nextRange 208 lastRange = nextRange
194 lastRepresentation = nextRepresentation 209 lastRepresentation = nextRepresentation
195 210
196// if(hasRefined) { 211// if(hasRefined) {
197// println('''Level «nextRange» is calculated, number of types is refined: «previousNumberOfTypes» -> «nextNumberOfTypes»''') 212// println('''Level «nextRange» is calculated, number of types is refined: «previousNumberOfTypes» -> «nextNumberOfTypes»''')
198// } else { 213// } else {
@@ -201,211 +216,219 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta
201 } while (hasRefined) 216 } while (hasRefined)
202 return lastRepresentation 217 return lastRepresentation
203 } 218 }
204 219
205 def private getElements(PartialInterpretation model) { 220 def private getElements(PartialInterpretation model) {
206 return 221 return model.problem.elements + model.newElements + model.openWorldElements
207 model.problem.elements +
208 model.newElements +
209 model.openWorldElements
210 } 222 }
211 223
212 def private fillTypes(PartialInterpretation model, Map<DefinedElement, Set<String>> node2Type, Set<TypeDeclaration> relevantTypes) { 224 def private fillTypes(PartialInterpretation model, Map<DefinedElement, Set<String>> node2Type,
213 for(element : model.elements) { 225 Set<TypeDeclaration> relevantTypes) {
226 for (element : model.elements) {
214 node2Type.put(element, new HashSet) 227 node2Type.put(element, new HashSet)
215 } 228 }
216 229
217// for(typeDefinition : model.problem.types.filter(TypeDefinition)) { 230// for(typeDefinition : model.problem.types.filter(TypeDefinition)) {
218// // Dont need 231// // Dont need
219// } 232// }
220 for(typeInterpretation : model.partialtypeinterpratation) { 233 for (typeInterpretation : model.partialtypeinterpratation) {
221 if(typeInterpretation instanceof PartialPrimitiveInterpretation) { 234 if (typeInterpretation instanceof PartialPrimitiveInterpretation) {
222 235 } else if (typeInterpretation instanceof PartialComplexTypeInterpretation) {
223 } else if(typeInterpretation instanceof PartialComplexTypeInterpretation) {
224 val type = typeInterpretation.interpretationOf 236 val type = typeInterpretation.interpretationOf
225 if(type.isRelevant(relevantTypes)) { 237 if (type.isRelevant(relevantTypes)) {
226 for(element : typeInterpretation.elements) { 238 for (element : typeInterpretation.elements) {
227 element.lookup(node2Type).add(type.name) 239 element.lookup(node2Type).add(type.name)
228 } 240 }
229 } 241 }
230 } 242 }
231 } 243 }
232 } 244 }
233 245
234 /** 246 /**
235 * Indexes the references 247 * Indexes the references
236 */ 248 */
237 def private fillReferences(PartialInterpretation model, 249 def private fillReferences(PartialInterpretation model,
238 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 250 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
239 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, 251 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
240 Set<RelationDeclaration> relevantRelations) 252 Set<RelationDeclaration> relevantRelations) {
241 { 253 for (object : model.elements) {
242 for(object : model.elements) { 254 IncomingRelations.put(object, new ArrayList)
243 IncomingRelations.put(object,new LinkedList) 255 OutgoingRelations.put(object, new ArrayList)
244 OutgoingRelations.put(object,new LinkedList)
245 } 256 }
246 for(relationInterpretation : model.partialrelationinterpretation) { 257 for (relationInterpretation : model.partialrelationinterpretation) {
247 val type = relationInterpretation.interpretationOf 258 val type = relationInterpretation.interpretationOf
248 if(type.isRelevant(relevantRelations)) { 259 if (type.isRelevant(relevantRelations)) {
249 for(link : relationInterpretation.relationlinks) { 260 for (link : relationInterpretation.relationlinks) {
250 if(link instanceof BinaryElementRelationLink) { 261 if (link instanceof BinaryElementRelationLink) {
251 OutgoingRelations.get(link.param1) += new OutgoingRelation(link.param2,type.name) 262 OutgoingRelations.get(link.param1) += new OutgoingRelation(link.param2, type.name)
252 IncomingRelations.get(link.param2) += new IncomingRelation(link.param1,type.name) 263 IncomingRelations.get(link.param2) += new IncomingRelation(link.param1, type.name)
253 } else throw new UnsupportedOperationException 264 } else
265 throw new UnsupportedOperationException
254 } 266 }
255 } 267 }
256 } 268 }
257 } 269 }
258 270
259 /** 271 /**
260 * Creates a local representation of the objects (aka zero range neighbourhood) 272 * Creates a local representation of the objects (aka zero range neighbourhood)
261 */ 273 */
262 def abstract protected NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> createLocalRepresentation( 274 def abstract protected NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> createLocalRepresentation(
263 Map<DefinedElement, LocalNodeDescriptor> node2Representation, 275 Map<DefinedElement, LocalNodeDescriptor> node2Representation,
264 Map<LocalNodeDescriptor, Integer> representation2Amount 276 Map<LocalNodeDescriptor, Integer> representation2Amount
265 ) 277 )
266 278
267 /** 279 /**
268 * Creates a 280 * Creates a
269 */ 281 */
270 def abstract protected NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> createFurtherRepresentation( 282 def abstract protected NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> createFurtherRepresentation(
271 Map<FurtherNodeDescriptor<NodeRepresentation>, Integer> nodeDescriptors, 283 Map<FurtherNodeDescriptor<NodeRepresentation>, Integer> nodeDescriptors,
272 Map<DefinedElement, FurtherNodeDescriptor<NodeRepresentation>> node2Representation, 284 Map<DefinedElement, FurtherNodeDescriptor<NodeRepresentation>> node2Representation,
273 NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> previous, 285 NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> previous,
274 boolean deepRepresentation 286 boolean deepRepresentation
275 ) 287 )
276 288
277 def private addOne(int original, int max) { 289 def private addOne(int original, int max) {
278 if(original == Integer.MAX_VALUE) return Integer.MAX_VALUE 290 if(original == Integer.MAX_VALUE) return Integer.MAX_VALUE
279 if(original +1 > max) return Integer.MAX_VALUE 291 if(original + 1 > max) return Integer.MAX_VALUE else return original + 1
280 else return original+1
281 } 292 }
282 293
283 private def calculateIncomingEdges(Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 294 private def calculateIncomingEdges(Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
284 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations, int parallel) 295 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations,
285 { 296 int parallel) {
286 val Map<IncomingRelation<NodeRepresentation>, Integer> res = new HashMap 297 val Map<IncomingRelation<NodeRepresentation>, Integer> res = new HashMap
287 for (incomingConcreteEdge : IncomingRelations.get(object)) { 298 for (incomingConcreteEdge : IncomingRelations.get(object)) {
288 val IncomingRelation<NodeRepresentation> e = new IncomingRelation( 299 val IncomingRelation<NodeRepresentation> e = new IncomingRelation(
289 previousNodeRepresentations.get(incomingConcreteEdge.from), incomingConcreteEdge.type) 300 previousNodeRepresentations.get(incomingConcreteEdge.from), incomingConcreteEdge.type)
290 if (res.containsKey(e)) { 301 if (res.containsKey(e)) {
291 res.put(e, addOne(res.get(e),parallel)) 302 res.put(e, addOne(res.get(e), parallel))
292 } else { 303 } else {
293 res.put(e, 1) 304 res.put(e, 1)
294 } 305 }
295 } 306 }
296 return res 307 return res
297 } 308 }
298 309
299 private def calcuateOutgoingEdges(Map<DefinedElement,List<OutgoingRelation<DefinedElement>>> OutgoingRelations, 310 private def calcuateOutgoingEdges(Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
300 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations, int parallel) 311 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations,
301 { 312 int parallel) {
302 val Map<OutgoingRelation<NodeRepresentation>,Integer> res= new HashMap 313 val Map<OutgoingRelation<NodeRepresentation>, Integer> res = new HashMap
303 for(outgoingConcreteEdge : OutgoingRelations.get(object)) { 314 for (outgoingConcreteEdge : OutgoingRelations.get(object)) {
304 val OutgoingRelation<NodeRepresentation> e = 315 val OutgoingRelation<NodeRepresentation> e = new OutgoingRelation(
305 new OutgoingRelation( 316 previousNodeRepresentations.get(outgoingConcreteEdge.to), outgoingConcreteEdge.type)
306 previousNodeRepresentations.get(outgoingConcreteEdge.to), 317 if (res.containsKey(e)) {
307 outgoingConcreteEdge.type) 318 res.put(e, addOne(res.get(e), parallel))
308 if(res.containsKey(e)) {
309 res.put(e,addOne(res.get(e),parallel))
310 } else { 319 } else {
311 res.put(e,1) 320 res.put(e, 1)
312 } 321 }
313 } 322 }
314 return res; 323 return res;
315 } 324 }
316 325
317 /*def private <KEY,VALUE> void addOrCreate_Set(Map<KEY,Set<VALUE>> map, KEY key, VALUE value) { 326 /*def private <KEY,VALUE> void addOrCreate_Set(Map<KEY,Set<VALUE>> map, KEY key, VALUE value) {
318 var Set<VALUE> s; 327 * var Set<VALUE> s;
319 if(map.containsKey(key)) { 328 * if(map.containsKey(key)) {
320 s = map.get(key); 329 * s = map.get(key);
321 } else { 330 * } else {
322 s = new HashSet 331 * s = new HashSet
323 map.put(key,s) 332 * map.put(key,s)
324 } 333 * }
325 s.add(value) 334 * s.add(value)
326 }*/ 335 }*/
327 336 private def calculateFurtherNodeDescriptors(PartialInterpretation model,
328
329 private def calculateFurtherNodeDescriptors(
330 PartialInterpretation model,
331 NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> previous, 337 NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> previous,
332 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations, 338 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
333 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, 339 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations, int parallels, int maxNumber) {
334 int parallels, int maxNumber)
335 {
336 val previousNodeRepresentations = previous.nodeRepresentations 340 val previousNodeRepresentations = previous.nodeRepresentations
337 val node2Representation = new HashMap<DefinedElement,FurtherNodeDescriptor<NodeRepresentation>> 341 val node2Representation = new HashMap<DefinedElement, FurtherNodeDescriptor<NodeRepresentation>>
338 val Map<FurtherNodeDescriptor<NodeRepresentation>,Integer> descriptor2Number = 342 val Map<FurtherNodeDescriptor<NodeRepresentation>, Integer> descriptor2Number = if (this.
339 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } 343 mergeSimilarNeighbourhood) {
340 val Map<FurtherNodeDescriptor<NodeRepresentation>,FurtherNodeDescriptor<NodeRepresentation>> uniqueDescription = 344 new HashMap
341 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } 345 } else {
342 346 null
343 for(object: model.elements) { 347 }
344 val incomingEdges = this.calculateIncomingEdges(IncomingRelations, object, previousNodeRepresentations,parallels) 348 val Map<FurtherNodeDescriptor<NodeRepresentation>, FurtherNodeDescriptor<NodeRepresentation>> uniqueDescription = if (this.
345 val outgoingEdges = this.calcuateOutgoingEdges(OutgoingRelations,object, previousNodeRepresentations,parallels) 349 mergeSimilarNeighbourhood) {
346 350 new HashMap
351 } else {
352 null
353 }
354
355 for (object : model.elements) {
356 val incomingEdges = this.calculateIncomingEdges(IncomingRelations, object, previousNodeRepresentations,
357 parallels)
358 val outgoingEdges = this.calcuateOutgoingEdges(OutgoingRelations, object, previousNodeRepresentations,
359 parallels)
360
347 val previousType = previousNodeRepresentations.get(object) 361 val previousType = previousNodeRepresentations.get(object)
348 362
349 if(previousType === null) { 363 if (previousType === null) {
350 println("Error in state coder") 364 println("Error in state coder")
351 } 365 }
352 366
353 val nodeDescriptor = new FurtherNodeDescriptor( 367 val nodeDescriptor = new FurtherNodeDescriptor(previousType, incomingEdges, outgoingEdges)
354 previousType, 368
355 incomingEdges, 369 if (this.mergeSimilarNeighbourhood) {
356 outgoingEdges) 370 if (descriptor2Number.containsKey(nodeDescriptor)) {
357
358 if(this.mergeSimilarNeighbourhood) {
359 if(descriptor2Number.containsKey(nodeDescriptor)) {
360 descriptor2Number.put( 371 descriptor2Number.put(
361 nodeDescriptor, 372 nodeDescriptor,
362 addOne(descriptor2Number.get(nodeDescriptor),maxNumber) 373 addOne(descriptor2Number.get(nodeDescriptor), maxNumber)
363 ) 374 )
364 node2Representation.put(object,uniqueDescription.get(nodeDescriptor)) 375 node2Representation.put(object, uniqueDescription.get(nodeDescriptor))
365 } else { 376 } else {
366 descriptor2Number.put(nodeDescriptor,if(1>maxNumber){Integer.MAX_VALUE}else{1}) 377 descriptor2Number.put(nodeDescriptor, if (1 > maxNumber) {
367 uniqueDescription.put(nodeDescriptor,nodeDescriptor) 378 Integer.MAX_VALUE
368 node2Representation.put(object,nodeDescriptor) 379 } else {
380 1
381 })
382 uniqueDescription.put(nodeDescriptor, nodeDescriptor)
383 node2Representation.put(object, nodeDescriptor)
369 } 384 }
370 } else { 385 } else {
371 node2Representation.put(object,nodeDescriptor) 386 node2Representation.put(object, nodeDescriptor)
372 } 387 }
373 } 388 }
374 389
375 return descriptor2Number -> node2Representation 390 return descriptor2Number -> node2Representation
376 } 391 }
377 392
378 private def calculateLocalNodeDescriptors( 393 private def calculateLocalNodeDescriptors(PartialInterpretation model, Map<DefinedElement, Set<String>> types,
379 PartialInterpretation model, 394 int maxNumber, DefinedElement focusedElement) {
380 Map<DefinedElement, Set<String>> types,
381 int maxNumber)
382 {
383 val Map<DefinedElement, LocalNodeDescriptor> node2Representation = new HashMap 395 val Map<DefinedElement, LocalNodeDescriptor> node2Representation = new HashMap
384 val Map<LocalNodeDescriptor, Integer> representation2Amount = 396 val Map<LocalNodeDescriptor, Integer> representation2Amount = if (mergeSimilarNeighbourhood) {
385 if(mergeSimilarNeighbourhood){ new HashMap } else { null } 397 new HashMap
386 val Map<LocalNodeDescriptor, LocalNodeDescriptor> uniqueRepresentation = 398 } else {
387 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } 399 null
388 400 }
389 for(element : model.elements) { 401 val Map<LocalNodeDescriptor, LocalNodeDescriptor> uniqueRepresentation = if (this.mergeSimilarNeighbourhood) {
390 var newDescriptor = new LocalNodeDescriptor(element.name,element.lookup(types)) 402 new HashMap
391 if(this.mergeSimilarNeighbourhood){ 403 } else {
392 if(uniqueRepresentation.containsKey(newDescriptor)) { 404 null
405 }
406
407 for (element : model.elements) {
408 val name = if(element == focusedElement) FOCUSED_ELEMENT_NAME else element.name
409 var newDescriptor = new LocalNodeDescriptor(name, element.lookup(types))
410 if (this.mergeSimilarNeighbourhood) {
411 if (uniqueRepresentation.containsKey(newDescriptor)) {
393 newDescriptor = newDescriptor.lookup(uniqueRepresentation) 412 newDescriptor = newDescriptor.lookup(uniqueRepresentation)
394 node2Representation.put(element,newDescriptor) 413 node2Representation.put(element, newDescriptor)
395 representation2Amount.put( 414 representation2Amount.put(
396 newDescriptor, 415 newDescriptor,
397 addOne(newDescriptor.lookup(representation2Amount),maxNumber) 416 addOne(newDescriptor.lookup(representation2Amount), maxNumber)
398 ) 417 )
399 } else { 418 } else {
400 uniqueRepresentation.put(newDescriptor,newDescriptor) 419 uniqueRepresentation.put(newDescriptor, newDescriptor)
401 node2Representation.put(element,newDescriptor) 420 node2Representation.put(element, newDescriptor)
402 representation2Amount.put(newDescriptor, if(1>maxNumber){Integer.MAX_VALUE}else{1}) 421 representation2Amount.put(newDescriptor, if (1 > maxNumber) {
422 Integer.MAX_VALUE
423 } else {
424 1
425 })
403 } 426 }
404 } else { 427 } else {
405 node2Representation.put(element,newDescriptor) 428 node2Representation.put(element, newDescriptor)
406 } 429 }
407 } 430 }
408 431
409 return representation2Amount -> node2Representation 432 return representation2Amount -> node2Representation
410 } 433 }
411} \ No newline at end of file 434}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2PairwiseNeighbourhoodRepresentation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2PairwiseNeighbourhoodRepresentation.xtend
new file mode 100644
index 00000000..c10457b0
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2PairwiseNeighbourhoodRepresentation.xtend
@@ -0,0 +1,68 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import com.google.common.collect.Maps
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
6import java.util.HashMap
7import java.util.Map
8import org.eclipse.xtend.lib.annotations.Data
9import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
10
11@Data
12class PairwiseNeighbourhoodRepresentation<BasicNodeRepresentation> {
13 val Map<?, Integer> modelRepresentation
14 val Map<DefinedElement, BasicNodeRepresentation> basicNodeRepresentations
15 val Map<DefinedElement, ? extends Map<DefinedElement, ? extends BasicNodeRepresentation>> pairwiseNodeRepresentations
16
17 def getBasicRepresentation(DefinedElement a) {
18 basicNodeRepresentations.get(a)
19 }
20
21 def getPairwiseRepresentation(DefinedElement a, DefinedElement b) {
22 pairwiseNodeRepresentations.get(a).get(b)
23 }
24}
25
26@FinalFieldsConstructor
27class PartialInterpretation2PairwiseNeighbourhoodRepresentation<BasicNodeRepresentation> {
28 val PartialInterpretation2NeighbourhoodRepresentation<? extends Map<? extends BasicNodeRepresentation, Integer>, BasicNodeRepresentation> basicNeighbourhoodRepresenter
29
30 def createRepresentation(PartialInterpretation model, NeighbourhoodOptions options) {
31 val basicRepresentation = basicNeighbourhoodRepresenter.createRepresentation(model, options)
32 val basicModelRepresentation = basicRepresentation.modelRepresentation
33 val basicNodeRepresentations = basicRepresentation.nodeRepresentations
34 val pairwiseNodeRepresentations = Maps.newHashMapWithExpectedSize(basicNodeRepresentations.size)
35 val modelRepresentation = new HashMap<Object, Integer>
36 for (nodeWithBasicRepresentation : basicNodeRepresentations.entrySet) {
37 val node = nodeWithBasicRepresentation.key
38 val basicNodeRepresentation = nodeWithBasicRepresentation.value
39 val count = basicModelRepresentation.get(basicNodeRepresentation)
40 if (count == 1) {
41 pairwiseNodeRepresentations.put(node, basicNodeRepresentations)
42 modelRepresentation.put(basicNodeRepresentation, count)
43 } else {
44 val neighbourhoodRepresentation = basicNeighbourhoodRepresenter.
45 createRepresentationWithFocus(model, options, node)
46 pairwiseNodeRepresentations.put(node, neighbourhoodRepresentation.nodeRepresentations)
47 modelRepresentation.compute(neighbourhoodRepresentation.modelRepresentation) [ key, value |
48 if (value === null) {
49 if (1 > options.maxNumber) {
50 Integer.MAX_VALUE
51 } else {
52 1
53 }
54 } else {
55 addOne(value, options.maxNumber)
56 }
57 ]
58 }
59 }
60 new PairwiseNeighbourhoodRepresentation(modelRepresentation, basicNodeRepresentations,
61 pairwiseNodeRepresentations)
62 }
63
64 def private addOne(int original, int max) {
65 if(original == Integer.MAX_VALUE) return Integer.MAX_VALUE
66 if(original + 1 > max) return Integer.MAX_VALUE else return original + 1
67 }
68}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/AbstractNeighborhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/AbstractNeighborhoodBasedStateCoderFactory.xtend
new file mode 100644
index 00000000..089880b1
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/AbstractNeighborhoodBasedStateCoderFactory.xtend
@@ -0,0 +1,137 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodOptions
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialPrimitiveInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
10import java.util.LinkedList
11import java.util.List
12import org.eclipse.emf.common.notify.Notifier
13import org.eclipse.emf.ecore.EClass
14import org.eclipse.emf.ecore.EObject
15import org.eclipse.emf.ecore.EStructuralFeature
16import org.eclipse.viatra.dse.statecode.IStateCoder
17import org.eclipse.viatra.dse.statecode.IStateCoderFactory
18import org.eclipse.viatra.query.runtime.api.IPatternMatch
19import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
20import org.eclipse.viatra.query.runtime.base.api.FeatureListener
21import org.eclipse.viatra.query.runtime.base.api.IndexingLevel
22import org.eclipse.viatra.query.runtime.base.api.InstanceListener
23import org.eclipse.viatra.query.runtime.emf.EMFBaseIndexWrapper
24import org.eclipse.viatra.query.runtime.emf.EMFScope
25import org.eclipse.xtend.lib.annotations.Accessors
26
27abstract class AbstractNeighbourhoodBasedStateCoderFactory implements IStateCoderFactory {
28 val List<AbstractNeighbourhoodBasedPartialInterpretationStateCoder> statecoders = new LinkedList
29
30 val NeighbourhoodOptions options
31
32 protected new() {
33 this(NeighbourhoodOptions.DEFAULT)
34 }
35
36 protected new(NeighbourhoodOptions options) {
37 this.options = options
38 }
39
40 synchronized override createStateCoder() {
41 val res = doCreateStateCoder(options)
42 statecoders += res
43 return res
44 }
45
46 protected def AbstractNeighbourhoodBasedPartialInterpretationStateCoder doCreateStateCoder(
47 NeighbourhoodOptions options)
48
49 def getSumStatecoderRuntime() {
50 statecoders.map[statecoderRuntime].reduce[p1, p2|p1 + p2]
51 }
52}
53
54abstract class AbstractNeighbourhoodBasedPartialInterpretationStateCoder implements IStateCoder {
55 val NeighbourhoodOptions options
56
57 var PartialInterpretation target
58
59 protected new(NeighbourhoodOptions options) {
60 this.options = options
61 }
62
63 @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0
64
65 synchronized private def refreshStateCodes() {
66 if (refreshNeeded) {
67 val startTime = System.nanoTime
68 doRefreshStateCodes(target, options)
69 statecoderRuntime += (System.nanoTime - startTime)
70 }
71 }
72
73 protected def boolean isRefreshNeeded()
74
75 protected def void doRefreshStateCodes(PartialInterpretation target, NeighbourhoodOptions options)
76
77 synchronized override createActivationCode(IPatternMatch match) {
78 refreshStateCodes
79 val startTime = System.nanoTime
80 val code = doCreateActivationCode(match)
81 statecoderRuntime += (System.nanoTime - startTime)
82 code
83 }
84
85 protected def Object doCreateActivationCode(IPatternMatch match)
86
87 synchronized override createStateCode() {
88 refreshStateCodes
89 doCreateStateCode
90 }
91
92 protected def Object doCreateStateCode()
93
94 override init(Notifier notifier) {
95 this.target = notifier as PartialInterpretation
96 val queryEngine = ViatraQueryEngine.on(new EMFScope(notifier))
97 val baseIndex = queryEngine.getBaseIndex() as EMFBaseIndexWrapper
98 val navigationHelper = baseIndex.getNavigationHelper();
99
100 val classes = PartialinterpretationPackage.eINSTANCE.EClassifiers.filter(EClass).toSet
101 val features = classes.map[it.EAllStructuralFeatures].flatten.toSet
102 navigationHelper.registerObservedTypes(classes, null, features, IndexingLevel.FULL);
103
104 navigationHelper.addFeatureListener(features, new FeatureListener() {
105 override void featureInserted(EObject host, EStructuralFeature feature, Object value) { invalidate }
106
107 override void featureDeleted(EObject host, EStructuralFeature feature, Object value) { invalidate }
108 })
109 navigationHelper.addInstanceListener(classes, new InstanceListener() {
110 override void instanceInserted(EClass clazz, EObject instance) { invalidate }
111
112 override void instanceDeleted(EClass clazz, EObject instance) { invalidate }
113 })
114 }
115
116 synchronized def invalidate() {
117 doInvalidate
118 }
119
120 protected def void doInvalidate()
121
122 def protected getFallbackCode(Object o) {
123 switch (o) {
124 PartialInterpretation,
125 LogicProblem:
126 null
127 PartialRelationInterpretation:
128 o.interpretationOf.name
129 PartialPrimitiveInterpretation:
130 o.class.simpleName.hashCode
131 PartialComplexTypeInterpretation:
132 o.interpretationOf.name.hashCode
133 default:
134 throw new UnsupportedOperationException('''Unsupported type: «o.class.simpleName»''')
135 }
136 }
137}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend
index f55a501a..c7b8ee37 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend
@@ -62,13 +62,13 @@ class IdentifierBasedStateCode {
62 int numberOfNewElement 62 int numberOfNewElement
63 SortedSet<RelationStatecoder> relationStatecoders 63 SortedSet<RelationStatecoder> relationStatecoders
64 64
65 private static val comparator = new Comparator<RelationStatecoder>() { 65 static val comparator = new Comparator<RelationStatecoder>() {
66 override compare(RelationStatecoder o1, RelationStatecoder o2) { 66 override compare(RelationStatecoder o1, RelationStatecoder o2) {
67 o1.relationName.compareTo(o2.relationName) 67 o1.relationName.compareTo(o2.relationName)
68 } 68 }
69 } 69 }
70 70
71 public new(int numberOfNewElements) { 71 new(int numberOfNewElements) {
72 this.numberOfNewElement = numberOfNewElements 72 this.numberOfNewElement = numberOfNewElements
73 this.relationStatecoders = new TreeSet(comparator) 73 this.relationStatecoders = new TreeSet(comparator)
74 } 74 }
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend
index 19c70574..f19ac30f 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend
@@ -1,223 +1,98 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder 1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder
2 2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor 3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodOptions
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2Hash
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice 6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2NeighbourhoodRepresentation
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
7import java.util.ArrayList 9import java.util.ArrayList
8import java.util.LinkedList
9import java.util.List
10import java.util.Map 10import java.util.Map
11import org.eclipse.emf.common.notify.Notifier
12import org.eclipse.emf.ecore.EClass
13import org.eclipse.emf.ecore.EObject
14import org.eclipse.emf.ecore.EStructuralFeature
15import org.eclipse.viatra.dse.statecode.IStateCoder
16import org.eclipse.viatra.dse.statecode.IStateCoderFactory
17import org.eclipse.viatra.query.runtime.api.IPatternMatch 11import org.eclipse.viatra.query.runtime.api.IPatternMatch
18import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine 12
19import org.eclipse.viatra.query.runtime.base.api.FeatureListener 13class NeighbourhoodBasedStateCoderFactory extends AbstractNeighbourhoodBasedStateCoderFactory {
20import org.eclipse.viatra.query.runtime.base.api.IndexingLevel 14 new() {
21import org.eclipse.viatra.query.runtime.base.api.InstanceListener 15 }
22import org.eclipse.viatra.query.runtime.emf.EMFBaseIndexWrapper 16
23import org.eclipse.viatra.query.runtime.emf.EMFScope 17 new(NeighbourhoodOptions options) {
24import org.eclipse.xtend.lib.annotations.Accessors 18 super(options)
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
26import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
27import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
28import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
29import java.util.Set
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
32import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2NeighbourhoodRepresentation
33import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation
34import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialPrimitiveInterpretation
35
36class NeighbourhoodBasedStateCoderFactory implements IStateCoderFactory {
37 val List<NeighbourhoodBasedPartialInterpretationStateCoder> statecoders = new LinkedList
38
39 val int range
40 val int parallels
41 val int maxNumber
42 val Set<TypeDeclaration> relevantTypes
43 val Set<RelationDeclaration> relevantRelations
44
45 public new() {
46 this.range = PartialInterpretation2NeighbourhoodRepresentation::GraphWidthRange
47 this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels
48 this.maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers
49 this.relevantTypes = null
50 this.relevantRelations = null
51 } 19 }
52 20
53 public new(int range, int parallels, int maxNumber, Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) { 21 override protected doCreateStateCoder(NeighbourhoodOptions options) {
54 this.range = range 22 new NeighbourhoodBasedPartialInterpretationStateCoder(new PartialInterpretation2ImmutableTypeLattice, options)
55 this.parallels = parallels 23 }
56 this.maxNumber = maxNumber 24}
57 this.relevantTypes = relevantTypes 25
58 this.relevantRelations = relevantRelations 26class NeighbourhoodBasedHashStateCoderFactory extends AbstractNeighbourhoodBasedStateCoderFactory {
27 new() {
28 }
29
30 new(NeighbourhoodOptions options) {
31 super(options)
32 }
33
34 override protected doCreateStateCoder(NeighbourhoodOptions options) {
35 new NeighbourhoodBasedPartialInterpretationStateCoder(new PartialInterpretation2Hash, options)
59 } 36 }
60
61 synchronized override createStateCoder() {
62 val res = new NeighbourhoodBasedPartialInterpretationStateCoder(statecoders.size,
63 range,parallels,maxNumber,relevantTypes,relevantRelations)
64 statecoders += res
65 return res
66 }
67 def getSumStatecoderRuntime() {
68 statecoders.map[statecoderRuntime].reduce[p1, p2|p1+p2]
69 }
70} 37}
71 38
72class NeighbourhoodBasedPartialInterpretationStateCoder implements IStateCoder{ 39class NeighbourhoodBasedPartialInterpretationStateCoder<ModelRep, NodeRep> extends AbstractNeighbourhoodBasedPartialInterpretationStateCoder {
73 val int id; 40 val PartialInterpretation2NeighbourhoodRepresentation<ModelRep, NodeRep> calculator
74 val int range 41 var Map<DefinedElement, ? extends NodeRep> nodeRepresentations = null
75 val int parallels 42 var ModelRep modelRepresentation = null
76 val int maxNumber 43
77 val Set<TypeDeclaration> relevantTypes 44 new(PartialInterpretation2NeighbourhoodRepresentation<ModelRep, NodeRep> calculator, NeighbourhoodOptions options) {
78 val Set<RelationDeclaration> relevantRelations 45 super(options)
79 46 this.calculator = calculator
80 val calculator = 47 }
81 new PartialInterpretation2ImmutableTypeLattice 48
82 var PartialInterpretation target 49 override protected isRefreshNeeded() {
83 50 nodeRepresentations === null || modelRepresentation === null
84 private var Map<DefinedElement, ? extends AbstractNodeDescriptor> nodeRepresentations = null 51 }
85 private var Map<? extends AbstractNodeDescriptor, Integer> modelRepresentation = null 52
86 53 override doRefreshStateCodes(PartialInterpretation target, NeighbourhoodOptions options) {
87 /*public new(int id) { 54 val code = calculator.createRepresentation(target, options)
88 this.id = id 55 modelRepresentation = code.modelRepresentation
89 this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage 56 nodeRepresentations = code.nodeRepresentations
90 this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels
91 this.maxNumber = maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers
92 this.relevantTypes = relevantTypes
93 this.relevantRelations = relevantRelations
94 }*/
95
96 public new(int id, int range, int parallels, int maxNumber, Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) {
97 this.id = id
98 this.range = range
99 this.parallels = parallels
100 this.maxNumber = maxNumber
101 this.relevantTypes = relevantTypes
102 this.relevantRelations = relevantRelations
103 } 57 }
104 58
105 @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0 59 override doCreateActivationCode(IPatternMatch match) {
106 60 val size = match.specification.parameters.size
107// val range = -1 61 val res = new ArrayList(size)
108// val par = Integer.MAX_VALUE 62 var int equivalenceHash = 0
109 //val deeprepresentation = false 63 val prime = 31
110 64
111 ///////// 65 for (var int index = 0; index < size; index++) {
112 // Caching version 66 val matchArgument = match.get(index)
113 ///////// 67 res.add(getCode(matchArgument))
114 synchronized private def refreshStateCodes() { 68 for (var i = 0; i < index; i++) {
115 if(this.nodeRepresentations === null || this.modelRepresentation === null) { 69 val number = if (matchArgument === match.get(i)) {
116 val startTime = System.nanoTime 70 1
117 //relevantObjects.forEach[println(it)] 71 } else {
118 val code = calculator.createRepresentation(target,range,parallels,maxNumber,relevantTypes,relevantRelations) 72 0
119 this.modelRepresentation = code.modelRepresentation 73 }
120 this.nodeRepresentations = code.nodeRepresentations 74 equivalenceHash = prime * equivalenceHash + number
121 statecoderRuntime += (System.nanoTime - startTime)
122 }
123 }
124 synchronized override createActivationCode(IPatternMatch match) {
125 refreshStateCodes
126
127 val startTime = System.nanoTime
128 val size = match.specification.parameters.size
129 val res = new ArrayList(size)
130 var int index = 0
131 var int equivalenceHash = 0
132 val prime = 31
133
134 while(index < size) {
135 res.add(getCode(match.get(index)))
136 for(var i = 0; i<index; i++) {
137 val number = if(match.get(index) === match.get(i)){1}else{0}
138 equivalenceHash = prime * equivalenceHash + number
139 }
140 index++
141 }
142
143 statecoderRuntime += (System.nanoTime - startTime)
144 return match.specification.fullyQualifiedName->(res->equivalenceHash).hashCode
145 }
146
147
148 def private getCode(Object o) {
149 if(o instanceof DefinedElement) {
150 this.nodeRepresentations.get(o)
151 } else if(o instanceof PartialInterpretation || o instanceof LogicProblem) {
152 return null
153 } else if(o instanceof PartialRelationInterpretation) {
154 return o.interpretationOf.name
155 } else if(o instanceof PartialTypeInterpratation) {
156 if(o instanceof PartialPrimitiveInterpretation) {
157 o.class.simpleName.hashCode
158 } else if (o instanceof PartialComplexTypeInterpretation){
159 return o.interpretationOf.name.hashCode
160 } else {
161 throw new UnsupportedOperationException('''Unsupported type: «o.class.simpleName»''')
162 } 75 }
163 } else {
164 throw new UnsupportedOperationException('''Unsupported type: «o.class.simpleName»''')
165 } 76 }
166 } 77
167 78 match.specification.fullyQualifiedName -> (res -> equivalenceHash).hashCode
168 synchronized override createStateCode() { 79 }
169 refreshStateCodes 80
170 return this.modelRepresentation.hashCode 81 def private getCode(Object o) {
171 } 82 switch (o) {
172 ///////// 83 DefinedElement:
173 // Caching version 84 nodeRepresentations.get(o)
174 ///////// 85 default:
175 86 getFallbackCode(o)
176 ///////// 87 }
177 // Recalculating version 88 }
178 ///////// 89
179// synchronized override createActivationCode(IPatternMatch match) { 90 override doCreateStateCode() {
180// val nodes = calculator.createRepresentation(getRelevantObjects().toList,range,par).nodeRepresentations 91 modelRepresentation.hashCode
181// val res = match.toArray.map[objectInMatch | 92 }
182// nodes.get(objectInMatch) 93
183// ] 94 override doInvalidate() {
184// return res 95 nodeRepresentations = null
185// } 96 modelRepresentation = null
186//
187// override createStateCode() {
188// return this.calculator.createRepresentation(getRelevantObjects().toList,range,par).modelRepresentation
189// }
190 /////////
191 // Recalculating version
192 /////////
193
194 override init(Notifier notifier) {
195 this.target = notifier as PartialInterpretation
196 val queryEngine = ViatraQueryEngine.on(new EMFScope(notifier))
197 val baseIndex = queryEngine.getBaseIndex() as EMFBaseIndexWrapper
198 val navigationHelper = baseIndex.getNavigationHelper();
199
200 val classes = PartialinterpretationPackage.eINSTANCE.EClassifiers.filter(EClass).toSet
201 val features = classes.map[it.EAllStructuralFeatures].flatten.toSet
202 navigationHelper.registerObservedTypes(
203 classes,
204 null,
205 features,
206 IndexingLevel.FULL);
207
208
209 navigationHelper.addFeatureListener(features, new FeatureListener() {
210 override public void featureInserted(EObject host, EStructuralFeature feature, Object value) { invalidate }
211 override public void featureDeleted(EObject host, EStructuralFeature feature, Object value) { invalidate }
212 });
213 navigationHelper.addInstanceListener(classes, new InstanceListener() {
214 override public void instanceInserted(EClass clazz, EObject instance) { invalidate }
215 override public void instanceDeleted(EClass clazz, EObject instance) { invalidate }
216 });
217 }
218
219 synchronized def public invalidate() {
220 this.nodeRepresentations = null
221 this.modelRepresentation = null
222 } 97 }
223} 98}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/PairwiseNeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/PairwiseNeighbourhoodBasedStateCoderFactory.xtend
new file mode 100644
index 00000000..84e798f2
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/PairwiseNeighbourhoodBasedStateCoderFactory.xtend
@@ -0,0 +1,75 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodOptions
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PairwiseNeighbourhoodRepresentation
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2PairwiseNeighbourhoodRepresentation
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
10import java.util.ArrayList
11import org.eclipse.viatra.query.runtime.api.IPatternMatch
12
13class PairwiseNeighbourhoodBasedStateCoderFactory extends AbstractNeighbourhoodBasedStateCoderFactory {
14 new() {
15 }
16
17 new(NeighbourhoodOptions options) {
18 super(options)
19 }
20
21 override protected doCreateStateCoder(NeighbourhoodOptions options) {
22 new PairwiseNeighbourhoodBasedPartialInterpretationStateCoder(options)
23 }
24}
25
26class PairwiseNeighbourhoodBasedPartialInterpretationStateCoder extends AbstractNeighbourhoodBasedPartialInterpretationStateCoder {
27 val calculator = new PartialInterpretation2PairwiseNeighbourhoodRepresentation(
28 new PartialInterpretation2ImmutableTypeLattice)
29 var PairwiseNeighbourhoodRepresentation<? extends AbstractNodeDescriptor> representation
30
31 new(NeighbourhoodOptions options) {
32 super(options)
33 }
34
35 override protected isRefreshNeeded() {
36 representation === null
37 }
38
39 override protected doRefreshStateCodes(PartialInterpretation target, NeighbourhoodOptions options) {
40 representation = calculator.createRepresentation(target, options)
41 }
42
43 override protected doCreateActivationCode(IPatternMatch match) {
44 val size = match.specification.parameters.size
45 val res = new ArrayList(size * size)
46 for (var int i = 0; i < size; i++) {
47 val a = match.get(i)
48 for (var int j = 0; j < size; j++) {
49 val b = match.get(j)
50 res.add(getPairwiseRepresentation(a, b))
51 }
52 }
53 match.specification.fullyQualifiedName -> res.hashCode
54 }
55
56 private def getPairwiseRepresentation(Object a, Object b) {
57 if (b instanceof DefinedElement) {
58 if (a instanceof DefinedElement) {
59 representation.getPairwiseRepresentation(a, b)
60 } else {
61 representation.getBasicRepresentation(b)
62 }
63 } else {
64 getFallbackCode(b)
65 }
66 }
67
68 override protected doCreateStateCode() {
69 representation.modelRepresentation.hashCode
70 }
71
72 override protected doInvalidate() {
73 representation = null
74 }
75}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.FamilyTreeConstraints.java._trace b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.FamilyTreeConstraints.java._trace
index 364eae66..b000501e 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.FamilyTreeConstraints.java._trace
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.FamilyTreeConstraints.java._trace
Binary files differ
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.MemberIsItsOwnParent.java._trace b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.MemberIsItsOwnParent.java._trace
index 1b0dca98..aaf4d0c2 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.MemberIsItsOwnParent.java._trace
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.MemberIsItsOwnParent.java._trace
Binary files differ
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.gitignore b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.gitignore
index 3be531f5..3b9ccef7 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.gitignore
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/.gitignore
@@ -6,3 +6,4 @@
6/.MemberHasNoParent.java._trace 6/.MemberHasNoParent.java._trace
7/.MemberHasParent.java._trace 7/.MemberHasParent.java._trace
8/.TwoMembersHaveNoParent.java._trace 8/.TwoMembersHaveNoParent.java._trace
9/.NegativeAge.java._trace
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql
index e7b44f0b..fdbac640 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql
@@ -9,25 +9,31 @@ pattern memberIsItsOwnParent(m: Member) = {
9 m == p; 9 m == p;
10} 10}
11 11
12//@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2}) 12@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2})
13//pattern twoMembersHaveNoParent(m1:Member, m2:Member) = { 13pattern twoMembersHaveNoParent(m1:Member, m2:Member) = {
14// neg find memberHasParent(m1); 14 neg find memberHasParent(m1);
15// neg find memberHasParent(m2); 15 neg find memberHasParent(m2);
16// m1 != m2; 16 m1 != m2;
17//} 17}
18// 18
19//pattern memberHasParent(m: Member) = { 19pattern memberHasParent(m: Member) = {
20// Member.parents(m, _); 20 Member.parents(m, _);
21//} 21}
22// 22
23//@Constraint(message="parentTooYoung", severity="error", key={m, p}) 23@Constraint(message="negativeAge", severity="error",key={m})
24//pattern parentTooYoung(m: Member, p: Member) = { 24pattern negativeAge(m: Member) {
25// FamilyTree.members(_, m); 25 Member.age(m,mage);
26// Member.parents(m, p); 26 check(mage<0);
27// Member.age(m, mAge); 27}
28// Member.age(p, pAge); 28
29// check (mAge <= (pAge + 12)); 29@Constraint(message="parentTooYoung", severity="error", key={c, p})
30//} 30pattern parentTooYoung(c: Member, p: Member) = {
31 FamilyTree.members(_, c);
32 Member.parents(c, p);
33 Member.age(c, cAge);
34 Member.age(p, pAge);
35 check (pAge <= (cAge + 12));
36}
31 37
32 38
33 39
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/plugin.xml b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/plugin.xml
index b32b0215..4297ec89 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/plugin.xml
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/plugin.xml
@@ -1,7 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?><plugin> 1<?xml version="1.0" encoding="UTF-8"?><plugin>
2 <extension id="queries.FamilyTreeConstraints" point="org.eclipse.viatra.query.runtime.queryspecification"> 2 <extension id="queries.FamilyTreeConstraints" point="org.eclipse.viatra.query.runtime.queryspecification">
3 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:queries.FamilyTreeConstraints" id="queries.FamilyTreeConstraints"> 3 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:queries.FamilyTreeConstraints" id="queries.FamilyTreeConstraints">
4 <query-specification fqn="queries.memberIsItsOwnParent"/> 4 <query-specification fqn="queries.memberIsItsOwnParent"/>
5 </group> 5 <query-specification fqn="queries.twoMembersHaveNoParent"/>
6 </extension> 6 <query-specification fqn="queries.memberHasParent"/>
7</plugin> 7 <query-specification fqn="queries.negativeAge"/>
8 <query-specification fqn="queries.parentTooYoung"/>
9 </group>
10 </extension>
11</plugin>
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.FamilyTreeConstraints.java._trace b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.FamilyTreeConstraints.java._trace
index 364eae66..b000501e 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.FamilyTreeConstraints.java._trace
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.FamilyTreeConstraints.java._trace
Binary files differ
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.MemberIsItsOwnParent.java._trace b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.MemberIsItsOwnParent.java._trace
index 1b0dca98..aaf4d0c2 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.MemberIsItsOwnParent.java._trace
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.MemberIsItsOwnParent.java._trace
Binary files differ
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.gitignore b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.gitignore
index 3be531f5..3b9ccef7 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.gitignore
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/.gitignore
@@ -6,3 +6,4 @@
6/.MemberHasNoParent.java._trace 6/.MemberHasNoParent.java._trace
7/.MemberHasParent.java._trace 7/.MemberHasParent.java._trace
8/.TwoMembersHaveNoParent.java._trace 8/.TwoMembersHaveNoParent.java._trace
9/.NegativeAge.java._trace
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/FamilyTreeConstraints.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/FamilyTreeConstraints.java
index a5c375c6..1d991140 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/FamilyTreeConstraints.java
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/FamilyTreeConstraints.java
@@ -1,53 +1,97 @@
1/** 1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql 2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */ 3 */
4package queries; 4package queries;
5 5
6import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 6import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
7import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; 7import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
8import queries.MemberIsItsOwnParent; 8import queries.MemberHasParent;
9 9import queries.MemberIsItsOwnParent;
10/** 10import queries.NegativeAge;
11 * A pattern group formed of all public patterns defined in familyTreeConstraints.vql. 11import queries.ParentTooYoung;
12 * 12import queries.TwoMembersHaveNoParent;
13 * <p>Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare 13
14 * a VIATRA Query engine for matching all patterns originally defined in file familyTreeConstraints.vql, 14/**
15 * in order to achieve better performance than one-by-one on-demand matcher initialization. 15 * A pattern group formed of all public patterns defined in familyTreeConstraints.vql.
16 * 16 *
17 * <p> From package queries, the group contains the definition of the following patterns: <ul> 17 * <p>Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare
18 * <li>memberIsItsOwnParent</li> 18 * a VIATRA Query engine for matching all patterns originally defined in file familyTreeConstraints.vql,
19 * </ul> 19 * in order to achieve better performance than one-by-one on-demand matcher initialization.
20 * 20 *
21 * @see IQueryGroup 21 * <p> From package queries, the group contains the definition of the following patterns: <ul>
22 * 22 * <li>memberIsItsOwnParent</li>
23 */ 23 * <li>twoMembersHaveNoParent</li>
24@SuppressWarnings("all") 24 * <li>memberHasParent</li>
25public final class FamilyTreeConstraints extends BaseGeneratedPatternGroup { 25 * <li>negativeAge</li>
26 /** 26 * <li>parentTooYoung</li>
27 * Access the pattern group. 27 * </ul>
28 * 28 *
29 * @return the singleton instance of the group 29 * @see IQueryGroup
30 * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications 30 *
31 * 31 */
32 */ 32@SuppressWarnings("all")
33 public static FamilyTreeConstraints instance() { 33public final class FamilyTreeConstraints extends BaseGeneratedPatternGroup {
34 if (INSTANCE == null) { 34 /**
35 INSTANCE = new FamilyTreeConstraints(); 35 * Access the pattern group.
36 } 36 *
37 return INSTANCE; 37 * @return the singleton instance of the group
38 } 38 * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications
39 39 *
40 private static FamilyTreeConstraints INSTANCE; 40 */
41 41 public static FamilyTreeConstraints instance() {
42 private FamilyTreeConstraints() { 42 if (INSTANCE == null) {
43 querySpecifications.add(MemberIsItsOwnParent.instance()); 43 INSTANCE = new FamilyTreeConstraints();
44 } 44 }
45 45 return INSTANCE;
46 public MemberIsItsOwnParent getMemberIsItsOwnParent() { 46 }
47 return MemberIsItsOwnParent.instance(); 47
48 } 48 private static FamilyTreeConstraints INSTANCE;
49 49
50 public MemberIsItsOwnParent.Matcher getMemberIsItsOwnParent(final ViatraQueryEngine engine) { 50 private FamilyTreeConstraints() {
51 return MemberIsItsOwnParent.Matcher.on(engine); 51 querySpecifications.add(MemberIsItsOwnParent.instance());
52 } 52 querySpecifications.add(TwoMembersHaveNoParent.instance());
53} 53 querySpecifications.add(MemberHasParent.instance());
54 querySpecifications.add(NegativeAge.instance());
55 querySpecifications.add(ParentTooYoung.instance());
56 }
57
58 public MemberIsItsOwnParent getMemberIsItsOwnParent() {
59 return MemberIsItsOwnParent.instance();
60 }
61
62 public MemberIsItsOwnParent.Matcher getMemberIsItsOwnParent(final ViatraQueryEngine engine) {
63 return MemberIsItsOwnParent.Matcher.on(engine);
64 }
65
66 public TwoMembersHaveNoParent getTwoMembersHaveNoParent() {
67 return TwoMembersHaveNoParent.instance();
68 }
69
70 public TwoMembersHaveNoParent.Matcher getTwoMembersHaveNoParent(final ViatraQueryEngine engine) {
71 return TwoMembersHaveNoParent.Matcher.on(engine);
72 }
73
74 public MemberHasParent getMemberHasParent() {
75 return MemberHasParent.instance();
76 }
77
78 public MemberHasParent.Matcher getMemberHasParent(final ViatraQueryEngine engine) {
79 return MemberHasParent.Matcher.on(engine);
80 }
81
82 public NegativeAge getNegativeAge() {
83 return NegativeAge.instance();
84 }
85
86 public NegativeAge.Matcher getNegativeAge(final ViatraQueryEngine engine) {
87 return NegativeAge.Matcher.on(engine);
88 }
89
90 public ParentTooYoung getParentTooYoung() {
91 return ParentTooYoung.instance();
92 }
93
94 public ParentTooYoung.Matcher getParentTooYoung(final ViatraQueryEngine engine) {
95 return ParentTooYoung.Matcher.on(engine);
96 }
97}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberHasParent.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberHasParent.java
new file mode 100644
index 00000000..83bb4aac
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberHasParent.java
@@ -0,0 +1,551 @@
1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */
4package queries;
5
6import familytree.Member;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
27import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
30import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40
41/**
42 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
43 *
44 * <p>Original source:
45 * <code><pre>
46 * pattern memberHasParent(m: Member) = {
47 * Member.parents(m, _);
48 * }
49 * </pre></code>
50 *
51 * @see Matcher
52 * @see Match
53 *
54 */
55@SuppressWarnings("all")
56public final class MemberHasParent extends BaseGeneratedEMFQuerySpecification<MemberHasParent.Matcher> {
57 /**
58 * Pattern-specific match representation of the queries.memberHasParent pattern,
59 * to be used in conjunction with {@link Matcher}.
60 *
61 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
62 * Each instance is a (possibly partial) substitution of pattern parameters,
63 * usable to represent a match of the pattern in the result of a query,
64 * or to specify the bound (fixed) input parameters when issuing a query.
65 *
66 * @see Matcher
67 *
68 */
69 public static abstract class Match extends BasePatternMatch {
70 private Member fM;
71
72 private static List<String> parameterNames = makeImmutableList("m");
73
74 private Match(final Member pM) {
75 this.fM = pM;
76 }
77
78 @Override
79 public Object get(final String parameterName) {
80 switch(parameterName) {
81 case "m": return this.fM;
82 default: return null;
83 }
84 }
85
86 @Override
87 public Object get(final int index) {
88 switch(index) {
89 case 0: return this.fM;
90 default: return null;
91 }
92 }
93
94 public Member getM() {
95 return this.fM;
96 }
97
98 @Override
99 public boolean set(final String parameterName, final Object newValue) {
100 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
101 if ("m".equals(parameterName) ) {
102 this.fM = (Member) newValue;
103 return true;
104 }
105 return false;
106 }
107
108 public void setM(final Member pM) {
109 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
110 this.fM = pM;
111 }
112
113 @Override
114 public String patternName() {
115 return "queries.memberHasParent";
116 }
117
118 @Override
119 public List<String> parameterNames() {
120 return MemberHasParent.Match.parameterNames;
121 }
122
123 @Override
124 public Object[] toArray() {
125 return new Object[]{fM};
126 }
127
128 @Override
129 public MemberHasParent.Match toImmutable() {
130 return isMutable() ? newMatch(fM) : this;
131 }
132
133 @Override
134 public String prettyPrint() {
135 StringBuilder result = new StringBuilder();
136 result.append("\"m\"=" + prettyPrintValue(fM));
137 return result.toString();
138 }
139
140 @Override
141 public int hashCode() {
142 return Objects.hash(fM);
143 }
144
145 @Override
146 public boolean equals(final Object obj) {
147 if (this == obj)
148 return true;
149 if (obj == null) {
150 return false;
151 }
152 if ((obj instanceof MemberHasParent.Match)) {
153 MemberHasParent.Match other = (MemberHasParent.Match) obj;
154 return Objects.equals(fM, other.fM);
155 } else {
156 // this should be infrequent
157 if (!(obj instanceof IPatternMatch)) {
158 return false;
159 }
160 IPatternMatch otherSig = (IPatternMatch) obj;
161 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
162 }
163 }
164
165 @Override
166 public MemberHasParent specification() {
167 return MemberHasParent.instance();
168 }
169
170 /**
171 * Returns an empty, mutable match.
172 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
173 *
174 * @return the empty match.
175 *
176 */
177 public static MemberHasParent.Match newEmptyMatch() {
178 return new Mutable(null);
179 }
180
181 /**
182 * Returns a mutable (partial) match.
183 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
184 *
185 * @param pM the fixed value of pattern parameter m, or null if not bound.
186 * @return the new, mutable (partial) match object.
187 *
188 */
189 public static MemberHasParent.Match newMutableMatch(final Member pM) {
190 return new Mutable(pM);
191 }
192
193 /**
194 * Returns a new (partial) match.
195 * This can be used e.g. to call the matcher with a partial match.
196 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
197 * @param pM the fixed value of pattern parameter m, or null if not bound.
198 * @return the (partial) match object.
199 *
200 */
201 public static MemberHasParent.Match newMatch(final Member pM) {
202 return new Immutable(pM);
203 }
204
205 private static final class Mutable extends MemberHasParent.Match {
206 Mutable(final Member pM) {
207 super(pM);
208 }
209
210 @Override
211 public boolean isMutable() {
212 return true;
213 }
214 }
215
216 private static final class Immutable extends MemberHasParent.Match {
217 Immutable(final Member pM) {
218 super(pM);
219 }
220
221 @Override
222 public boolean isMutable() {
223 return false;
224 }
225 }
226 }
227
228 /**
229 * Generated pattern matcher API of the queries.memberHasParent pattern,
230 * providing pattern-specific query methods.
231 *
232 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
233 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
234 *
235 * <p>Matches of the pattern will be represented as {@link Match}.
236 *
237 * <p>Original source:
238 * <code><pre>
239 * pattern memberHasParent(m: Member) = {
240 * Member.parents(m, _);
241 * }
242 * </pre></code>
243 *
244 * @see Match
245 * @see MemberHasParent
246 *
247 */
248 public static class Matcher extends BaseMatcher<MemberHasParent.Match> {
249 /**
250 * Initializes the pattern matcher within an existing VIATRA Query engine.
251 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
252 *
253 * @param engine the existing VIATRA Query engine in which this matcher will be created.
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 *
256 */
257 public static MemberHasParent.Matcher on(final ViatraQueryEngine engine) {
258 // check if matcher already exists
259 Matcher matcher = engine.getExistingMatcher(querySpecification());
260 if (matcher == null) {
261 matcher = (Matcher)engine.getMatcher(querySpecification());
262 }
263 return matcher;
264 }
265
266 /**
267 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
268 * @return an initialized matcher
269 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
270 *
271 */
272 public static MemberHasParent.Matcher create() {
273 return new Matcher();
274 }
275
276 private static final int POSITION_M = 0;
277
278 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MemberHasParent.Matcher.class);
279
280 /**
281 * Initializes the pattern matcher within an existing VIATRA Query engine.
282 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
283 *
284 * @param engine the existing VIATRA Query engine in which this matcher will be created.
285 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
286 *
287 */
288 private Matcher() {
289 super(querySpecification());
290 }
291
292 /**
293 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
294 * @param pM the fixed value of pattern parameter m, or null if not bound.
295 * @return matches represented as a Match object.
296 *
297 */
298 public Collection<MemberHasParent.Match> getAllMatches(final Member pM) {
299 return rawStreamAllMatches(new Object[]{pM}).collect(Collectors.toSet());
300 }
301
302 /**
303 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
304 * </p>
305 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
306 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
307 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
308 * @param pM the fixed value of pattern parameter m, or null if not bound.
309 * @return a stream of matches represented as a Match object.
310 *
311 */
312 public Stream<MemberHasParent.Match> streamAllMatches(final Member pM) {
313 return rawStreamAllMatches(new Object[]{pM});
314 }
315
316 /**
317 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
318 * Neither determinism nor randomness of selection is guaranteed.
319 * @param pM the fixed value of pattern parameter m, or null if not bound.
320 * @return a match represented as a Match object, or null if no match is found.
321 *
322 */
323 public Optional<MemberHasParent.Match> getOneArbitraryMatch(final Member pM) {
324 return rawGetOneArbitraryMatch(new Object[]{pM});
325 }
326
327 /**
328 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
329 * under any possible substitution of the unspecified parameters (if any).
330 * @param pM the fixed value of pattern parameter m, or null if not bound.
331 * @return true if the input is a valid (partial) match of the pattern.
332 *
333 */
334 public boolean hasMatch(final Member pM) {
335 return rawHasMatch(new Object[]{pM});
336 }
337
338 /**
339 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
340 * @param pM the fixed value of pattern parameter m, or null if not bound.
341 * @return the number of pattern matches found.
342 *
343 */
344 public int countMatches(final Member pM) {
345 return rawCountMatches(new Object[]{pM});
346 }
347
348 /**
349 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
350 * Neither determinism nor randomness of selection is guaranteed.
351 * @param pM the fixed value of pattern parameter m, or null if not bound.
352 * @param processor the action that will process the selected match.
353 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
354 *
355 */
356 public boolean forOneArbitraryMatch(final Member pM, final Consumer<? super MemberHasParent.Match> processor) {
357 return rawForOneArbitraryMatch(new Object[]{pM}, processor);
358 }
359
360 /**
361 * Returns a new (partial) match.
362 * This can be used e.g. to call the matcher with a partial match.
363 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
364 * @param pM the fixed value of pattern parameter m, or null if not bound.
365 * @return the (partial) match object.
366 *
367 */
368 public MemberHasParent.Match newMatch(final Member pM) {
369 return MemberHasParent.Match.newMatch(pM);
370 }
371
372 /**
373 * Retrieve the set of values that occur in matches for m.
374 * @return the Set of all values or empty set if there are no matches
375 *
376 */
377 protected Stream<Member> rawStreamAllValuesOfm(final Object[] parameters) {
378 return rawStreamAllValues(POSITION_M, parameters).map(Member.class::cast);
379 }
380
381 /**
382 * Retrieve the set of values that occur in matches for m.
383 * @return the Set of all values or empty set if there are no matches
384 *
385 */
386 public Set<Member> getAllValuesOfm() {
387 return rawStreamAllValuesOfm(emptyArray()).collect(Collectors.toSet());
388 }
389
390 /**
391 * Retrieve the set of values that occur in matches for m.
392 * @return the Set of all values or empty set if there are no matches
393 *
394 */
395 public Stream<Member> streamAllValuesOfm() {
396 return rawStreamAllValuesOfm(emptyArray());
397 }
398
399 @Override
400 protected MemberHasParent.Match tupleToMatch(final Tuple t) {
401 try {
402 return MemberHasParent.Match.newMatch((Member) t.get(POSITION_M));
403 } catch(ClassCastException e) {
404 LOGGER.error("Element(s) in tuple not properly typed!",e);
405 return null;
406 }
407 }
408
409 @Override
410 protected MemberHasParent.Match arrayToMatch(final Object[] match) {
411 try {
412 return MemberHasParent.Match.newMatch((Member) match[POSITION_M]);
413 } catch(ClassCastException e) {
414 LOGGER.error("Element(s) in array not properly typed!",e);
415 return null;
416 }
417 }
418
419 @Override
420 protected MemberHasParent.Match arrayToMatchMutable(final Object[] match) {
421 try {
422 return MemberHasParent.Match.newMutableMatch((Member) match[POSITION_M]);
423 } catch(ClassCastException e) {
424 LOGGER.error("Element(s) in array not properly typed!",e);
425 return null;
426 }
427 }
428
429 /**
430 * @return the singleton instance of the query specification of this pattern
431 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
432 *
433 */
434 public static IQuerySpecification<MemberHasParent.Matcher> querySpecification() {
435 return MemberHasParent.instance();
436 }
437 }
438
439 private MemberHasParent() {
440 super(GeneratedPQuery.INSTANCE);
441 }
442
443 /**
444 * @return the singleton instance of the query specification
445 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
446 *
447 */
448 public static MemberHasParent instance() {
449 try{
450 return LazyHolder.INSTANCE;
451 } catch (ExceptionInInitializerError err) {
452 throw processInitializerError(err);
453 }
454 }
455
456 @Override
457 protected MemberHasParent.Matcher instantiate(final ViatraQueryEngine engine) {
458 return MemberHasParent.Matcher.on(engine);
459 }
460
461 @Override
462 public MemberHasParent.Matcher instantiate() {
463 return MemberHasParent.Matcher.create();
464 }
465
466 @Override
467 public MemberHasParent.Match newEmptyMatch() {
468 return MemberHasParent.Match.newEmptyMatch();
469 }
470
471 @Override
472 public MemberHasParent.Match newMatch(final Object... parameters) {
473 return MemberHasParent.Match.newMatch((familytree.Member) parameters[0]);
474 }
475
476 /**
477 * Inner class allowing the singleton instance of {@link MemberHasParent} to be created
478 * <b>not</b> at the class load time of the outer class,
479 * but rather at the first call to {@link MemberHasParent#instance()}.
480 *
481 * <p> This workaround is required e.g. to support recursion.
482 *
483 */
484 private static class LazyHolder {
485 private static final MemberHasParent INSTANCE = new MemberHasParent();
486
487 /**
488 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
489 * This initialization order is required to support indirect recursion.
490 *
491 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
492 *
493 */
494 private static final Object STATIC_INITIALIZER = ensureInitialized();
495
496 public static Object ensureInitialized() {
497 INSTANCE.ensureInitializedInternal();
498 return null;
499 }
500 }
501
502 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
503 private static final MemberHasParent.GeneratedPQuery INSTANCE = new GeneratedPQuery();
504
505 private final PParameter parameter_m = new PParameter("m", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
506
507 private final List<PParameter> parameters = Arrays.asList(parameter_m);
508
509 private GeneratedPQuery() {
510 super(PVisibility.PUBLIC);
511 }
512
513 @Override
514 public String getFullyQualifiedName() {
515 return "queries.memberHasParent";
516 }
517
518 @Override
519 public List<String> getParameterNames() {
520 return Arrays.asList("m");
521 }
522
523 @Override
524 public List<PParameter> getParameters() {
525 return parameters;
526 }
527
528 @Override
529 public Set<PBody> doGetContainedBodies() {
530 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
531 Set<PBody> bodies = new LinkedHashSet<>();
532 {
533 PBody body = new PBody(this);
534 PVariable var_m = body.getOrCreateVariableByName("m");
535 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
536 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
537 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
538 new ExportedParameter(body, var_m, parameter_m)
539 ));
540 // Member.parents(m, _)
541 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
542 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
543 new TypeConstraint(body, Tuples.flatTupleOf(var_m, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "parents")));
544 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
545 new Equality(body, var__virtual_0_, var___0_);
546 bodies.add(body);
547 }
548 return bodies;
549 }
550 }
551}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberIsItsOwnParent.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberIsItsOwnParent.java
index 67cdafb5..63cb882d 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberIsItsOwnParent.java
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/MemberIsItsOwnParent.java
@@ -1,577 +1,577 @@
1/** 1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql 2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */ 3 */
4package queries; 4package queries;
5 5
6import familytree.Member; 6import familytree.Member;
7import java.util.Arrays; 7import java.util.Arrays;
8import java.util.Collection; 8import java.util.Collection;
9import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
10import java.util.List; 10import java.util.List;
11import java.util.Objects; 11import java.util.Objects;
12import java.util.Optional; 12import java.util.Optional;
13import java.util.Set; 13import java.util.Set;
14import java.util.function.Consumer; 14import java.util.function.Consumer;
15import java.util.stream.Collectors; 15import java.util.stream.Collectors;
16import java.util.stream.Stream; 16import java.util.stream.Stream;
17import org.apache.log4j.Logger; 17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass; 18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.viatra.query.runtime.api.IPatternMatch; 19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
20import org.eclipse.viatra.query.runtime.api.IQuerySpecification; 20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; 22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; 23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; 24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; 25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
27import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; 27import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
30import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 30import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; 31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
32import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; 32import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; 33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; 38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42 42
43/** 43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
45 * 45 *
46 * <p>Original source: 46 * <p>Original source:
47 * <code><pre> 47 * <code><pre>
48 * {@literal @}Constraint(message="memberIsItsOwnParent", severity="error", key={m}) 48 * {@literal @}Constraint(message="memberIsItsOwnParent", severity="error", key={m})
49 * pattern memberIsItsOwnParent(m: Member) = { 49 * pattern memberIsItsOwnParent(m: Member) = {
50 * FamilyTree.members(_, m); 50 * FamilyTree.members(_, m);
51 * Member.parents(m, p); 51 * Member.parents(m, p);
52 * m == p; 52 * m == p;
53 * } 53 * }
54 * </pre></code> 54 * </pre></code>
55 * 55 *
56 * @see Matcher 56 * @see Matcher
57 * @see Match 57 * @see Match
58 * 58 *
59 */ 59 */
60@SuppressWarnings("all") 60@SuppressWarnings("all")
61public final class MemberIsItsOwnParent extends BaseGeneratedEMFQuerySpecification<MemberIsItsOwnParent.Matcher> { 61public final class MemberIsItsOwnParent extends BaseGeneratedEMFQuerySpecification<MemberIsItsOwnParent.Matcher> {
62 /** 62 /**
63 * Pattern-specific match representation of the queries.memberIsItsOwnParent pattern, 63 * Pattern-specific match representation of the queries.memberIsItsOwnParent pattern,
64 * to be used in conjunction with {@link Matcher}. 64 * to be used in conjunction with {@link Matcher}.
65 * 65 *
66 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. 66 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
67 * Each instance is a (possibly partial) substitution of pattern parameters, 67 * Each instance is a (possibly partial) substitution of pattern parameters,
68 * usable to represent a match of the pattern in the result of a query, 68 * usable to represent a match of the pattern in the result of a query,
69 * or to specify the bound (fixed) input parameters when issuing a query. 69 * or to specify the bound (fixed) input parameters when issuing a query.
70 * 70 *
71 * @see Matcher 71 * @see Matcher
72 * 72 *
73 */ 73 */
74 public static abstract class Match extends BasePatternMatch { 74 public static abstract class Match extends BasePatternMatch {
75 private Member fM; 75 private Member fM;
76 76
77 private static List<String> parameterNames = makeImmutableList("m"); 77 private static List<String> parameterNames = makeImmutableList("m");
78 78
79 private Match(final Member pM) { 79 private Match(final Member pM) {
80 this.fM = pM; 80 this.fM = pM;
81 } 81 }
82 82
83 @Override 83 @Override
84 public Object get(final String parameterName) { 84 public Object get(final String parameterName) {
85 switch(parameterName) { 85 switch(parameterName) {
86 case "m": return this.fM; 86 case "m": return this.fM;
87 default: return null; 87 default: return null;
88 } 88 }
89 } 89 }
90 90
91 @Override 91 @Override
92 public Object get(final int index) { 92 public Object get(final int index) {
93 switch(index) { 93 switch(index) {
94 case 0: return this.fM; 94 case 0: return this.fM;
95 default: return null; 95 default: return null;
96 } 96 }
97 } 97 }
98 98
99 public Member getM() { 99 public Member getM() {
100 return this.fM; 100 return this.fM;
101 } 101 }
102 102
103 @Override 103 @Override
104 public boolean set(final String parameterName, final Object newValue) { 104 public boolean set(final String parameterName, final Object newValue) {
105 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 105 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
106 if ("m".equals(parameterName) ) { 106 if ("m".equals(parameterName) ) {
107 this.fM = (Member) newValue; 107 this.fM = (Member) newValue;
108 return true; 108 return true;
109 } 109 }
110 return false; 110 return false;
111 } 111 }
112 112
113 public void setM(final Member pM) { 113 public void setM(final Member pM) {
114 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 114 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
115 this.fM = pM; 115 this.fM = pM;
116 } 116 }
117 117
118 @Override 118 @Override
119 public String patternName() { 119 public String patternName() {
120 return "queries.memberIsItsOwnParent"; 120 return "queries.memberIsItsOwnParent";
121 } 121 }
122 122
123 @Override 123 @Override
124 public List<String> parameterNames() { 124 public List<String> parameterNames() {
125 return MemberIsItsOwnParent.Match.parameterNames; 125 return MemberIsItsOwnParent.Match.parameterNames;
126 } 126 }
127 127
128 @Override 128 @Override
129 public Object[] toArray() { 129 public Object[] toArray() {
130 return new Object[]{fM}; 130 return new Object[]{fM};
131 } 131 }
132 132
133 @Override 133 @Override
134 public MemberIsItsOwnParent.Match toImmutable() { 134 public MemberIsItsOwnParent.Match toImmutable() {
135 return isMutable() ? newMatch(fM) : this; 135 return isMutable() ? newMatch(fM) : this;
136 } 136 }
137 137
138 @Override 138 @Override
139 public String prettyPrint() { 139 public String prettyPrint() {
140 StringBuilder result = new StringBuilder(); 140 StringBuilder result = new StringBuilder();
141 result.append("\"m\"=" + prettyPrintValue(fM)); 141 result.append("\"m\"=" + prettyPrintValue(fM));
142 return result.toString(); 142 return result.toString();
143 } 143 }
144 144
145 @Override 145 @Override
146 public int hashCode() { 146 public int hashCode() {
147 return Objects.hash(fM); 147 return Objects.hash(fM);
148 } 148 }
149 149
150 @Override 150 @Override
151 public boolean equals(final Object obj) { 151 public boolean equals(final Object obj) {
152 if (this == obj) 152 if (this == obj)
153 return true; 153 return true;
154 if (obj == null) { 154 if (obj == null) {
155 return false; 155 return false;
156 } 156 }
157 if ((obj instanceof MemberIsItsOwnParent.Match)) { 157 if ((obj instanceof MemberIsItsOwnParent.Match)) {
158 MemberIsItsOwnParent.Match other = (MemberIsItsOwnParent.Match) obj; 158 MemberIsItsOwnParent.Match other = (MemberIsItsOwnParent.Match) obj;
159 return Objects.equals(fM, other.fM); 159 return Objects.equals(fM, other.fM);
160 } else { 160 } else {
161 // this should be infrequent 161 // this should be infrequent
162 if (!(obj instanceof IPatternMatch)) { 162 if (!(obj instanceof IPatternMatch)) {
163 return false; 163 return false;
164 } 164 }
165 IPatternMatch otherSig = (IPatternMatch) obj; 165 IPatternMatch otherSig = (IPatternMatch) obj;
166 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); 166 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
167 } 167 }
168 } 168 }
169 169
170 @Override 170 @Override
171 public MemberIsItsOwnParent specification() { 171 public MemberIsItsOwnParent specification() {
172 return MemberIsItsOwnParent.instance(); 172 return MemberIsItsOwnParent.instance();
173 } 173 }
174 174
175 /** 175 /**
176 * Returns an empty, mutable match. 176 * Returns an empty, mutable match.
177 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 177 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
178 * 178 *
179 * @return the empty match. 179 * @return the empty match.
180 * 180 *
181 */ 181 */
182 public static MemberIsItsOwnParent.Match newEmptyMatch() { 182 public static MemberIsItsOwnParent.Match newEmptyMatch() {
183 return new Mutable(null); 183 return new Mutable(null);
184 } 184 }
185 185
186 /** 186 /**
187 * Returns a mutable (partial) match. 187 * Returns a mutable (partial) match.
188 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 188 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
189 * 189 *
190 * @param pM the fixed value of pattern parameter m, or null if not bound. 190 * @param pM the fixed value of pattern parameter m, or null if not bound.
191 * @return the new, mutable (partial) match object. 191 * @return the new, mutable (partial) match object.
192 * 192 *
193 */ 193 */
194 public static MemberIsItsOwnParent.Match newMutableMatch(final Member pM) { 194 public static MemberIsItsOwnParent.Match newMutableMatch(final Member pM) {
195 return new Mutable(pM); 195 return new Mutable(pM);
196 } 196 }
197 197
198 /** 198 /**
199 * Returns a new (partial) match. 199 * Returns a new (partial) match.
200 * This can be used e.g. to call the matcher with a partial match. 200 * This can be used e.g. to call the matcher with a partial match.
201 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 201 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
202 * @param pM the fixed value of pattern parameter m, or null if not bound. 202 * @param pM the fixed value of pattern parameter m, or null if not bound.
203 * @return the (partial) match object. 203 * @return the (partial) match object.
204 * 204 *
205 */ 205 */
206 public static MemberIsItsOwnParent.Match newMatch(final Member pM) { 206 public static MemberIsItsOwnParent.Match newMatch(final Member pM) {
207 return new Immutable(pM); 207 return new Immutable(pM);
208 } 208 }
209 209
210 private static final class Mutable extends MemberIsItsOwnParent.Match { 210 private static final class Mutable extends MemberIsItsOwnParent.Match {
211 Mutable(final Member pM) { 211 Mutable(final Member pM) {
212 super(pM); 212 super(pM);
213 } 213 }
214 214
215 @Override 215 @Override
216 public boolean isMutable() { 216 public boolean isMutable() {
217 return true; 217 return true;
218 } 218 }
219 } 219 }
220 220
221 private static final class Immutable extends MemberIsItsOwnParent.Match { 221 private static final class Immutable extends MemberIsItsOwnParent.Match {
222 Immutable(final Member pM) { 222 Immutable(final Member pM) {
223 super(pM); 223 super(pM);
224 } 224 }
225 225
226 @Override 226 @Override
227 public boolean isMutable() { 227 public boolean isMutable() {
228 return false; 228 return false;
229 } 229 }
230 } 230 }
231 } 231 }
232 232
233 /** 233 /**
234 * Generated pattern matcher API of the queries.memberIsItsOwnParent pattern, 234 * Generated pattern matcher API of the queries.memberIsItsOwnParent pattern,
235 * providing pattern-specific query methods. 235 * providing pattern-specific query methods.
236 * 236 *
237 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, 237 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
238 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. 238 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
239 * 239 *
240 * <p>Matches of the pattern will be represented as {@link Match}. 240 * <p>Matches of the pattern will be represented as {@link Match}.
241 * 241 *
242 * <p>Original source: 242 * <p>Original source:
243 * <code><pre> 243 * <code><pre>
244 * {@literal @}Constraint(message="memberIsItsOwnParent", severity="error", key={m}) 244 * {@literal @}Constraint(message="memberIsItsOwnParent", severity="error", key={m})
245 * pattern memberIsItsOwnParent(m: Member) = { 245 * pattern memberIsItsOwnParent(m: Member) = {
246 * FamilyTree.members(_, m); 246 * FamilyTree.members(_, m);
247 * Member.parents(m, p); 247 * Member.parents(m, p);
248 * m == p; 248 * m == p;
249 * } 249 * }
250 * </pre></code> 250 * </pre></code>
251 * 251 *
252 * @see Match 252 * @see Match
253 * @see MemberIsItsOwnParent 253 * @see MemberIsItsOwnParent
254 * 254 *
255 */ 255 */
256 public static class Matcher extends BaseMatcher<MemberIsItsOwnParent.Match> { 256 public static class Matcher extends BaseMatcher<MemberIsItsOwnParent.Match> {
257 /** 257 /**
258 * Initializes the pattern matcher within an existing VIATRA Query engine. 258 * Initializes the pattern matcher within an existing VIATRA Query engine.
259 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. 259 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
260 * 260 *
261 * @param engine the existing VIATRA Query engine in which this matcher will be created. 261 * @param engine the existing VIATRA Query engine in which this matcher will be created.
262 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 262 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
263 * 263 *
264 */ 264 */
265 public static MemberIsItsOwnParent.Matcher on(final ViatraQueryEngine engine) { 265 public static MemberIsItsOwnParent.Matcher on(final ViatraQueryEngine engine) {
266 // check if matcher already exists 266 // check if matcher already exists
267 Matcher matcher = engine.getExistingMatcher(querySpecification()); 267 Matcher matcher = engine.getExistingMatcher(querySpecification());
268 if (matcher == null) { 268 if (matcher == null) {
269 matcher = (Matcher)engine.getMatcher(querySpecification()); 269 matcher = (Matcher)engine.getMatcher(querySpecification());
270 } 270 }
271 return matcher; 271 return matcher;
272 } 272 }
273 273
274 /** 274 /**
275 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 275 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
276 * @return an initialized matcher 276 * @return an initialized matcher
277 * @noreference This method is for internal matcher initialization by the framework, do not call it manually. 277 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
278 * 278 *
279 */ 279 */
280 public static MemberIsItsOwnParent.Matcher create() { 280 public static MemberIsItsOwnParent.Matcher create() {
281 return new Matcher(); 281 return new Matcher();
282 } 282 }
283 283
284 private static final int POSITION_M = 0; 284 private static final int POSITION_M = 0;
285 285
286 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MemberIsItsOwnParent.Matcher.class); 286 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MemberIsItsOwnParent.Matcher.class);
287 287
288 /** 288 /**
289 * Initializes the pattern matcher within an existing VIATRA Query engine. 289 * Initializes the pattern matcher within an existing VIATRA Query engine.
290 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. 290 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
291 * 291 *
292 * @param engine the existing VIATRA Query engine in which this matcher will be created. 292 * @param engine the existing VIATRA Query engine in which this matcher will be created.
293 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 293 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
294 * 294 *
295 */ 295 */
296 private Matcher() { 296 private Matcher() {
297 super(querySpecification()); 297 super(querySpecification());
298 } 298 }
299 299
300 /** 300 /**
301 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 301 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
302 * @param pM the fixed value of pattern parameter m, or null if not bound. 302 * @param pM the fixed value of pattern parameter m, or null if not bound.
303 * @return matches represented as a Match object. 303 * @return matches represented as a Match object.
304 * 304 *
305 */ 305 */
306 public Collection<MemberIsItsOwnParent.Match> getAllMatches(final Member pM) { 306 public Collection<MemberIsItsOwnParent.Match> getAllMatches(final Member pM) {
307 return rawStreamAllMatches(new Object[]{pM}).collect(Collectors.toSet()); 307 return rawStreamAllMatches(new Object[]{pM}).collect(Collectors.toSet());
308 } 308 }
309 309
310 /** 310 /**
311 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. 311 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
312 * </p> 312 * </p>
313 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 313 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
314 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 314 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
315 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 315 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
316 * @param pM the fixed value of pattern parameter m, or null if not bound. 316 * @param pM the fixed value of pattern parameter m, or null if not bound.
317 * @return a stream of matches represented as a Match object. 317 * @return a stream of matches represented as a Match object.
318 * 318 *
319 */ 319 */
320 public Stream<MemberIsItsOwnParent.Match> streamAllMatches(final Member pM) { 320 public Stream<MemberIsItsOwnParent.Match> streamAllMatches(final Member pM) {
321 return rawStreamAllMatches(new Object[]{pM}); 321 return rawStreamAllMatches(new Object[]{pM});
322 } 322 }
323 323
324 /** 324 /**
325 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 325 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
326 * Neither determinism nor randomness of selection is guaranteed. 326 * Neither determinism nor randomness of selection is guaranteed.
327 * @param pM the fixed value of pattern parameter m, or null if not bound. 327 * @param pM the fixed value of pattern parameter m, or null if not bound.
328 * @return a match represented as a Match object, or null if no match is found. 328 * @return a match represented as a Match object, or null if no match is found.
329 * 329 *
330 */ 330 */
331 public Optional<MemberIsItsOwnParent.Match> getOneArbitraryMatch(final Member pM) { 331 public Optional<MemberIsItsOwnParent.Match> getOneArbitraryMatch(final Member pM) {
332 return rawGetOneArbitraryMatch(new Object[]{pM}); 332 return rawGetOneArbitraryMatch(new Object[]{pM});
333 } 333 }
334 334
335 /** 335 /**
336 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 336 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
337 * under any possible substitution of the unspecified parameters (if any). 337 * under any possible substitution of the unspecified parameters (if any).
338 * @param pM the fixed value of pattern parameter m, or null if not bound. 338 * @param pM the fixed value of pattern parameter m, or null if not bound.
339 * @return true if the input is a valid (partial) match of the pattern. 339 * @return true if the input is a valid (partial) match of the pattern.
340 * 340 *
341 */ 341 */
342 public boolean hasMatch(final Member pM) { 342 public boolean hasMatch(final Member pM) {
343 return rawHasMatch(new Object[]{pM}); 343 return rawHasMatch(new Object[]{pM});
344 } 344 }
345 345
346 /** 346 /**
347 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 347 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
348 * @param pM the fixed value of pattern parameter m, or null if not bound. 348 * @param pM the fixed value of pattern parameter m, or null if not bound.
349 * @return the number of pattern matches found. 349 * @return the number of pattern matches found.
350 * 350 *
351 */ 351 */
352 public int countMatches(final Member pM) { 352 public int countMatches(final Member pM) {
353 return rawCountMatches(new Object[]{pM}); 353 return rawCountMatches(new Object[]{pM});
354 } 354 }
355 355
356 /** 356 /**
357 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 357 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
358 * Neither determinism nor randomness of selection is guaranteed. 358 * Neither determinism nor randomness of selection is guaranteed.
359 * @param pM the fixed value of pattern parameter m, or null if not bound. 359 * @param pM the fixed value of pattern parameter m, or null if not bound.
360 * @param processor the action that will process the selected match. 360 * @param processor the action that will process the selected match.
361 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 361 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
362 * 362 *
363 */ 363 */
364 public boolean forOneArbitraryMatch(final Member pM, final Consumer<? super MemberIsItsOwnParent.Match> processor) { 364 public boolean forOneArbitraryMatch(final Member pM, final Consumer<? super MemberIsItsOwnParent.Match> processor) {
365 return rawForOneArbitraryMatch(new Object[]{pM}, processor); 365 return rawForOneArbitraryMatch(new Object[]{pM}, processor);
366 } 366 }
367 367
368 /** 368 /**
369 * Returns a new (partial) match. 369 * Returns a new (partial) match.
370 * This can be used e.g. to call the matcher with a partial match. 370 * This can be used e.g. to call the matcher with a partial match.
371 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 371 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
372 * @param pM the fixed value of pattern parameter m, or null if not bound. 372 * @param pM the fixed value of pattern parameter m, or null if not bound.
373 * @return the (partial) match object. 373 * @return the (partial) match object.
374 * 374 *
375 */ 375 */
376 public MemberIsItsOwnParent.Match newMatch(final Member pM) { 376 public MemberIsItsOwnParent.Match newMatch(final Member pM) {
377 return MemberIsItsOwnParent.Match.newMatch(pM); 377 return MemberIsItsOwnParent.Match.newMatch(pM);
378 } 378 }
379 379
380 /** 380 /**
381 * Retrieve the set of values that occur in matches for m. 381 * Retrieve the set of values that occur in matches for m.
382 * @return the Set of all values or empty set if there are no matches 382 * @return the Set of all values or empty set if there are no matches
383 * 383 *
384 */ 384 */
385 protected Stream<Member> rawStreamAllValuesOfm(final Object[] parameters) { 385 protected Stream<Member> rawStreamAllValuesOfm(final Object[] parameters) {
386 return rawStreamAllValues(POSITION_M, parameters).map(Member.class::cast); 386 return rawStreamAllValues(POSITION_M, parameters).map(Member.class::cast);
387 } 387 }
388 388
389 /** 389 /**
390 * Retrieve the set of values that occur in matches for m. 390 * Retrieve the set of values that occur in matches for m.
391 * @return the Set of all values or empty set if there are no matches 391 * @return the Set of all values or empty set if there are no matches
392 * 392 *
393 */ 393 */
394 public Set<Member> getAllValuesOfm() { 394 public Set<Member> getAllValuesOfm() {
395 return rawStreamAllValuesOfm(emptyArray()).collect(Collectors.toSet()); 395 return rawStreamAllValuesOfm(emptyArray()).collect(Collectors.toSet());
396 } 396 }
397 397
398 /** 398 /**
399 * Retrieve the set of values that occur in matches for m. 399 * Retrieve the set of values that occur in matches for m.
400 * @return the Set of all values or empty set if there are no matches 400 * @return the Set of all values or empty set if there are no matches
401 * 401 *
402 */ 402 */
403 public Stream<Member> streamAllValuesOfm() { 403 public Stream<Member> streamAllValuesOfm() {
404 return rawStreamAllValuesOfm(emptyArray()); 404 return rawStreamAllValuesOfm(emptyArray());
405 } 405 }
406 406
407 @Override 407 @Override
408 protected MemberIsItsOwnParent.Match tupleToMatch(final Tuple t) { 408 protected MemberIsItsOwnParent.Match tupleToMatch(final Tuple t) {
409 try { 409 try {
410 return MemberIsItsOwnParent.Match.newMatch((Member) t.get(POSITION_M)); 410 return MemberIsItsOwnParent.Match.newMatch((Member) t.get(POSITION_M));
411 } catch(ClassCastException e) { 411 } catch(ClassCastException e) {
412 LOGGER.error("Element(s) in tuple not properly typed!",e); 412 LOGGER.error("Element(s) in tuple not properly typed!",e);
413 return null; 413 return null;
414 } 414 }
415 } 415 }
416 416
417 @Override 417 @Override
418 protected MemberIsItsOwnParent.Match arrayToMatch(final Object[] match) { 418 protected MemberIsItsOwnParent.Match arrayToMatch(final Object[] match) {
419 try { 419 try {
420 return MemberIsItsOwnParent.Match.newMatch((Member) match[POSITION_M]); 420 return MemberIsItsOwnParent.Match.newMatch((Member) match[POSITION_M]);
421 } catch(ClassCastException e) { 421 } catch(ClassCastException e) {
422 LOGGER.error("Element(s) in array not properly typed!",e); 422 LOGGER.error("Element(s) in array not properly typed!",e);
423 return null; 423 return null;
424 } 424 }
425 } 425 }
426 426
427 @Override 427 @Override
428 protected MemberIsItsOwnParent.Match arrayToMatchMutable(final Object[] match) { 428 protected MemberIsItsOwnParent.Match arrayToMatchMutable(final Object[] match) {
429 try { 429 try {
430 return MemberIsItsOwnParent.Match.newMutableMatch((Member) match[POSITION_M]); 430 return MemberIsItsOwnParent.Match.newMutableMatch((Member) match[POSITION_M]);
431 } catch(ClassCastException e) { 431 } catch(ClassCastException e) {
432 LOGGER.error("Element(s) in array not properly typed!",e); 432 LOGGER.error("Element(s) in array not properly typed!",e);
433 return null; 433 return null;
434 } 434 }
435 } 435 }
436 436
437 /** 437 /**
438 * @return the singleton instance of the query specification of this pattern 438 * @return the singleton instance of the query specification of this pattern
439 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 439 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
440 * 440 *
441 */ 441 */
442 public static IQuerySpecification<MemberIsItsOwnParent.Matcher> querySpecification() { 442 public static IQuerySpecification<MemberIsItsOwnParent.Matcher> querySpecification() {
443 return MemberIsItsOwnParent.instance(); 443 return MemberIsItsOwnParent.instance();
444 } 444 }
445 } 445 }
446 446
447 private MemberIsItsOwnParent() { 447 private MemberIsItsOwnParent() {
448 super(GeneratedPQuery.INSTANCE); 448 super(GeneratedPQuery.INSTANCE);
449 } 449 }
450 450
451 /** 451 /**
452 * @return the singleton instance of the query specification 452 * @return the singleton instance of the query specification
453 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 453 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
454 * 454 *
455 */ 455 */
456 public static MemberIsItsOwnParent instance() { 456 public static MemberIsItsOwnParent instance() {
457 try{ 457 try{
458 return LazyHolder.INSTANCE; 458 return LazyHolder.INSTANCE;
459 } catch (ExceptionInInitializerError err) { 459 } catch (ExceptionInInitializerError err) {
460 throw processInitializerError(err); 460 throw processInitializerError(err);
461 } 461 }
462 } 462 }
463 463
464 @Override 464 @Override
465 protected MemberIsItsOwnParent.Matcher instantiate(final ViatraQueryEngine engine) { 465 protected MemberIsItsOwnParent.Matcher instantiate(final ViatraQueryEngine engine) {
466 return MemberIsItsOwnParent.Matcher.on(engine); 466 return MemberIsItsOwnParent.Matcher.on(engine);
467 } 467 }
468 468
469 @Override 469 @Override
470 public MemberIsItsOwnParent.Matcher instantiate() { 470 public MemberIsItsOwnParent.Matcher instantiate() {
471 return MemberIsItsOwnParent.Matcher.create(); 471 return MemberIsItsOwnParent.Matcher.create();
472 } 472 }
473 473
474 @Override 474 @Override
475 public MemberIsItsOwnParent.Match newEmptyMatch() { 475 public MemberIsItsOwnParent.Match newEmptyMatch() {
476 return MemberIsItsOwnParent.Match.newEmptyMatch(); 476 return MemberIsItsOwnParent.Match.newEmptyMatch();
477 } 477 }
478 478
479 @Override 479 @Override
480 public MemberIsItsOwnParent.Match newMatch(final Object... parameters) { 480 public MemberIsItsOwnParent.Match newMatch(final Object... parameters) {
481 return MemberIsItsOwnParent.Match.newMatch((familytree.Member) parameters[0]); 481 return MemberIsItsOwnParent.Match.newMatch((familytree.Member) parameters[0]);
482 } 482 }
483 483
484 /** 484 /**
485 * Inner class allowing the singleton instance of {@link MemberIsItsOwnParent} to be created 485 * Inner class allowing the singleton instance of {@link MemberIsItsOwnParent} to be created
486 * <b>not</b> at the class load time of the outer class, 486 * <b>not</b> at the class load time of the outer class,
487 * but rather at the first call to {@link MemberIsItsOwnParent#instance()}. 487 * but rather at the first call to {@link MemberIsItsOwnParent#instance()}.
488 * 488 *
489 * <p> This workaround is required e.g. to support recursion. 489 * <p> This workaround is required e.g. to support recursion.
490 * 490 *
491 */ 491 */
492 private static class LazyHolder { 492 private static class LazyHolder {
493 private static final MemberIsItsOwnParent INSTANCE = new MemberIsItsOwnParent(); 493 private static final MemberIsItsOwnParent INSTANCE = new MemberIsItsOwnParent();
494 494
495 /** 495 /**
496 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. 496 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
497 * This initialization order is required to support indirect recursion. 497 * This initialization order is required to support indirect recursion.
498 * 498 *
499 * <p> The static initializer is defined using a helper field to work around limitations of the code generator. 499 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
500 * 500 *
501 */ 501 */
502 private static final Object STATIC_INITIALIZER = ensureInitialized(); 502 private static final Object STATIC_INITIALIZER = ensureInitialized();
503 503
504 public static Object ensureInitialized() { 504 public static Object ensureInitialized() {
505 INSTANCE.ensureInitializedInternal(); 505 INSTANCE.ensureInitializedInternal();
506 return null; 506 return null;
507 } 507 }
508 } 508 }
509 509
510 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 510 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
511 private static final MemberIsItsOwnParent.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 511 private static final MemberIsItsOwnParent.GeneratedPQuery INSTANCE = new GeneratedPQuery();
512 512
513 private final PParameter parameter_m = new PParameter("m", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT); 513 private final PParameter parameter_m = new PParameter("m", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
514 514
515 private final List<PParameter> parameters = Arrays.asList(parameter_m); 515 private final List<PParameter> parameters = Arrays.asList(parameter_m);
516 516
517 private GeneratedPQuery() { 517 private GeneratedPQuery() {
518 super(PVisibility.PUBLIC); 518 super(PVisibility.PUBLIC);
519 } 519 }
520 520
521 @Override 521 @Override
522 public String getFullyQualifiedName() { 522 public String getFullyQualifiedName() {
523 return "queries.memberIsItsOwnParent"; 523 return "queries.memberIsItsOwnParent";
524 } 524 }
525 525
526 @Override 526 @Override
527 public List<String> getParameterNames() { 527 public List<String> getParameterNames() {
528 return Arrays.asList("m"); 528 return Arrays.asList("m");
529 } 529 }
530 530
531 @Override 531 @Override
532 public List<PParameter> getParameters() { 532 public List<PParameter> getParameters() {
533 return parameters; 533 return parameters;
534 } 534 }
535 535
536 @Override 536 @Override
537 public Set<PBody> doGetContainedBodies() { 537 public Set<PBody> doGetContainedBodies() {
538 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); 538 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
539 Set<PBody> bodies = new LinkedHashSet<>(); 539 Set<PBody> bodies = new LinkedHashSet<>();
540 { 540 {
541 PBody body = new PBody(this); 541 PBody body = new PBody(this);
542 PVariable var_m = body.getOrCreateVariableByName("m"); 542 PVariable var_m = body.getOrCreateVariableByName("m");
543 PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); 543 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
544 PVariable var_p = body.getOrCreateVariableByName("p"); 544 PVariable var_p = body.getOrCreateVariableByName("p");
545 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member"))); 545 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
546 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 546 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
547 new ExportedParameter(body, var_m, parameter_m) 547 new ExportedParameter(body, var_m, parameter_m)
548 )); 548 ));
549 // FamilyTree.members(_, m) 549 // FamilyTree.members(_, m)
550 new TypeConstraint(body, Tuples.flatTupleOf(var___0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "FamilyTree"))); 550 new TypeConstraint(body, Tuples.flatTupleOf(var___0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "FamilyTree")));
551 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 551 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
552 new TypeConstraint(body, Tuples.flatTupleOf(var___0_, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "FamilyTree", "members"))); 552 new TypeConstraint(body, Tuples.flatTupleOf(var___0_, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "FamilyTree", "members")));
553 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member"))); 553 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
554 new Equality(body, var__virtual_0_, var_m); 554 new Equality(body, var__virtual_0_, var_m);
555 // Member.parents(m, p) 555 // Member.parents(m, p)
556 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member"))); 556 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
557 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 557 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
558 new TypeConstraint(body, Tuples.flatTupleOf(var_m, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "parents"))); 558 new TypeConstraint(body, Tuples.flatTupleOf(var_m, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "parents")));
559 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member"))); 559 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
560 new Equality(body, var__virtual_1_, var_p); 560 new Equality(body, var__virtual_1_, var_p);
561 // m == p 561 // m == p
562 new Equality(body, var_m, var_p); 562 new Equality(body, var_m, var_p);
563 bodies.add(body); 563 bodies.add(body);
564 } 564 }
565 { 565 {
566 PAnnotation annotation = new PAnnotation("Constraint"); 566 PAnnotation annotation = new PAnnotation("Constraint");
567 annotation.addAttribute("message", "memberIsItsOwnParent"); 567 annotation.addAttribute("message", "memberIsItsOwnParent");
568 annotation.addAttribute("severity", "error"); 568 annotation.addAttribute("severity", "error");
569 annotation.addAttribute("key", Arrays.asList(new Object[] { 569 annotation.addAttribute("key", Arrays.asList(new Object[] {
570 new ParameterReference("m") 570 new ParameterReference("m")
571 })); 571 }));
572 addAnnotation(annotation); 572 addAnnotation(annotation);
573 } 573 }
574 return bodies; 574 return bodies;
575 } 575 }
576 } 576 }
577} 577}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/NegativeAge.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/NegativeAge.java
new file mode 100644
index 00000000..44ae6496
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/NegativeAge.java
@@ -0,0 +1,593 @@
1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */
4package queries;
5
6import familytree.Member;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
32import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
33import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
34import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
35import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
36import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
39import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
40import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
42import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
43import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
47
48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
50 *
51 * <p>Original source:
52 * <code><pre>
53 * {@literal @}Constraint(message="negativeAge", severity="error",key={m})
54 * pattern negativeAge(m: Member) {
55 * Member.age(m,mage);
56 * check(mage{@literal <}0);
57 * }
58 * </pre></code>
59 *
60 * @see Matcher
61 * @see Match
62 *
63 */
64@SuppressWarnings("all")
65public final class NegativeAge extends BaseGeneratedEMFQuerySpecification<NegativeAge.Matcher> {
66 /**
67 * Pattern-specific match representation of the queries.negativeAge pattern,
68 * to be used in conjunction with {@link Matcher}.
69 *
70 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
71 * Each instance is a (possibly partial) substitution of pattern parameters,
72 * usable to represent a match of the pattern in the result of a query,
73 * or to specify the bound (fixed) input parameters when issuing a query.
74 *
75 * @see Matcher
76 *
77 */
78 public static abstract class Match extends BasePatternMatch {
79 private Member fM;
80
81 private static List<String> parameterNames = makeImmutableList("m");
82
83 private Match(final Member pM) {
84 this.fM = pM;
85 }
86
87 @Override
88 public Object get(final String parameterName) {
89 switch(parameterName) {
90 case "m": return this.fM;
91 default: return null;
92 }
93 }
94
95 @Override
96 public Object get(final int index) {
97 switch(index) {
98 case 0: return this.fM;
99 default: return null;
100 }
101 }
102
103 public Member getM() {
104 return this.fM;
105 }
106
107 @Override
108 public boolean set(final String parameterName, final Object newValue) {
109 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
110 if ("m".equals(parameterName) ) {
111 this.fM = (Member) newValue;
112 return true;
113 }
114 return false;
115 }
116
117 public void setM(final Member pM) {
118 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
119 this.fM = pM;
120 }
121
122 @Override
123 public String patternName() {
124 return "queries.negativeAge";
125 }
126
127 @Override
128 public List<String> parameterNames() {
129 return NegativeAge.Match.parameterNames;
130 }
131
132 @Override
133 public Object[] toArray() {
134 return new Object[]{fM};
135 }
136
137 @Override
138 public NegativeAge.Match toImmutable() {
139 return isMutable() ? newMatch(fM) : this;
140 }
141
142 @Override
143 public String prettyPrint() {
144 StringBuilder result = new StringBuilder();
145 result.append("\"m\"=" + prettyPrintValue(fM));
146 return result.toString();
147 }
148
149 @Override
150 public int hashCode() {
151 return Objects.hash(fM);
152 }
153
154 @Override
155 public boolean equals(final Object obj) {
156 if (this == obj)
157 return true;
158 if (obj == null) {
159 return false;
160 }
161 if ((obj instanceof NegativeAge.Match)) {
162 NegativeAge.Match other = (NegativeAge.Match) obj;
163 return Objects.equals(fM, other.fM);
164 } else {
165 // this should be infrequent
166 if (!(obj instanceof IPatternMatch)) {
167 return false;
168 }
169 IPatternMatch otherSig = (IPatternMatch) obj;
170 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
171 }
172 }
173
174 @Override
175 public NegativeAge specification() {
176 return NegativeAge.instance();
177 }
178
179 /**
180 * Returns an empty, mutable match.
181 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
182 *
183 * @return the empty match.
184 *
185 */
186 public static NegativeAge.Match newEmptyMatch() {
187 return new Mutable(null);
188 }
189
190 /**
191 * Returns a mutable (partial) match.
192 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
193 *
194 * @param pM the fixed value of pattern parameter m, or null if not bound.
195 * @return the new, mutable (partial) match object.
196 *
197 */
198 public static NegativeAge.Match newMutableMatch(final Member pM) {
199 return new Mutable(pM);
200 }
201
202 /**
203 * Returns a new (partial) match.
204 * This can be used e.g. to call the matcher with a partial match.
205 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
206 * @param pM the fixed value of pattern parameter m, or null if not bound.
207 * @return the (partial) match object.
208 *
209 */
210 public static NegativeAge.Match newMatch(final Member pM) {
211 return new Immutable(pM);
212 }
213
214 private static final class Mutable extends NegativeAge.Match {
215 Mutable(final Member pM) {
216 super(pM);
217 }
218
219 @Override
220 public boolean isMutable() {
221 return true;
222 }
223 }
224
225 private static final class Immutable extends NegativeAge.Match {
226 Immutable(final Member pM) {
227 super(pM);
228 }
229
230 @Override
231 public boolean isMutable() {
232 return false;
233 }
234 }
235 }
236
237 /**
238 * Generated pattern matcher API of the queries.negativeAge pattern,
239 * providing pattern-specific query methods.
240 *
241 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
242 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
243 *
244 * <p>Matches of the pattern will be represented as {@link Match}.
245 *
246 * <p>Original source:
247 * <code><pre>
248 * {@literal @}Constraint(message="negativeAge", severity="error",key={m})
249 * pattern negativeAge(m: Member) {
250 * Member.age(m,mage);
251 * check(mage{@literal <}0);
252 * }
253 * </pre></code>
254 *
255 * @see Match
256 * @see NegativeAge
257 *
258 */
259 public static class Matcher extends BaseMatcher<NegativeAge.Match> {
260 /**
261 * Initializes the pattern matcher within an existing VIATRA Query engine.
262 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
263 *
264 * @param engine the existing VIATRA Query engine in which this matcher will be created.
265 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
266 *
267 */
268 public static NegativeAge.Matcher on(final ViatraQueryEngine engine) {
269 // check if matcher already exists
270 Matcher matcher = engine.getExistingMatcher(querySpecification());
271 if (matcher == null) {
272 matcher = (Matcher)engine.getMatcher(querySpecification());
273 }
274 return matcher;
275 }
276
277 /**
278 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
279 * @return an initialized matcher
280 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
281 *
282 */
283 public static NegativeAge.Matcher create() {
284 return new Matcher();
285 }
286
287 private static final int POSITION_M = 0;
288
289 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NegativeAge.Matcher.class);
290
291 /**
292 * Initializes the pattern matcher within an existing VIATRA Query engine.
293 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
294 *
295 * @param engine the existing VIATRA Query engine in which this matcher will be created.
296 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
297 *
298 */
299 private Matcher() {
300 super(querySpecification());
301 }
302
303 /**
304 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
305 * @param pM the fixed value of pattern parameter m, or null if not bound.
306 * @return matches represented as a Match object.
307 *
308 */
309 public Collection<NegativeAge.Match> getAllMatches(final Member pM) {
310 return rawStreamAllMatches(new Object[]{pM}).collect(Collectors.toSet());
311 }
312
313 /**
314 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
315 * </p>
316 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
317 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
318 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
319 * @param pM the fixed value of pattern parameter m, or null if not bound.
320 * @return a stream of matches represented as a Match object.
321 *
322 */
323 public Stream<NegativeAge.Match> streamAllMatches(final Member pM) {
324 return rawStreamAllMatches(new Object[]{pM});
325 }
326
327 /**
328 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
329 * Neither determinism nor randomness of selection is guaranteed.
330 * @param pM the fixed value of pattern parameter m, or null if not bound.
331 * @return a match represented as a Match object, or null if no match is found.
332 *
333 */
334 public Optional<NegativeAge.Match> getOneArbitraryMatch(final Member pM) {
335 return rawGetOneArbitraryMatch(new Object[]{pM});
336 }
337
338 /**
339 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
340 * under any possible substitution of the unspecified parameters (if any).
341 * @param pM the fixed value of pattern parameter m, or null if not bound.
342 * @return true if the input is a valid (partial) match of the pattern.
343 *
344 */
345 public boolean hasMatch(final Member pM) {
346 return rawHasMatch(new Object[]{pM});
347 }
348
349 /**
350 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
351 * @param pM the fixed value of pattern parameter m, or null if not bound.
352 * @return the number of pattern matches found.
353 *
354 */
355 public int countMatches(final Member pM) {
356 return rawCountMatches(new Object[]{pM});
357 }
358
359 /**
360 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
361 * Neither determinism nor randomness of selection is guaranteed.
362 * @param pM the fixed value of pattern parameter m, or null if not bound.
363 * @param processor the action that will process the selected match.
364 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
365 *
366 */
367 public boolean forOneArbitraryMatch(final Member pM, final Consumer<? super NegativeAge.Match> processor) {
368 return rawForOneArbitraryMatch(new Object[]{pM}, processor);
369 }
370
371 /**
372 * Returns a new (partial) match.
373 * This can be used e.g. to call the matcher with a partial match.
374 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
375 * @param pM the fixed value of pattern parameter m, or null if not bound.
376 * @return the (partial) match object.
377 *
378 */
379 public NegativeAge.Match newMatch(final Member pM) {
380 return NegativeAge.Match.newMatch(pM);
381 }
382
383 /**
384 * Retrieve the set of values that occur in matches for m.
385 * @return the Set of all values or empty set if there are no matches
386 *
387 */
388 protected Stream<Member> rawStreamAllValuesOfm(final Object[] parameters) {
389 return rawStreamAllValues(POSITION_M, parameters).map(Member.class::cast);
390 }
391
392 /**
393 * Retrieve the set of values that occur in matches for m.
394 * @return the Set of all values or empty set if there are no matches
395 *
396 */
397 public Set<Member> getAllValuesOfm() {
398 return rawStreamAllValuesOfm(emptyArray()).collect(Collectors.toSet());
399 }
400
401 /**
402 * Retrieve the set of values that occur in matches for m.
403 * @return the Set of all values or empty set if there are no matches
404 *
405 */
406 public Stream<Member> streamAllValuesOfm() {
407 return rawStreamAllValuesOfm(emptyArray());
408 }
409
410 @Override
411 protected NegativeAge.Match tupleToMatch(final Tuple t) {
412 try {
413 return NegativeAge.Match.newMatch((Member) t.get(POSITION_M));
414 } catch(ClassCastException e) {
415 LOGGER.error("Element(s) in tuple not properly typed!",e);
416 return null;
417 }
418 }
419
420 @Override
421 protected NegativeAge.Match arrayToMatch(final Object[] match) {
422 try {
423 return NegativeAge.Match.newMatch((Member) match[POSITION_M]);
424 } catch(ClassCastException e) {
425 LOGGER.error("Element(s) in array not properly typed!",e);
426 return null;
427 }
428 }
429
430 @Override
431 protected NegativeAge.Match arrayToMatchMutable(final Object[] match) {
432 try {
433 return NegativeAge.Match.newMutableMatch((Member) match[POSITION_M]);
434 } catch(ClassCastException e) {
435 LOGGER.error("Element(s) in array not properly typed!",e);
436 return null;
437 }
438 }
439
440 /**
441 * @return the singleton instance of the query specification of this pattern
442 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
443 *
444 */
445 public static IQuerySpecification<NegativeAge.Matcher> querySpecification() {
446 return NegativeAge.instance();
447 }
448 }
449
450 private NegativeAge() {
451 super(GeneratedPQuery.INSTANCE);
452 }
453
454 /**
455 * @return the singleton instance of the query specification
456 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
457 *
458 */
459 public static NegativeAge instance() {
460 try{
461 return LazyHolder.INSTANCE;
462 } catch (ExceptionInInitializerError err) {
463 throw processInitializerError(err);
464 }
465 }
466
467 @Override
468 protected NegativeAge.Matcher instantiate(final ViatraQueryEngine engine) {
469 return NegativeAge.Matcher.on(engine);
470 }
471
472 @Override
473 public NegativeAge.Matcher instantiate() {
474 return NegativeAge.Matcher.create();
475 }
476
477 @Override
478 public NegativeAge.Match newEmptyMatch() {
479 return NegativeAge.Match.newEmptyMatch();
480 }
481
482 @Override
483 public NegativeAge.Match newMatch(final Object... parameters) {
484 return NegativeAge.Match.newMatch((familytree.Member) parameters[0]);
485 }
486
487 /**
488 * Inner class allowing the singleton instance of {@link NegativeAge} to be created
489 * <b>not</b> at the class load time of the outer class,
490 * but rather at the first call to {@link NegativeAge#instance()}.
491 *
492 * <p> This workaround is required e.g. to support recursion.
493 *
494 */
495 private static class LazyHolder {
496 private static final NegativeAge INSTANCE = new NegativeAge();
497
498 /**
499 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
500 * This initialization order is required to support indirect recursion.
501 *
502 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
503 *
504 */
505 private static final Object STATIC_INITIALIZER = ensureInitialized();
506
507 public static Object ensureInitialized() {
508 INSTANCE.ensureInitializedInternal();
509 return null;
510 }
511 }
512
513 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
514 private static final NegativeAge.GeneratedPQuery INSTANCE = new GeneratedPQuery();
515
516 private final PParameter parameter_m = new PParameter("m", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
517
518 private final List<PParameter> parameters = Arrays.asList(parameter_m);
519
520 private GeneratedPQuery() {
521 super(PVisibility.PUBLIC);
522 }
523
524 @Override
525 public String getFullyQualifiedName() {
526 return "queries.negativeAge";
527 }
528
529 @Override
530 public List<String> getParameterNames() {
531 return Arrays.asList("m");
532 }
533
534 @Override
535 public List<PParameter> getParameters() {
536 return parameters;
537 }
538
539 @Override
540 public Set<PBody> doGetContainedBodies() {
541 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
542 Set<PBody> bodies = new LinkedHashSet<>();
543 {
544 PBody body = new PBody(this);
545 PVariable var_m = body.getOrCreateVariableByName("m");
546 PVariable var_mage = body.getOrCreateVariableByName("mage");
547 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
548 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
549 new ExportedParameter(body, var_m, parameter_m)
550 ));
551 // Member.age(m,mage)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_m), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
553 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_m, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "age")));
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EInt")));
556 new Equality(body, var__virtual_0_, var_mage);
557 // check(mage<0)
558 new ExpressionEvaluation(body, new IExpressionEvaluator() {
559
560 @Override
561 public String getShortDescription() {
562 return "Expression evaluation from pattern negativeAge";
563 }
564
565 @Override
566 public Iterable<String> getInputParameterNames() {
567 return Arrays.asList("mage");}
568
569 @Override
570 public Object evaluateExpression(IValueProvider provider) throws Exception {
571 Integer mage = (Integer) provider.getValue("mage");
572 return evaluateExpression_1_1(mage);
573 }
574 }, null);
575 bodies.add(body);
576 }
577 {
578 PAnnotation annotation = new PAnnotation("Constraint");
579 annotation.addAttribute("message", "negativeAge");
580 annotation.addAttribute("severity", "error");
581 annotation.addAttribute("key", Arrays.asList(new Object[] {
582 new ParameterReference("m")
583 }));
584 addAnnotation(annotation);
585 }
586 return bodies;
587 }
588 }
589
590 private static boolean evaluateExpression_1_1(final Integer mage) {
591 return ((mage).intValue() < 0);
592 }
593}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/ParentTooYoung.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/ParentTooYoung.java
new file mode 100644
index 00000000..5ed9df5e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/ParentTooYoung.java
@@ -0,0 +1,775 @@
1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */
4package queries;
5
6import familytree.Member;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
32import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
33import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
34import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
35import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
36import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
39import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
40import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
42import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
43import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
47
48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
50 *
51 * <p>Original source:
52 * <code><pre>
53 * {@literal @}Constraint(message="parentTooYoung", severity="error", key={c, p})
54 * pattern parentTooYoung(c: Member, p: Member) = {
55 * FamilyTree.members(_, c);
56 * Member.parents(c, p);
57 * Member.age(c, cAge);
58 * Member.age(p, pAge);
59 * check (pAge {@literal <}= (cAge + 12));
60 * }
61 * </pre></code>
62 *
63 * @see Matcher
64 * @see Match
65 *
66 */
67@SuppressWarnings("all")
68public final class ParentTooYoung extends BaseGeneratedEMFQuerySpecification<ParentTooYoung.Matcher> {
69 /**
70 * Pattern-specific match representation of the queries.parentTooYoung pattern,
71 * to be used in conjunction with {@link Matcher}.
72 *
73 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
74 * Each instance is a (possibly partial) substitution of pattern parameters,
75 * usable to represent a match of the pattern in the result of a query,
76 * or to specify the bound (fixed) input parameters when issuing a query.
77 *
78 * @see Matcher
79 *
80 */
81 public static abstract class Match extends BasePatternMatch {
82 private Member fC;
83
84 private Member fP;
85
86 private static List<String> parameterNames = makeImmutableList("c", "p");
87
88 private Match(final Member pC, final Member pP) {
89 this.fC = pC;
90 this.fP = pP;
91 }
92
93 @Override
94 public Object get(final String parameterName) {
95 switch(parameterName) {
96 case "c": return this.fC;
97 case "p": return this.fP;
98 default: return null;
99 }
100 }
101
102 @Override
103 public Object get(final int index) {
104 switch(index) {
105 case 0: return this.fC;
106 case 1: return this.fP;
107 default: return null;
108 }
109 }
110
111 public Member getC() {
112 return this.fC;
113 }
114
115 public Member getP() {
116 return this.fP;
117 }
118
119 @Override
120 public boolean set(final String parameterName, final Object newValue) {
121 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
122 if ("c".equals(parameterName) ) {
123 this.fC = (Member) newValue;
124 return true;
125 }
126 if ("p".equals(parameterName) ) {
127 this.fP = (Member) newValue;
128 return true;
129 }
130 return false;
131 }
132
133 public void setC(final Member pC) {
134 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
135 this.fC = pC;
136 }
137
138 public void setP(final Member pP) {
139 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
140 this.fP = pP;
141 }
142
143 @Override
144 public String patternName() {
145 return "queries.parentTooYoung";
146 }
147
148 @Override
149 public List<String> parameterNames() {
150 return ParentTooYoung.Match.parameterNames;
151 }
152
153 @Override
154 public Object[] toArray() {
155 return new Object[]{fC, fP};
156 }
157
158 @Override
159 public ParentTooYoung.Match toImmutable() {
160 return isMutable() ? newMatch(fC, fP) : this;
161 }
162
163 @Override
164 public String prettyPrint() {
165 StringBuilder result = new StringBuilder();
166 result.append("\"c\"=" + prettyPrintValue(fC) + ", ");
167 result.append("\"p\"=" + prettyPrintValue(fP));
168 return result.toString();
169 }
170
171 @Override
172 public int hashCode() {
173 return Objects.hash(fC, fP);
174 }
175
176 @Override
177 public boolean equals(final Object obj) {
178 if (this == obj)
179 return true;
180 if (obj == null) {
181 return false;
182 }
183 if ((obj instanceof ParentTooYoung.Match)) {
184 ParentTooYoung.Match other = (ParentTooYoung.Match) obj;
185 return Objects.equals(fC, other.fC) && Objects.equals(fP, other.fP);
186 } else {
187 // this should be infrequent
188 if (!(obj instanceof IPatternMatch)) {
189 return false;
190 }
191 IPatternMatch otherSig = (IPatternMatch) obj;
192 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
193 }
194 }
195
196 @Override
197 public ParentTooYoung specification() {
198 return ParentTooYoung.instance();
199 }
200
201 /**
202 * Returns an empty, mutable match.
203 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
204 *
205 * @return the empty match.
206 *
207 */
208 public static ParentTooYoung.Match newEmptyMatch() {
209 return new Mutable(null, null);
210 }
211
212 /**
213 * Returns a mutable (partial) match.
214 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
215 *
216 * @param pC the fixed value of pattern parameter c, or null if not bound.
217 * @param pP the fixed value of pattern parameter p, or null if not bound.
218 * @return the new, mutable (partial) match object.
219 *
220 */
221 public static ParentTooYoung.Match newMutableMatch(final Member pC, final Member pP) {
222 return new Mutable(pC, pP);
223 }
224
225 /**
226 * Returns a new (partial) match.
227 * This can be used e.g. to call the matcher with a partial match.
228 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
229 * @param pC the fixed value of pattern parameter c, or null if not bound.
230 * @param pP the fixed value of pattern parameter p, or null if not bound.
231 * @return the (partial) match object.
232 *
233 */
234 public static ParentTooYoung.Match newMatch(final Member pC, final Member pP) {
235 return new Immutable(pC, pP);
236 }
237
238 private static final class Mutable extends ParentTooYoung.Match {
239 Mutable(final Member pC, final Member pP) {
240 super(pC, pP);
241 }
242
243 @Override
244 public boolean isMutable() {
245 return true;
246 }
247 }
248
249 private static final class Immutable extends ParentTooYoung.Match {
250 Immutable(final Member pC, final Member pP) {
251 super(pC, pP);
252 }
253
254 @Override
255 public boolean isMutable() {
256 return false;
257 }
258 }
259 }
260
261 /**
262 * Generated pattern matcher API of the queries.parentTooYoung pattern,
263 * providing pattern-specific query methods.
264 *
265 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
266 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
267 *
268 * <p>Matches of the pattern will be represented as {@link Match}.
269 *
270 * <p>Original source:
271 * <code><pre>
272 * {@literal @}Constraint(message="parentTooYoung", severity="error", key={c, p})
273 * pattern parentTooYoung(c: Member, p: Member) = {
274 * FamilyTree.members(_, c);
275 * Member.parents(c, p);
276 * Member.age(c, cAge);
277 * Member.age(p, pAge);
278 * check (pAge {@literal <}= (cAge + 12));
279 * }
280 * </pre></code>
281 *
282 * @see Match
283 * @see ParentTooYoung
284 *
285 */
286 public static class Matcher extends BaseMatcher<ParentTooYoung.Match> {
287 /**
288 * Initializes the pattern matcher within an existing VIATRA Query engine.
289 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
290 *
291 * @param engine the existing VIATRA Query engine in which this matcher will be created.
292 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
293 *
294 */
295 public static ParentTooYoung.Matcher on(final ViatraQueryEngine engine) {
296 // check if matcher already exists
297 Matcher matcher = engine.getExistingMatcher(querySpecification());
298 if (matcher == null) {
299 matcher = (Matcher)engine.getMatcher(querySpecification());
300 }
301 return matcher;
302 }
303
304 /**
305 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
306 * @return an initialized matcher
307 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
308 *
309 */
310 public static ParentTooYoung.Matcher create() {
311 return new Matcher();
312 }
313
314 private static final int POSITION_C = 0;
315
316 private static final int POSITION_P = 1;
317
318 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(ParentTooYoung.Matcher.class);
319
320 /**
321 * Initializes the pattern matcher within an existing VIATRA Query engine.
322 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
323 *
324 * @param engine the existing VIATRA Query engine in which this matcher will be created.
325 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
326 *
327 */
328 private Matcher() {
329 super(querySpecification());
330 }
331
332 /**
333 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
334 * @param pC the fixed value of pattern parameter c, or null if not bound.
335 * @param pP the fixed value of pattern parameter p, or null if not bound.
336 * @return matches represented as a Match object.
337 *
338 */
339 public Collection<ParentTooYoung.Match> getAllMatches(final Member pC, final Member pP) {
340 return rawStreamAllMatches(new Object[]{pC, pP}).collect(Collectors.toSet());
341 }
342
343 /**
344 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
345 * </p>
346 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
347 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
348 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
349 * @param pC the fixed value of pattern parameter c, or null if not bound.
350 * @param pP the fixed value of pattern parameter p, or null if not bound.
351 * @return a stream of matches represented as a Match object.
352 *
353 */
354 public Stream<ParentTooYoung.Match> streamAllMatches(final Member pC, final Member pP) {
355 return rawStreamAllMatches(new Object[]{pC, pP});
356 }
357
358 /**
359 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
360 * Neither determinism nor randomness of selection is guaranteed.
361 * @param pC the fixed value of pattern parameter c, or null if not bound.
362 * @param pP the fixed value of pattern parameter p, or null if not bound.
363 * @return a match represented as a Match object, or null if no match is found.
364 *
365 */
366 public Optional<ParentTooYoung.Match> getOneArbitraryMatch(final Member pC, final Member pP) {
367 return rawGetOneArbitraryMatch(new Object[]{pC, pP});
368 }
369
370 /**
371 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
372 * under any possible substitution of the unspecified parameters (if any).
373 * @param pC the fixed value of pattern parameter c, or null if not bound.
374 * @param pP the fixed value of pattern parameter p, or null if not bound.
375 * @return true if the input is a valid (partial) match of the pattern.
376 *
377 */
378 public boolean hasMatch(final Member pC, final Member pP) {
379 return rawHasMatch(new Object[]{pC, pP});
380 }
381
382 /**
383 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
384 * @param pC the fixed value of pattern parameter c, or null if not bound.
385 * @param pP the fixed value of pattern parameter p, or null if not bound.
386 * @return the number of pattern matches found.
387 *
388 */
389 public int countMatches(final Member pC, final Member pP) {
390 return rawCountMatches(new Object[]{pC, pP});
391 }
392
393 /**
394 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
395 * Neither determinism nor randomness of selection is guaranteed.
396 * @param pC the fixed value of pattern parameter c, or null if not bound.
397 * @param pP the fixed value of pattern parameter p, or null if not bound.
398 * @param processor the action that will process the selected match.
399 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
400 *
401 */
402 public boolean forOneArbitraryMatch(final Member pC, final Member pP, final Consumer<? super ParentTooYoung.Match> processor) {
403 return rawForOneArbitraryMatch(new Object[]{pC, pP}, processor);
404 }
405
406 /**
407 * Returns a new (partial) match.
408 * This can be used e.g. to call the matcher with a partial match.
409 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
410 * @param pC the fixed value of pattern parameter c, or null if not bound.
411 * @param pP the fixed value of pattern parameter p, or null if not bound.
412 * @return the (partial) match object.
413 *
414 */
415 public ParentTooYoung.Match newMatch(final Member pC, final Member pP) {
416 return ParentTooYoung.Match.newMatch(pC, pP);
417 }
418
419 /**
420 * Retrieve the set of values that occur in matches for c.
421 * @return the Set of all values or empty set if there are no matches
422 *
423 */
424 protected Stream<Member> rawStreamAllValuesOfc(final Object[] parameters) {
425 return rawStreamAllValues(POSITION_C, parameters).map(Member.class::cast);
426 }
427
428 /**
429 * Retrieve the set of values that occur in matches for c.
430 * @return the Set of all values or empty set if there are no matches
431 *
432 */
433 public Set<Member> getAllValuesOfc() {
434 return rawStreamAllValuesOfc(emptyArray()).collect(Collectors.toSet());
435 }
436
437 /**
438 * Retrieve the set of values that occur in matches for c.
439 * @return the Set of all values or empty set if there are no matches
440 *
441 */
442 public Stream<Member> streamAllValuesOfc() {
443 return rawStreamAllValuesOfc(emptyArray());
444 }
445
446 /**
447 * Retrieve the set of values that occur in matches for c.
448 * </p>
449 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
450 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
451 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
452 *
453 * @return the Stream of all values or empty set if there are no matches
454 *
455 */
456 public Stream<Member> streamAllValuesOfc(final ParentTooYoung.Match partialMatch) {
457 return rawStreamAllValuesOfc(partialMatch.toArray());
458 }
459
460 /**
461 * Retrieve the set of values that occur in matches for c.
462 * </p>
463 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
464 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
465 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
466 *
467 * @return the Stream of all values or empty set if there are no matches
468 *
469 */
470 public Stream<Member> streamAllValuesOfc(final Member pP) {
471 return rawStreamAllValuesOfc(new Object[]{null, pP});
472 }
473
474 /**
475 * Retrieve the set of values that occur in matches for c.
476 * @return the Set of all values or empty set if there are no matches
477 *
478 */
479 public Set<Member> getAllValuesOfc(final ParentTooYoung.Match partialMatch) {
480 return rawStreamAllValuesOfc(partialMatch.toArray()).collect(Collectors.toSet());
481 }
482
483 /**
484 * Retrieve the set of values that occur in matches for c.
485 * @return the Set of all values or empty set if there are no matches
486 *
487 */
488 public Set<Member> getAllValuesOfc(final Member pP) {
489 return rawStreamAllValuesOfc(new Object[]{null, pP}).collect(Collectors.toSet());
490 }
491
492 /**
493 * Retrieve the set of values that occur in matches for p.
494 * @return the Set of all values or empty set if there are no matches
495 *
496 */
497 protected Stream<Member> rawStreamAllValuesOfp(final Object[] parameters) {
498 return rawStreamAllValues(POSITION_P, parameters).map(Member.class::cast);
499 }
500
501 /**
502 * Retrieve the set of values that occur in matches for p.
503 * @return the Set of all values or empty set if there are no matches
504 *
505 */
506 public Set<Member> getAllValuesOfp() {
507 return rawStreamAllValuesOfp(emptyArray()).collect(Collectors.toSet());
508 }
509
510 /**
511 * Retrieve the set of values that occur in matches for p.
512 * @return the Set of all values or empty set if there are no matches
513 *
514 */
515 public Stream<Member> streamAllValuesOfp() {
516 return rawStreamAllValuesOfp(emptyArray());
517 }
518
519 /**
520 * Retrieve the set of values that occur in matches for p.
521 * </p>
522 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
523 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
524 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
525 *
526 * @return the Stream of all values or empty set if there are no matches
527 *
528 */
529 public Stream<Member> streamAllValuesOfp(final ParentTooYoung.Match partialMatch) {
530 return rawStreamAllValuesOfp(partialMatch.toArray());
531 }
532
533 /**
534 * Retrieve the set of values that occur in matches for p.
535 * </p>
536 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
537 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
538 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
539 *
540 * @return the Stream of all values or empty set if there are no matches
541 *
542 */
543 public Stream<Member> streamAllValuesOfp(final Member pC) {
544 return rawStreamAllValuesOfp(new Object[]{pC, null});
545 }
546
547 /**
548 * Retrieve the set of values that occur in matches for p.
549 * @return the Set of all values or empty set if there are no matches
550 *
551 */
552 public Set<Member> getAllValuesOfp(final ParentTooYoung.Match partialMatch) {
553 return rawStreamAllValuesOfp(partialMatch.toArray()).collect(Collectors.toSet());
554 }
555
556 /**
557 * Retrieve the set of values that occur in matches for p.
558 * @return the Set of all values or empty set if there are no matches
559 *
560 */
561 public Set<Member> getAllValuesOfp(final Member pC) {
562 return rawStreamAllValuesOfp(new Object[]{pC, null}).collect(Collectors.toSet());
563 }
564
565 @Override
566 protected ParentTooYoung.Match tupleToMatch(final Tuple t) {
567 try {
568 return ParentTooYoung.Match.newMatch((Member) t.get(POSITION_C), (Member) t.get(POSITION_P));
569 } catch(ClassCastException e) {
570 LOGGER.error("Element(s) in tuple not properly typed!",e);
571 return null;
572 }
573 }
574
575 @Override
576 protected ParentTooYoung.Match arrayToMatch(final Object[] match) {
577 try {
578 return ParentTooYoung.Match.newMatch((Member) match[POSITION_C], (Member) match[POSITION_P]);
579 } catch(ClassCastException e) {
580 LOGGER.error("Element(s) in array not properly typed!",e);
581 return null;
582 }
583 }
584
585 @Override
586 protected ParentTooYoung.Match arrayToMatchMutable(final Object[] match) {
587 try {
588 return ParentTooYoung.Match.newMutableMatch((Member) match[POSITION_C], (Member) match[POSITION_P]);
589 } catch(ClassCastException e) {
590 LOGGER.error("Element(s) in array not properly typed!",e);
591 return null;
592 }
593 }
594
595 /**
596 * @return the singleton instance of the query specification of this pattern
597 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
598 *
599 */
600 public static IQuerySpecification<ParentTooYoung.Matcher> querySpecification() {
601 return ParentTooYoung.instance();
602 }
603 }
604
605 private ParentTooYoung() {
606 super(GeneratedPQuery.INSTANCE);
607 }
608
609 /**
610 * @return the singleton instance of the query specification
611 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
612 *
613 */
614 public static ParentTooYoung instance() {
615 try{
616 return LazyHolder.INSTANCE;
617 } catch (ExceptionInInitializerError err) {
618 throw processInitializerError(err);
619 }
620 }
621
622 @Override
623 protected ParentTooYoung.Matcher instantiate(final ViatraQueryEngine engine) {
624 return ParentTooYoung.Matcher.on(engine);
625 }
626
627 @Override
628 public ParentTooYoung.Matcher instantiate() {
629 return ParentTooYoung.Matcher.create();
630 }
631
632 @Override
633 public ParentTooYoung.Match newEmptyMatch() {
634 return ParentTooYoung.Match.newEmptyMatch();
635 }
636
637 @Override
638 public ParentTooYoung.Match newMatch(final Object... parameters) {
639 return ParentTooYoung.Match.newMatch((familytree.Member) parameters[0], (familytree.Member) parameters[1]);
640 }
641
642 /**
643 * Inner class allowing the singleton instance of {@link ParentTooYoung} to be created
644 * <b>not</b> at the class load time of the outer class,
645 * but rather at the first call to {@link ParentTooYoung#instance()}.
646 *
647 * <p> This workaround is required e.g. to support recursion.
648 *
649 */
650 private static class LazyHolder {
651 private static final ParentTooYoung INSTANCE = new ParentTooYoung();
652
653 /**
654 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
655 * This initialization order is required to support indirect recursion.
656 *
657 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
658 *
659 */
660 private static final Object STATIC_INITIALIZER = ensureInitialized();
661
662 public static Object ensureInitialized() {
663 INSTANCE.ensureInitializedInternal();
664 return null;
665 }
666 }
667
668 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
669 private static final ParentTooYoung.GeneratedPQuery INSTANCE = new GeneratedPQuery();
670
671 private final PParameter parameter_c = new PParameter("c", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
672
673 private final PParameter parameter_p = new PParameter("p", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
674
675 private final List<PParameter> parameters = Arrays.asList(parameter_c, parameter_p);
676
677 private GeneratedPQuery() {
678 super(PVisibility.PUBLIC);
679 }
680
681 @Override
682 public String getFullyQualifiedName() {
683 return "queries.parentTooYoung";
684 }
685
686 @Override
687 public List<String> getParameterNames() {
688 return Arrays.asList("c","p");
689 }
690
691 @Override
692 public List<PParameter> getParameters() {
693 return parameters;
694 }
695
696 @Override
697 public Set<PBody> doGetContainedBodies() {
698 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
699 Set<PBody> bodies = new LinkedHashSet<>();
700 {
701 PBody body = new PBody(this);
702 PVariable var_c = body.getOrCreateVariableByName("c");
703 PVariable var_p = body.getOrCreateVariableByName("p");
704 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
705 PVariable var_cAge = body.getOrCreateVariableByName("cAge");
706 PVariable var_pAge = body.getOrCreateVariableByName("pAge");
707 new TypeConstraint(body, Tuples.flatTupleOf(var_c), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
708 new TypeConstraint(body, Tuples.flatTupleOf(var_p), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
709 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
710 new ExportedParameter(body, var_c, parameter_c),
711 new ExportedParameter(body, var_p, parameter_p)
712 ));
713 // FamilyTree.members(_, c)
714 new TypeConstraint(body, Tuples.flatTupleOf(var___0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "FamilyTree")));
715 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
716 new TypeConstraint(body, Tuples.flatTupleOf(var___0_, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "FamilyTree", "members")));
717 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
718 new Equality(body, var__virtual_0_, var_c);
719 // Member.parents(c, p)
720 new TypeConstraint(body, Tuples.flatTupleOf(var_c), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
721 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
722 new TypeConstraint(body, Tuples.flatTupleOf(var_c, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "parents")));
723 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
724 new Equality(body, var__virtual_1_, var_p);
725 // Member.age(c, cAge)
726 new TypeConstraint(body, Tuples.flatTupleOf(var_c), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
727 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
728 new TypeConstraint(body, Tuples.flatTupleOf(var_c, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "age")));
729 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EInt")));
730 new Equality(body, var__virtual_2_, var_cAge);
731 // Member.age(p, pAge)
732 new TypeConstraint(body, Tuples.flatTupleOf(var_p), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
733 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}");
734 new TypeConstraint(body, Tuples.flatTupleOf(var_p, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/familytree", "Member", "age")));
735 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EInt")));
736 new Equality(body, var__virtual_3_, var_pAge);
737 // check (pAge <= (cAge + 12))
738 new ExpressionEvaluation(body, new IExpressionEvaluator() {
739
740 @Override
741 public String getShortDescription() {
742 return "Expression evaluation from pattern parentTooYoung";
743 }
744
745 @Override
746 public Iterable<String> getInputParameterNames() {
747 return Arrays.asList("cAge", "pAge");}
748
749 @Override
750 public Object evaluateExpression(IValueProvider provider) throws Exception {
751 Integer cAge = (Integer) provider.getValue("cAge");
752 Integer pAge = (Integer) provider.getValue("pAge");
753 return evaluateExpression_1_1(cAge, pAge);
754 }
755 }, null);
756 bodies.add(body);
757 }
758 {
759 PAnnotation annotation = new PAnnotation("Constraint");
760 annotation.addAttribute("message", "parentTooYoung");
761 annotation.addAttribute("severity", "error");
762 annotation.addAttribute("key", Arrays.asList(new Object[] {
763 new ParameterReference("c"),
764 new ParameterReference("p")
765 }));
766 addAnnotation(annotation);
767 }
768 return bodies;
769 }
770 }
771
772 private static boolean evaluateExpression_1_1(final Integer cAge, final Integer pAge) {
773 return ((pAge).intValue() <= ((cAge).intValue() + 12));
774 }
775}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/TwoMembersHaveNoParent.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/TwoMembersHaveNoParent.java
new file mode 100644
index 00000000..365939dd
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src-gen/queries/TwoMembersHaveNoParent.java
@@ -0,0 +1,723 @@
1/**
2 * Generated from platform:/resource/case.study.familyTree.run/src/queries/familyTreeConstraints.vql
3 */
4package queries;
5
6import familytree.Member;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
27import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import queries.MemberHasParent;
43
44/**
45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
46 *
47 * <p>Original source:
48 * <code><pre>
49 * {@literal @}Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2})
50 * pattern twoMembersHaveNoParent(m1:Member, m2:Member) = {
51 * neg find memberHasParent(m1);
52 * neg find memberHasParent(m2);
53 * m1 != m2;
54 * }
55 * </pre></code>
56 *
57 * @see Matcher
58 * @see Match
59 *
60 */
61@SuppressWarnings("all")
62public final class TwoMembersHaveNoParent extends BaseGeneratedEMFQuerySpecification<TwoMembersHaveNoParent.Matcher> {
63 /**
64 * Pattern-specific match representation of the queries.twoMembersHaveNoParent pattern,
65 * to be used in conjunction with {@link Matcher}.
66 *
67 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
68 * Each instance is a (possibly partial) substitution of pattern parameters,
69 * usable to represent a match of the pattern in the result of a query,
70 * or to specify the bound (fixed) input parameters when issuing a query.
71 *
72 * @see Matcher
73 *
74 */
75 public static abstract class Match extends BasePatternMatch {
76 private Member fM1;
77
78 private Member fM2;
79
80 private static List<String> parameterNames = makeImmutableList("m1", "m2");
81
82 private Match(final Member pM1, final Member pM2) {
83 this.fM1 = pM1;
84 this.fM2 = pM2;
85 }
86
87 @Override
88 public Object get(final String parameterName) {
89 switch(parameterName) {
90 case "m1": return this.fM1;
91 case "m2": return this.fM2;
92 default: return null;
93 }
94 }
95
96 @Override
97 public Object get(final int index) {
98 switch(index) {
99 case 0: return this.fM1;
100 case 1: return this.fM2;
101 default: return null;
102 }
103 }
104
105 public Member getM1() {
106 return this.fM1;
107 }
108
109 public Member getM2() {
110 return this.fM2;
111 }
112
113 @Override
114 public boolean set(final String parameterName, final Object newValue) {
115 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
116 if ("m1".equals(parameterName) ) {
117 this.fM1 = (Member) newValue;
118 return true;
119 }
120 if ("m2".equals(parameterName) ) {
121 this.fM2 = (Member) newValue;
122 return true;
123 }
124 return false;
125 }
126
127 public void setM1(final Member pM1) {
128 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
129 this.fM1 = pM1;
130 }
131
132 public void setM2(final Member pM2) {
133 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
134 this.fM2 = pM2;
135 }
136
137 @Override
138 public String patternName() {
139 return "queries.twoMembersHaveNoParent";
140 }
141
142 @Override
143 public List<String> parameterNames() {
144 return TwoMembersHaveNoParent.Match.parameterNames;
145 }
146
147 @Override
148 public Object[] toArray() {
149 return new Object[]{fM1, fM2};
150 }
151
152 @Override
153 public TwoMembersHaveNoParent.Match toImmutable() {
154 return isMutable() ? newMatch(fM1, fM2) : this;
155 }
156
157 @Override
158 public String prettyPrint() {
159 StringBuilder result = new StringBuilder();
160 result.append("\"m1\"=" + prettyPrintValue(fM1) + ", ");
161 result.append("\"m2\"=" + prettyPrintValue(fM2));
162 return result.toString();
163 }
164
165 @Override
166 public int hashCode() {
167 return Objects.hash(fM1, fM2);
168 }
169
170 @Override
171 public boolean equals(final Object obj) {
172 if (this == obj)
173 return true;
174 if (obj == null) {
175 return false;
176 }
177 if ((obj instanceof TwoMembersHaveNoParent.Match)) {
178 TwoMembersHaveNoParent.Match other = (TwoMembersHaveNoParent.Match) obj;
179 return Objects.equals(fM1, other.fM1) && Objects.equals(fM2, other.fM2);
180 } else {
181 // this should be infrequent
182 if (!(obj instanceof IPatternMatch)) {
183 return false;
184 }
185 IPatternMatch otherSig = (IPatternMatch) obj;
186 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
187 }
188 }
189
190 @Override
191 public TwoMembersHaveNoParent specification() {
192 return TwoMembersHaveNoParent.instance();
193 }
194
195 /**
196 * Returns an empty, mutable match.
197 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
198 *
199 * @return the empty match.
200 *
201 */
202 public static TwoMembersHaveNoParent.Match newEmptyMatch() {
203 return new Mutable(null, null);
204 }
205
206 /**
207 * Returns a mutable (partial) match.
208 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
209 *
210 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
211 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
212 * @return the new, mutable (partial) match object.
213 *
214 */
215 public static TwoMembersHaveNoParent.Match newMutableMatch(final Member pM1, final Member pM2) {
216 return new Mutable(pM1, pM2);
217 }
218
219 /**
220 * Returns a new (partial) match.
221 * This can be used e.g. to call the matcher with a partial match.
222 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
223 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
224 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
225 * @return the (partial) match object.
226 *
227 */
228 public static TwoMembersHaveNoParent.Match newMatch(final Member pM1, final Member pM2) {
229 return new Immutable(pM1, pM2);
230 }
231
232 private static final class Mutable extends TwoMembersHaveNoParent.Match {
233 Mutable(final Member pM1, final Member pM2) {
234 super(pM1, pM2);
235 }
236
237 @Override
238 public boolean isMutable() {
239 return true;
240 }
241 }
242
243 private static final class Immutable extends TwoMembersHaveNoParent.Match {
244 Immutable(final Member pM1, final Member pM2) {
245 super(pM1, pM2);
246 }
247
248 @Override
249 public boolean isMutable() {
250 return false;
251 }
252 }
253 }
254
255 /**
256 * Generated pattern matcher API of the queries.twoMembersHaveNoParent pattern,
257 * providing pattern-specific query methods.
258 *
259 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
260 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
261 *
262 * <p>Matches of the pattern will be represented as {@link Match}.
263 *
264 * <p>Original source:
265 * <code><pre>
266 * {@literal @}Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2})
267 * pattern twoMembersHaveNoParent(m1:Member, m2:Member) = {
268 * neg find memberHasParent(m1);
269 * neg find memberHasParent(m2);
270 * m1 != m2;
271 * }
272 * </pre></code>
273 *
274 * @see Match
275 * @see TwoMembersHaveNoParent
276 *
277 */
278 public static class Matcher extends BaseMatcher<TwoMembersHaveNoParent.Match> {
279 /**
280 * Initializes the pattern matcher within an existing VIATRA Query engine.
281 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
282 *
283 * @param engine the existing VIATRA Query engine in which this matcher will be created.
284 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
285 *
286 */
287 public static TwoMembersHaveNoParent.Matcher on(final ViatraQueryEngine engine) {
288 // check if matcher already exists
289 Matcher matcher = engine.getExistingMatcher(querySpecification());
290 if (matcher == null) {
291 matcher = (Matcher)engine.getMatcher(querySpecification());
292 }
293 return matcher;
294 }
295
296 /**
297 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
298 * @return an initialized matcher
299 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
300 *
301 */
302 public static TwoMembersHaveNoParent.Matcher create() {
303 return new Matcher();
304 }
305
306 private static final int POSITION_M1 = 0;
307
308 private static final int POSITION_M2 = 1;
309
310 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(TwoMembersHaveNoParent.Matcher.class);
311
312 /**
313 * Initializes the pattern matcher within an existing VIATRA Query engine.
314 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
315 *
316 * @param engine the existing VIATRA Query engine in which this matcher will be created.
317 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
318 *
319 */
320 private Matcher() {
321 super(querySpecification());
322 }
323
324 /**
325 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
326 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
327 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
328 * @return matches represented as a Match object.
329 *
330 */
331 public Collection<TwoMembersHaveNoParent.Match> getAllMatches(final Member pM1, final Member pM2) {
332 return rawStreamAllMatches(new Object[]{pM1, pM2}).collect(Collectors.toSet());
333 }
334
335 /**
336 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
337 * </p>
338 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
339 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
340 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
341 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
342 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
343 * @return a stream of matches represented as a Match object.
344 *
345 */
346 public Stream<TwoMembersHaveNoParent.Match> streamAllMatches(final Member pM1, final Member pM2) {
347 return rawStreamAllMatches(new Object[]{pM1, pM2});
348 }
349
350 /**
351 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
352 * Neither determinism nor randomness of selection is guaranteed.
353 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
354 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
355 * @return a match represented as a Match object, or null if no match is found.
356 *
357 */
358 public Optional<TwoMembersHaveNoParent.Match> getOneArbitraryMatch(final Member pM1, final Member pM2) {
359 return rawGetOneArbitraryMatch(new Object[]{pM1, pM2});
360 }
361
362 /**
363 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
364 * under any possible substitution of the unspecified parameters (if any).
365 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
366 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
367 * @return true if the input is a valid (partial) match of the pattern.
368 *
369 */
370 public boolean hasMatch(final Member pM1, final Member pM2) {
371 return rawHasMatch(new Object[]{pM1, pM2});
372 }
373
374 /**
375 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
376 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
377 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
378 * @return the number of pattern matches found.
379 *
380 */
381 public int countMatches(final Member pM1, final Member pM2) {
382 return rawCountMatches(new Object[]{pM1, pM2});
383 }
384
385 /**
386 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
387 * Neither determinism nor randomness of selection is guaranteed.
388 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
389 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
390 * @param processor the action that will process the selected match.
391 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
392 *
393 */
394 public boolean forOneArbitraryMatch(final Member pM1, final Member pM2, final Consumer<? super TwoMembersHaveNoParent.Match> processor) {
395 return rawForOneArbitraryMatch(new Object[]{pM1, pM2}, processor);
396 }
397
398 /**
399 * Returns a new (partial) match.
400 * This can be used e.g. to call the matcher with a partial match.
401 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
402 * @param pM1 the fixed value of pattern parameter m1, or null if not bound.
403 * @param pM2 the fixed value of pattern parameter m2, or null if not bound.
404 * @return the (partial) match object.
405 *
406 */
407 public TwoMembersHaveNoParent.Match newMatch(final Member pM1, final Member pM2) {
408 return TwoMembersHaveNoParent.Match.newMatch(pM1, pM2);
409 }
410
411 /**
412 * Retrieve the set of values that occur in matches for m1.
413 * @return the Set of all values or empty set if there are no matches
414 *
415 */
416 protected Stream<Member> rawStreamAllValuesOfm1(final Object[] parameters) {
417 return rawStreamAllValues(POSITION_M1, parameters).map(Member.class::cast);
418 }
419
420 /**
421 * Retrieve the set of values that occur in matches for m1.
422 * @return the Set of all values or empty set if there are no matches
423 *
424 */
425 public Set<Member> getAllValuesOfm1() {
426 return rawStreamAllValuesOfm1(emptyArray()).collect(Collectors.toSet());
427 }
428
429 /**
430 * Retrieve the set of values that occur in matches for m1.
431 * @return the Set of all values or empty set if there are no matches
432 *
433 */
434 public Stream<Member> streamAllValuesOfm1() {
435 return rawStreamAllValuesOfm1(emptyArray());
436 }
437
438 /**
439 * Retrieve the set of values that occur in matches for m1.
440 * </p>
441 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
442 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
443 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
444 *
445 * @return the Stream of all values or empty set if there are no matches
446 *
447 */
448 public Stream<Member> streamAllValuesOfm1(final TwoMembersHaveNoParent.Match partialMatch) {
449 return rawStreamAllValuesOfm1(partialMatch.toArray());
450 }
451
452 /**
453 * Retrieve the set of values that occur in matches for m1.
454 * </p>
455 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
456 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
457 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
458 *
459 * @return the Stream of all values or empty set if there are no matches
460 *
461 */
462 public Stream<Member> streamAllValuesOfm1(final Member pM2) {
463 return rawStreamAllValuesOfm1(new Object[]{null, pM2});
464 }
465
466 /**
467 * Retrieve the set of values that occur in matches for m1.
468 * @return the Set of all values or empty set if there are no matches
469 *
470 */
471 public Set<Member> getAllValuesOfm1(final TwoMembersHaveNoParent.Match partialMatch) {
472 return rawStreamAllValuesOfm1(partialMatch.toArray()).collect(Collectors.toSet());
473 }
474
475 /**
476 * Retrieve the set of values that occur in matches for m1.
477 * @return the Set of all values or empty set if there are no matches
478 *
479 */
480 public Set<Member> getAllValuesOfm1(final Member pM2) {
481 return rawStreamAllValuesOfm1(new Object[]{null, pM2}).collect(Collectors.toSet());
482 }
483
484 /**
485 * Retrieve the set of values that occur in matches for m2.
486 * @return the Set of all values or empty set if there are no matches
487 *
488 */
489 protected Stream<Member> rawStreamAllValuesOfm2(final Object[] parameters) {
490 return rawStreamAllValues(POSITION_M2, parameters).map(Member.class::cast);
491 }
492
493 /**
494 * Retrieve the set of values that occur in matches for m2.
495 * @return the Set of all values or empty set if there are no matches
496 *
497 */
498 public Set<Member> getAllValuesOfm2() {
499 return rawStreamAllValuesOfm2(emptyArray()).collect(Collectors.toSet());
500 }
501
502 /**
503 * Retrieve the set of values that occur in matches for m2.
504 * @return the Set of all values or empty set if there are no matches
505 *
506 */
507 public Stream<Member> streamAllValuesOfm2() {
508 return rawStreamAllValuesOfm2(emptyArray());
509 }
510
511 /**
512 * Retrieve the set of values that occur in matches for m2.
513 * </p>
514 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
515 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
516 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
517 *
518 * @return the Stream of all values or empty set if there are no matches
519 *
520 */
521 public Stream<Member> streamAllValuesOfm2(final TwoMembersHaveNoParent.Match partialMatch) {
522 return rawStreamAllValuesOfm2(partialMatch.toArray());
523 }
524
525 /**
526 * Retrieve the set of values that occur in matches for m2.
527 * </p>
528 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
529 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
530 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
531 *
532 * @return the Stream of all values or empty set if there are no matches
533 *
534 */
535 public Stream<Member> streamAllValuesOfm2(final Member pM1) {
536 return rawStreamAllValuesOfm2(new Object[]{pM1, null});
537 }
538
539 /**
540 * Retrieve the set of values that occur in matches for m2.
541 * @return the Set of all values or empty set if there are no matches
542 *
543 */
544 public Set<Member> getAllValuesOfm2(final TwoMembersHaveNoParent.Match partialMatch) {
545 return rawStreamAllValuesOfm2(partialMatch.toArray()).collect(Collectors.toSet());
546 }
547
548 /**
549 * Retrieve the set of values that occur in matches for m2.
550 * @return the Set of all values or empty set if there are no matches
551 *
552 */
553 public Set<Member> getAllValuesOfm2(final Member pM1) {
554 return rawStreamAllValuesOfm2(new Object[]{pM1, null}).collect(Collectors.toSet());
555 }
556
557 @Override
558 protected TwoMembersHaveNoParent.Match tupleToMatch(final Tuple t) {
559 try {
560 return TwoMembersHaveNoParent.Match.newMatch((Member) t.get(POSITION_M1), (Member) t.get(POSITION_M2));
561 } catch(ClassCastException e) {
562 LOGGER.error("Element(s) in tuple not properly typed!",e);
563 return null;
564 }
565 }
566
567 @Override
568 protected TwoMembersHaveNoParent.Match arrayToMatch(final Object[] match) {
569 try {
570 return TwoMembersHaveNoParent.Match.newMatch((Member) match[POSITION_M1], (Member) match[POSITION_M2]);
571 } catch(ClassCastException e) {
572 LOGGER.error("Element(s) in array not properly typed!",e);
573 return null;
574 }
575 }
576
577 @Override
578 protected TwoMembersHaveNoParent.Match arrayToMatchMutable(final Object[] match) {
579 try {
580 return TwoMembersHaveNoParent.Match.newMutableMatch((Member) match[POSITION_M1], (Member) match[POSITION_M2]);
581 } catch(ClassCastException e) {
582 LOGGER.error("Element(s) in array not properly typed!",e);
583 return null;
584 }
585 }
586
587 /**
588 * @return the singleton instance of the query specification of this pattern
589 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
590 *
591 */
592 public static IQuerySpecification<TwoMembersHaveNoParent.Matcher> querySpecification() {
593 return TwoMembersHaveNoParent.instance();
594 }
595 }
596
597 private TwoMembersHaveNoParent() {
598 super(GeneratedPQuery.INSTANCE);
599 }
600
601 /**
602 * @return the singleton instance of the query specification
603 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
604 *
605 */
606 public static TwoMembersHaveNoParent instance() {
607 try{
608 return LazyHolder.INSTANCE;
609 } catch (ExceptionInInitializerError err) {
610 throw processInitializerError(err);
611 }
612 }
613
614 @Override
615 protected TwoMembersHaveNoParent.Matcher instantiate(final ViatraQueryEngine engine) {
616 return TwoMembersHaveNoParent.Matcher.on(engine);
617 }
618
619 @Override
620 public TwoMembersHaveNoParent.Matcher instantiate() {
621 return TwoMembersHaveNoParent.Matcher.create();
622 }
623
624 @Override
625 public TwoMembersHaveNoParent.Match newEmptyMatch() {
626 return TwoMembersHaveNoParent.Match.newEmptyMatch();
627 }
628
629 @Override
630 public TwoMembersHaveNoParent.Match newMatch(final Object... parameters) {
631 return TwoMembersHaveNoParent.Match.newMatch((familytree.Member) parameters[0], (familytree.Member) parameters[1]);
632 }
633
634 /**
635 * Inner class allowing the singleton instance of {@link TwoMembersHaveNoParent} to be created
636 * <b>not</b> at the class load time of the outer class,
637 * but rather at the first call to {@link TwoMembersHaveNoParent#instance()}.
638 *
639 * <p> This workaround is required e.g. to support recursion.
640 *
641 */
642 private static class LazyHolder {
643 private static final TwoMembersHaveNoParent INSTANCE = new TwoMembersHaveNoParent();
644
645 /**
646 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
647 * This initialization order is required to support indirect recursion.
648 *
649 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
650 *
651 */
652 private static final Object STATIC_INITIALIZER = ensureInitialized();
653
654 public static Object ensureInitialized() {
655 INSTANCE.ensureInitializedInternal();
656 return null;
657 }
658 }
659
660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
661 private static final TwoMembersHaveNoParent.GeneratedPQuery INSTANCE = new GeneratedPQuery();
662
663 private final PParameter parameter_m1 = new PParameter("m1", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
664
665 private final PParameter parameter_m2 = new PParameter("m2", "familytree.Member", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/familytree", "Member")), PParameterDirection.INOUT);
666
667 private final List<PParameter> parameters = Arrays.asList(parameter_m1, parameter_m2);
668
669 private GeneratedPQuery() {
670 super(PVisibility.PUBLIC);
671 }
672
673 @Override
674 public String getFullyQualifiedName() {
675 return "queries.twoMembersHaveNoParent";
676 }
677
678 @Override
679 public List<String> getParameterNames() {
680 return Arrays.asList("m1","m2");
681 }
682
683 @Override
684 public List<PParameter> getParameters() {
685 return parameters;
686 }
687
688 @Override
689 public Set<PBody> doGetContainedBodies() {
690 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
691 Set<PBody> bodies = new LinkedHashSet<>();
692 {
693 PBody body = new PBody(this);
694 PVariable var_m1 = body.getOrCreateVariableByName("m1");
695 PVariable var_m2 = body.getOrCreateVariableByName("m2");
696 new TypeConstraint(body, Tuples.flatTupleOf(var_m1), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
697 new TypeConstraint(body, Tuples.flatTupleOf(var_m2), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/familytree", "Member")));
698 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
699 new ExportedParameter(body, var_m1, parameter_m1),
700 new ExportedParameter(body, var_m2, parameter_m2)
701 ));
702 // neg find memberHasParent(m1)
703 new NegativePatternCall(body, Tuples.flatTupleOf(var_m1), MemberHasParent.instance().getInternalQueryRepresentation());
704 // neg find memberHasParent(m2)
705 new NegativePatternCall(body, Tuples.flatTupleOf(var_m2), MemberHasParent.instance().getInternalQueryRepresentation());
706 // m1 != m2
707 new Inequality(body, var_m1, var_m2);
708 bodies.add(body);
709 }
710 {
711 PAnnotation annotation = new PAnnotation("Constraint");
712 annotation.addAttribute("message", "twoMembersHaveNoParent");
713 annotation.addAttribute("severity", "error");
714 annotation.addAttribute("key", Arrays.asList(new Object[] {
715 new ParameterReference("m1"),
716 new ParameterReference("m2")
717 }));
718 addAnnotation(annotation);
719 }
720 return bodies;
721 }
722 }
723}
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/xtend-gen/converter/.gitignore b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/xtend-gen/converter/.gitignore
index 2df5d1c0..7a39cb70 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/xtend-gen/converter/.gitignore
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/xtend-gen/converter/.gitignore
@@ -1 +1,3 @@
1/.UML2TGF.java._trace 1/.UML2TGF.java._trace
2/.UML2TGF.xtendbin
3/UML2TGF.java